<?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>31567</bug_id>
          
          <creation_ts>2009-11-16 14:44:00 -0800</creation_ts>
          <short_desc>event handler in &lt;script...for&gt; should not get executed</short_desc>
          <delta_ts>2009-11-17 16:52:05 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Johnny(Jianning) Ding">jnd</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>anantha</cc>
    
    <cc>beidson</cc>
    
    <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dimich</cc>
    
    <cc>emacemac7</cc>
    
    <cc>fishd</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>164090</commentid>
    <comment_count>0</comment_count>
    <who name="Johnny(Jianning) Ding">jnd</who>
    <bug_when>2009-11-16 14:44:00 -0800</bug_when>
    <thetext>According to bug 21193 and 16915, the event handler in &lt;script...for&gt; should not get executed. The CL (http://trac.webkit.org/changeset/43061) was to fix this problem.
However, in current implementation, if a script tag has type or language attribute, the event handler in &lt;script...for&gt; can be executed in WebKit.

If you copy the following example code in a html page, a alert box will be seen.
&lt;script type=&quot;text/javascript&quot; for=&quot;Object1&quot; event=&quot;onclick&quot;&gt; alert(&quot;click pic&quot;); &lt;/script&gt;

I write a patch to fix it. Will upload soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>164097</commentid>
    <comment_count>1</comment_count>
      <attachid>43328</attachid>
    <who name="Johnny(Jianning) Ding">jnd</who>
    <bug_when>2009-11-16 14:56:33 -0800</bug_when>
    <thetext>Created attachment 43328
patch v1 to fix this issue</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>164109</commentid>
    <comment_count>2</comment_count>
      <attachid>43328</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-11-16 15:31:09 -0800</bug_when>
    <thetext>Comment on attachment 43328
patch v1 to fix this issue

&gt; +    // No type or language is specified, so we assume the script to be JavaScript.
&gt; +    bool isJavaScript = true;

I don&apos;t think it makes sense to move this comment up to the top of the function without changing it. Perhaps if you are moving it, it could say &quot;// Assume the script is JavaScript if no type or language is specified.&quot;

&gt;      String type = m_scriptElement-&gt;typeAttributeValue();
&gt;      if (!type.isEmpty())
&gt; -        return MIMETypeRegistry::isSupportedJavaScriptMIMEType(type.stripWhiteSpace().lower());
&gt; +        isJavaScript = MIMETypeRegistry::isSupportedJavaScriptMIMEType(type.stripWhiteSpace().lower());
&gt;  
&gt;      String language = m_scriptElement-&gt;languageAttributeValue();
&gt;      if (!language.isEmpty())
&gt; -        return isSupportedJavaScriptLanguage(language);
&gt; +        isJavaScript = isSupportedJavaScriptLanguage(language);
&gt;  
&gt; -    // No type or language is specified, so we assume the script to be JavaScript.

I think it would be good to use nested ifs and return early if the answer is known to be false. You would not need a boolean then. If you really did want the boolean, then maybe we could factor that check out into a separate function for clarity. Here is my suggested nested if form:

    String type = m_scriptElement-&gt;typeAttributeValue();
    if (!type.isEmpty()) {
        if (!MIMETypeRegistry::isSupportedJavaScriptMIMEType(type.stripWhiteSpace().lower()))
            return false;
    } else {
        String language = m_scriptElement-&gt;languageAttributeValue();
        if (!language.isEmpty() &amp;&amp; !isSupportedJavaScriptLanguage(language))
            return false;
    }

Your change to the code changes the logic, causing the language to take precedence over the type if both are present. The old code would check the type first and return a result based only on the type. The new code checks the language second, and overwrites the value based on the type. This should cause at least one existing test case to fail. If it doesn&apos;t, then we need better test cases!

&gt; -    String forAttribute = m_scriptElement-&gt;forAttributeValue();
&gt; -    return forAttribute.isEmpty();
&gt; +    if (isJavaScript) {
&gt; +        String forAttribute = m_scriptElement-&gt;forAttributeValue();
&gt; +        return forAttribute.isEmpty();
&gt; +    }
&gt; +    return false;

We normally would do an early exit here.

    if (!isJavaScript)
        return false;

And leave the other code in place. If you take my suggestion about changing things around then you won&apos;t need to change this part of the function at all, though.

review- because this reverses the precedence between type and language by accident.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>164120</commentid>
    <comment_count>3</comment_count>
    <who name="Johnny(Jianning) Ding">jnd</who>
    <bug_when>2009-11-16 17:20:38 -0800</bug_when>
    <thetext>Thanks Darin!
You are right, my previous patch did change the check logic of type and
language. (I added &quot;if (!isJavaScript)&quot; check before checking language on my
chromium build, but somehow I missed it when writing patch on Mac WebKit
build.)

According to your comments, I dropped the isJavaScript variable.
Please take another look!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>164121</commentid>
    <comment_count>4</comment_count>
      <attachid>43333</attachid>
    <who name="Johnny(Jianning) Ding">jnd</who>
    <bug_when>2009-11-16 17:23:06 -0800</bug_when>
    <thetext>Created attachment 43333
patch v2 for fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>164124</commentid>
    <comment_count>5</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2009-11-16 17:32:44 -0800</bug_when>
    <thetext>*** Bug 16915 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>164266</commentid>
    <comment_count>6</comment_count>
    <who name="Johnny(Jianning) Ding">jnd</who>
    <bug_when>2009-11-17 10:19:46 -0800</bug_when>
    <thetext>HI Darin

Will you or other committers help on landing this patch, right? I am still working on earning the committers privilege:)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>164393</commentid>
    <comment_count>7</comment_count>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2009-11-17 16:52:05 -0800</bug_when>
    <thetext>Landed: http://trac.webkit.org/changeset/51097</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43328</attachid>
            <date>2009-11-16 14:56:33 -0800</date>
            <delta_ts>2009-11-16 17:23:06 -0800</delta_ts>
            <desc>patch v1 to fix this issue</desc>
            <filename>patch4.txt</filename>
            <type>text/plain</type>
            <size>8261</size>
            <attacher name="Johnny(Jianning) Ding">jnd</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MTA1MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMDktMTEtMTYgIEpvaG5ueSBEaW5nICA8am5kQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBh
bGwgdmFsaWQgc2NyaXB0IHRhZ3MgZm9yIEphdmFTY3JpcHQsIHRoZSBldmVudCBoYW5kbGVyIGlu
IDxzY3JpcHQuLi5mb3I+IHNob3VsZCBub3QgZ2V0IGV4ZWN1dGVkLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzE1NjcKKworICAgICAgICAqIGRvbS9T
Y3JpcHRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEVsZW1lbnREYXRhOjpz
aG91bGRFeGVjdXRlQXNKYXZhU2NyaXB0KToKKwogMjAwOS0xMS0xNCAgWWFlbCBBaGFyb24gIDx5
YWVsLmFoYXJvbkBub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hk
ZSBDaHJpc3RpYW5zZW4uCkluZGV4OiBXZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcAkocmV2aXNpb24gNTEwNDIp
CisrKyBXZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjIx
LDYgKzIyMSw4IEBAIGJvb2wgU2NyaXB0RWxlbWVudERhdGE6Omlnbm9yZXNMb2FkUmVxdWUKIAog
Ym9vbCBTY3JpcHRFbGVtZW50RGF0YTo6c2hvdWxkRXhlY3V0ZUFzSmF2YVNjcmlwdCgpIGNvbnN0
CiB7CisgICAgLy8gTm8gdHlwZSBvciBsYW5ndWFnZSBpcyBzcGVjaWZpZWQsIHNvIHdlIGFzc3Vt
ZSB0aGUgc2NyaXB0IHRvIGJlIEphdmFTY3JpcHQuCisgICAgYm9vbCBpc0phdmFTY3JpcHQgPSB0
cnVlOwogICAgIC8qCiAgICAgICAgICBNb3ppbGxhIDEuOCBhY2NlcHRzIGphdmFzY3JpcHQxLjAg
LSBqYXZhc2NyaXB0MS43LCBidXQgV2luSUUgNyBhY2NlcHRzIG9ubHkgamF2YXNjcmlwdDEuMSAt
IGphdmFzY3JpcHQxLjMuCiAgICAgICAgICBNb3ppbGxhIDEuOCBhbmQgV2luSUUgNyBib3RoIGFj
Y2VwdCBqYXZhc2NyaXB0IGFuZCBsaXZlc2NyaXB0LgpAQCAtMjMwLDIxICsyMzIsMjMgQEAgYm9v
bCBTY3JpcHRFbGVtZW50RGF0YTo6c2hvdWxkRXhlY3V0ZUFzSgogICAgICAqLwogICAgIFN0cmlu
ZyB0eXBlID0gbV9zY3JpcHRFbGVtZW50LT50eXBlQXR0cmlidXRlVmFsdWUoKTsKICAgICBpZiAo
IXR5cGUuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBw
b3J0ZWRKYXZhU2NyaXB0TUlNRVR5cGUodHlwZS5zdHJpcFdoaXRlU3BhY2UoKS5sb3dlcigpKTsK
KyAgICAgICAgaXNKYXZhU2NyaXB0ID0gTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRKYXZh
U2NyaXB0TUlNRVR5cGUodHlwZS5zdHJpcFdoaXRlU3BhY2UoKS5sb3dlcigpKTsKIAogICAgIFN0
cmluZyBsYW5ndWFnZSA9IG1fc2NyaXB0RWxlbWVudC0+bGFuZ3VhZ2VBdHRyaWJ1dGVWYWx1ZSgp
OwogICAgIGlmICghbGFuZ3VhZ2UuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gaXNTdXBwb3J0
ZWRKYXZhU2NyaXB0TGFuZ3VhZ2UobGFuZ3VhZ2UpOworICAgICAgICBpc0phdmFTY3JpcHQgPSBp
c1N1cHBvcnRlZEphdmFTY3JpcHRMYW5ndWFnZShsYW5ndWFnZSk7CiAKLSAgICAvLyBObyB0eXBl
IG9yIGxhbmd1YWdlIGlzIHNwZWNpZmllZCwgc28gd2UgYXNzdW1lIHRoZSBzY3JpcHQgdG8gYmUg
SmF2YVNjcmlwdC4KICAgICAvLyBXZSBkb24ndCB5ZXQgc3VwcG9ydCBzZXR0aW5nIGV2ZW50IGxp
c3RlbmVycyB2aWEgdGhlICdmb3InIGF0dHJpYnV0ZSBmb3Igc2NyaXB0cy4KICAgICAvLyBJZiB0
aGVyZSBpcyBzdWNoIGFuIGF0dHJpYnV0ZSBpdCdzIGxpa2VseSBiZXR0ZXIgdG8gbm90IGV4ZWN1
dGUgdGhlIHNjcmlwdCB0aGFuIHRvIGRvIHNvCiAgICAgLy8gaW1tZWRpYXRlbHkgYW5kIHVuY29u
ZGl0aW9uYWxseS4KICAgICAvLyBGSVhNRTogQWZ0ZXIgPHJkYXI6Ly9wcm9ibGVtLzQ0NzE3NTE+
IC8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2OTE1IGFyZSByZXNv
bHZlZCAKICAgICAvLyBhbmQgd2Ugc3VwcG9ydCB0aGUgZm9yIHN5bnRheCBpbiBzY3JpcHQgdGFn
cywgdGhpcyBjaGVjayBjYW4gYmUgcmVtb3ZlZCBhbmQgd2Ugc2hvdWxkIGp1c3QKICAgICAvLyBy
ZXR1cm4gJ3RydWUnIGhlcmUuCi0gICAgU3RyaW5nIGZvckF0dHJpYnV0ZSA9IG1fc2NyaXB0RWxl
bWVudC0+Zm9yQXR0cmlidXRlVmFsdWUoKTsKLSAgICByZXR1cm4gZm9yQXR0cmlidXRlLmlzRW1w
dHkoKTsKKyAgICBpZiAoaXNKYXZhU2NyaXB0KSB7CisgICAgICAgIFN0cmluZyBmb3JBdHRyaWJ1
dGUgPSBtX3NjcmlwdEVsZW1lbnQtPmZvckF0dHJpYnV0ZVZhbHVlKCk7CisgICAgICAgIHJldHVy
biBmb3JBdHRyaWJ1dGUuaXNFbXB0eSgpOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7CiB9CiAK
IFN0cmluZyBTY3JpcHRFbGVtZW50RGF0YTo6c2NyaXB0Q2hhcnNldCgpIGNvbnN0CkluZGV4OiBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MTA1MikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDE3IEBACisyMDA5LTExLTE2ICBKb2hubnkgRGluZyAgPGpuZEBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
SW4gYWxsIHZhbGlkIHNjcmlwdCB0YWdzIGZvciBKYXZhU2NyaXB0LCB0aGUgZXZlbnQgaGFuZGxl
ciBpbiA8c2NyaXB0Li4uZm9yPiBzaG91bGQgbm90IGdldCBleGVjdXRlZC4KKyAgICAgICAgQ2hh
bmdlIHRoZSBvcmlnaW5hbCB0ZXN0IHRvIHB1cmUganMgdGVzdCwgYW5kIHRlc3QgdGhlIHNpdHVh
dGlvbiBhYm91dCBzY3JpcHQgdGFncyB3aGljaCBoYXZlIHRleHQgb3IgbGFuZ3VhZ2UgYXR0cmli
dXRlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzE1
NjcKKworICAgICAgICAqIGZhc3QvZG9tL0hUTUxTY3JpcHRFbGVtZW50L3NjcmlwdC1mb3ItYXR0
cmlidXRlLXVuZXhwZWN0ZWQtZXhlY3V0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0
L2RvbS9IVE1MU2NyaXB0RWxlbWVudC9zY3JpcHQtZm9yLWF0dHJpYnV0ZS11bmV4cGVjdGVkLWV4
ZWN1dGlvbi5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxTY3JpcHRFbGVtZW50L3Njcmlw
dC10ZXN0czogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTFNjcmlwdEVsZW1lbnQvc2Ny
aXB0LXRlc3RzL3NjcmlwdC1mb3ItYXR0cmlidXRlLXVuZXhwZWN0ZWQtZXhlY3V0aW9uLmpzOiBB
ZGRlZC4KKyAgICAgICAgKFNjcmlwdEZvckF0dHJpYnV0ZUV4ZWN1dGUpOgorCiAyMDA5LTExLTE2
ICBLZW5uZXRoIFJ1c3NlbGwgIDxrYnJAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBPbGl2ZXIgSHVudC4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxTY3JpcHRFbGVt
ZW50L3NjcmlwdC1mb3ItYXR0cmlidXRlLXVuZXhwZWN0ZWQtZXhlY3V0aW9uLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MU2NyaXB0RWxlbWVudC9z
Y3JpcHQtZm9yLWF0dHJpYnV0ZS11bmV4cGVjdGVkLWV4ZWN1dGlvbi1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDUxMDQyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTFNjcmlwdEVsZW1lbnQv
c2NyaXB0LWZvci1hdHRyaWJ1dGUtdW5leHBlY3RlZC1leGVjdXRpb24tZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKIElmIGEgc2NyaXB0IGhhcyBhIGZvciBhdHRy
aWJ1dGUsIHRoZW4gaXQgd2FzIGludGVuZGVkIHRvIG9ubHkgYmUgcnVuIHVuZGVyIGNlcnRhaW4g
Y29uZGl0aW9ucywgb2Z0ZW4gYXMgYSByZXN1bHQgb2YgYSBjZXJ0YWluIHdpbmRvdyBldmVudC4K
IFNpbmNlIHdlIGRvbid0IHlldCBzdXBwb3J0IHRoZSBmdWxsIGZvciBhdHRyaWJ1dGUgc3ludGF4
IHdlIHdvdWxkIHJ1biB0aGVzZSBzY3JpcHRzIGFzIHdlIHBhcnNlZCB0aGVtLCBvZnRlbiBjYXVz
aW5nIHVuaW50ZW50aW9uYWwgYnJlYWthZ2Ugb2YgdGhlIHNpdGUgaW4gcXVlc3Rpb24uCi1Zb3Ug
c2hvdWxkICpub3QqIHNlZSB0aGUgYWxlcnQoKSB0aGF0IGlzIGluIGEgc2NyaXB0IGVsZW1lbnQg
b24gdGhpcyBwYWdlLiBJZiB5b3UgZG8sIHdlJ3JlIG5vdCBwcm9wZXJseSBydW5uaW5nIHRoZXNl
IHNjcmlwdHMgb25seSB3aGVuIHRoZXkgd2VyZSBpbnRlbmRlZCB0byBiZSBydW4uCitZb3Ugc2hv
dWxkICpub3QqIHNlZSBhbnkgZmFpbHVyZSB3aGVuIHJ1bm5pbmcgdGhpcyB0ZXN0LiBJZiB5b3Ug
ZG8sIHdlJ3JlIG5vdCBwcm9wZXJseSBydW5uaW5nIHRoZXNlIHNjcmlwdHMgb25seSB3aGVuIHRo
ZXkgd2VyZSBpbnRlbmRlZCB0byBiZSBydW4uCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworCitQQVNTIHNjcmlwdEZvckV4ZWN1dGVkIGlzIGZhbHNlCitQQVNTIHNjcmlwdEZvckV4ZWN1
dGVkIGlzIGZhbHNlCitQQVNTIHNjcmlwdEZvckV4ZWN1dGVkIGlzIGZhbHNlCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9kb20vSFRNTFNjcmlwdEVsZW1lbnQvc2NyaXB0LWZvci1hdHRyaWJ1dGUtdW5leHBl
Y3RlZC1leGVjdXRpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9I
VE1MU2NyaXB0RWxlbWVudC9zY3JpcHQtZm9yLWF0dHJpYnV0ZS11bmV4cGVjdGVkLWV4ZWN1dGlv
bi5odG1sCShyZXZpc2lvbiA1MTA0MikKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxTY3Jp
cHRFbGVtZW50L3NjcmlwdC1mb3ItYXR0cmlidXRlLXVuZXhwZWN0ZWQtZXhlY3V0aW9uLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMTggKzEsMTQgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KIDxodG1sPgogPGhlYWQ+Ci08c2NyaXB0PgotaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1w
QXNUZXh0KCk7Ci08L3NjcmlwdD4KLQotPHNjcmlwdCBmb3I9d2luZG93IGV2ZW50PW9ucmVzaXpl
PgotYWxlcnQoIlRoaXMgdGV4dCBzaG91bGQgb25seSBiZSBhbGVydGVkIGlmIHRoZSB3aW5kb3cg
aXMgcmVzaXppbmcuICBJZiB5b3Ugc2VlIGl0IGFzIGEgbWVyZSByZXN1bHQgb2YgdGhlIHBhZ2Ug
bG9hZGluZywgdGhlbiB5b3UncmUgc2VlaW5nIGEgc3ltcHRvbSB0aGF0IGJyZWFrcyByZWFsIHdv
cmxkIHdlYnNpdGVzIik7Ci08L3NjcmlwdD4KLQorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9k
eT4KLUlmIGEgc2NyaXB0IGhhcyBhIGZvciBhdHRyaWJ1dGUsIHRoZW4gaXQgd2FzIGludGVuZGVk
IHRvIG9ubHkgYmUgcnVuIHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucywgb2Z0ZW4gYXMgYSByZXN1
bHQgb2YgYSBjZXJ0YWluIHdpbmRvdyBldmVudC48YnI+Ci1TaW5jZSB3ZSBkb24ndCB5ZXQgc3Vw
cG9ydCB0aGUgZnVsbCBmb3IgYXR0cmlidXRlIHN5bnRheCB3ZSB3b3VsZCBydW4gdGhlc2Ugc2Ny
aXB0cyBhcyB3ZSBwYXJzZWQgdGhlbSwgb2Z0ZW4gY2F1c2luZyB1bmludGVudGlvbmFsIGJyZWFr
YWdlIG9mIHRoZSBzaXRlIGluIHF1ZXN0aW9uLjxicj4KLVlvdSBzaG91bGQgKm5vdCogc2VlIHRo
ZSBhbGVydCgpIHRoYXQgaXMgaW4gYSBzY3JpcHQgZWxlbWVudCBvbiB0aGlzIHBhZ2UuICBJZiB5
b3UgZG8sIHdlJ3JlIG5vdCBwcm9wZXJseSBydW5uaW5nIHRoZXNlIHNjcmlwdHMgb25seSB3aGVu
IHRoZXkgd2VyZSBpbnRlbmRlZCB0byBiZSBydW4uCis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9zY3Jp
cHQtZm9yLWF0dHJpYnV0ZS11bmV4cGVjdGVkLWV4ZWN1dGlvbi5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8
L2JvZHk+CiA8L2h0bWw+CisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxTY3JpcHRF
bGVtZW50L3NjcmlwdC10ZXN0cy9zY3JpcHQtZm9yLWF0dHJpYnV0ZS11bmV4cGVjdGVkLWV4ZWN1
dGlvbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MU2NyaXB0RWxl
bWVudC9zY3JpcHQtdGVzdHMvc2NyaXB0LWZvci1hdHRyaWJ1dGUtdW5leHBlY3RlZC1leGVjdXRp
b24uanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MU2NyaXB0RWxl
bWVudC9zY3JpcHQtdGVzdHMvc2NyaXB0LWZvci1hdHRyaWJ1dGUtdW5leHBlY3RlZC1leGVjdXRp
b24uanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTcgQEAKK2Rlc2NyaXB0aW9uKCJJZiBhIHNj
cmlwdCBoYXMgYSBmb3IgYXR0cmlidXRlLCB0aGVuIGl0IHdhcyBpbnRlbmRlZCB0byBvbmx5IGJl
IHJ1biB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMsIG9mdGVuIGFzIGEgcmVzdWx0IG9mIGEgY2Vy
dGFpbiB3aW5kb3cgZXZlbnQuPGJyPlNpbmNlIHdlIGRvbid0IHlldCBzdXBwb3J0IHRoZSBmdWxs
IGZvciBhdHRyaWJ1dGUgc3ludGF4IHdlIHdvdWxkIHJ1biB0aGVzZSBzY3JpcHRzIGFzIHdlIHBh
cnNlZCB0aGVtLCBvZnRlbiBjYXVzaW5nIHVuaW50ZW50aW9uYWwgYnJlYWthZ2Ugb2YgdGhlIHNp
dGUgaW4gcXVlc3Rpb24uPGJyPllvdSBzaG91bGQgKm5vdCogc2VlIGFueSBmYWlsdXJlIHdoZW4g
cnVubmluZyB0aGlzIHRlc3QuIElmIHlvdSBkbywgd2UncmUgbm90IHByb3Blcmx5IHJ1bm5pbmcg
dGhlc2Ugc2NyaXB0cyBvbmx5IHdoZW4gdGhleSB3ZXJlIGludGVuZGVkIHRvIGJlIHJ1bi4iKTsK
KworLy8gQSB2YXJpYWJsZSBpbmRpY2F0ZXMgdGhlIHNjcmlwdC1mb3IgYXR0cmlidXRlIGRvZXNu
J3QgZ2V0IGV4ZWN1dGVkIGltbWVkaWF0ZWx5LgordmFyIHNjcmlwdEZvckV4ZWN1dGVkID0gZmFs
c2U7CisKK2Z1bmN0aW9uIFNjcmlwdEZvckF0dHJpYnV0ZUV4ZWN1dGUoKSB7CisgICAgc2NyaXB0
Rm9yRXhlY3V0ZWQgPSB0cnVlOworfQorCitkb2N1bWVudC53cml0ZSgnPHNjcmlwdCBmb3I9d2lu
ZG93IGV2ZW50PW9ucmVzaXplPiBTY3JpcHRGb3JBdHRyaWJ1dGVFeGVjdXRlKCk7IDwvc2NyaXB0
PicpOworc2hvdWxkQmUoJ3NjcmlwdEZvckV4ZWN1dGVkJywgImZhbHNlIik7Citkb2N1bWVudC53
cml0ZSgnPHNjcmlwdCBmb3I9d2luZG93IGV2ZW50PW9ucmVzaXplIHR5cGU9InRleHQvamF2YXNj
cmlwdCI+IFNjcmlwdEZvckF0dHJpYnV0ZUV4ZWN1dGUoKTsgPC9zY3JpcHQ+Jyk7CitzaG91bGRC
ZSgnc2NyaXB0Rm9yRXhlY3V0ZWQnLCAiZmFsc2UiKTsKK2RvY3VtZW50LndyaXRlKCc8c2NyaXB0
IGZvcj13aW5kb3cgZXZlbnQ9b25yZXNpemUgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiPiBTY3JpcHRG
b3JBdHRyaWJ1dGVFeGVjdXRlKCk7IDwvc2NyaXB0PicpOworc2hvdWxkQmUoJ3NjcmlwdEZvckV4
ZWN1dGVkJywgImZhbHNlIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwo=
</data>
<flag name="review"
          id="25029"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43333</attachid>
            <date>2009-11-16 17:23:06 -0800</date>
            <delta_ts>2009-11-16 18:15:34 -0800</delta_ts>
            <desc>patch v2 for fix</desc>
            <filename>patch4.txt</filename>
            <type>text/plain</type>
            <size>7418</size>
            <attacher name="Johnny(Jianning) Ding">jnd</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MTA1MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMDktMTEtMTYgIEpvaG5ueSBEaW5nICA8am5kQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBh
bGwgdmFsaWQgc2NyaXB0IHRhZ3MgZm9yIEphdmFTY3JpcHQsIHRoZSBldmVudCBoYW5kbGVyIGlu
IDxzY3JpcHQuLi5mb3I+IHNob3VsZCBub3QgZ2V0IGV4ZWN1dGVkLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzE1NjcKKworICAgICAgICAqIGRvbS9T
Y3JpcHRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEVsZW1lbnREYXRhOjpz
aG91bGRFeGVjdXRlQXNKYXZhU2NyaXB0KToKKwogMjAwOS0xMS0xNCAgWWFlbCBBaGFyb24gIDx5
YWVsLmFoYXJvbkBub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hk
ZSBDaHJpc3RpYW5zZW4uCkluZGV4OiBXZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcAkocmV2aXNpb24gNTEwNDIp
CisrKyBXZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjI5
LDEyICsyMjksMTQgQEAgYm9vbCBTY3JpcHRFbGVtZW50RGF0YTo6c2hvdWxkRXhlY3V0ZUFzSgog
ICAgICAgICAgV2Ugd2FudCB0byBhY2NlcHQgYWxsIHRoZSB2YWx1ZXMgdGhhdCBlaXRoZXIgb2Yg
dGhlc2UgYnJvd3NlcnMgYWNjZXB0LCBidXQgbm90IG90aGVyIHZhbHVlcy4KICAgICAgKi8KICAg
ICBTdHJpbmcgdHlwZSA9IG1fc2NyaXB0RWxlbWVudC0+dHlwZUF0dHJpYnV0ZVZhbHVlKCk7Ci0g
ICAgaWYgKCF0eXBlLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIE1JTUVUeXBlUmVnaXN0cnk6
OmlzU3VwcG9ydGVkSmF2YVNjcmlwdE1JTUVUeXBlKHR5cGUuc3RyaXBXaGl0ZVNwYWNlKCkubG93
ZXIoKSk7Ci0KLSAgICBTdHJpbmcgbGFuZ3VhZ2UgPSBtX3NjcmlwdEVsZW1lbnQtPmxhbmd1YWdl
QXR0cmlidXRlVmFsdWUoKTsKLSAgICBpZiAoIWxhbmd1YWdlLmlzRW1wdHkoKSkKLSAgICAgICAg
cmV0dXJuIGlzU3VwcG9ydGVkSmF2YVNjcmlwdExhbmd1YWdlKGxhbmd1YWdlKTsKKyAgICBpZiAo
IXR5cGUuaXNFbXB0eSgpKSB7CisgICAgICAgIGlmICghTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBw
b3J0ZWRKYXZhU2NyaXB0TUlNRVR5cGUodHlwZS5zdHJpcFdoaXRlU3BhY2UoKS5sb3dlcigpKSkK
KyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9IGVsc2UgeworICAgICAgICBTdHJpbmcg
bGFuZ3VhZ2UgPSBtX3NjcmlwdEVsZW1lbnQtPmxhbmd1YWdlQXR0cmlidXRlVmFsdWUoKTsKKyAg
ICAgICAgaWYgKCFsYW5ndWFnZS5pc0VtcHR5KCkgJiYgIWlzU3VwcG9ydGVkSmF2YVNjcmlwdExh
bmd1YWdlKGxhbmd1YWdlKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9ICAgIAog
CiAgICAgLy8gTm8gdHlwZSBvciBsYW5ndWFnZSBpcyBzcGVjaWZpZWQsIHNvIHdlIGFzc3VtZSB0
aGUgc2NyaXB0IHRvIGJlIEphdmFTY3JpcHQuCiAgICAgLy8gV2UgZG9uJ3QgeWV0IHN1cHBvcnQg
c2V0dGluZyBldmVudCBsaXN0ZW5lcnMgdmlhIHRoZSAnZm9yJyBhdHRyaWJ1dGUgZm9yIHNjcmlw
dHMuCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA1MTA1MikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDA5LTExLTE2ICBKb2hubnkgRGluZyAg
PGpuZEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSW4gYWxsIHZhbGlkIHNjcmlwdCB0YWdzIGZvciBKYXZhU2NyaXB0LCB0aGUg
ZXZlbnQgaGFuZGxlciBpbiA8c2NyaXB0Li4uZm9yPiBzaG91bGQgbm90IGdldCBleGVjdXRlZC4K
KyAgICAgICAgQ2hhbmdlIHRoZSBvcmlnaW5hbCB0ZXN0IHRvIHB1cmUganMgdGVzdCwgYW5kIHRl
c3QgdGhlIHNpdHVhdGlvbiBhYm91dCBzY3JpcHQgdGFncyB3aGljaCBoYXZlIHRleHQgb3IgbGFu
Z3VhZ2UgYXR0cmlidXRlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MzE1NjcKKworICAgICAgICAqIGZhc3QvZG9tL0hUTUxTY3JpcHRFbGVtZW50L3Nj
cmlwdC1mb3ItYXR0cmlidXRlLXVuZXhwZWN0ZWQtZXhlY3V0aW9uLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBmYXN0L2RvbS9IVE1MU2NyaXB0RWxlbWVudC9zY3JpcHQtZm9yLWF0dHJpYnV0ZS11
bmV4cGVjdGVkLWV4ZWN1dGlvbi5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxTY3JpcHRF
bGVtZW50L3NjcmlwdC10ZXN0czogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTFNjcmlw
dEVsZW1lbnQvc2NyaXB0LXRlc3RzL3NjcmlwdC1mb3ItYXR0cmlidXRlLXVuZXhwZWN0ZWQtZXhl
Y3V0aW9uLmpzOiBBZGRlZC4KKyAgICAgICAgKFNjcmlwdEZvckF0dHJpYnV0ZUV4ZWN1dGUpOgor
CiAyMDA5LTExLTE2ICBLZW5uZXRoIFJ1c3NlbGwgIDxrYnJAZ29vZ2xlLmNvbT4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBPbGl2ZXIgSHVudC4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxTY3JpcHRFbGVtZW50L3NjcmlwdC1mb3ItYXR0cmlidXRlLXVuZXhwZWN0ZWQtZXhlY3V0aW9u
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MU2Ny
aXB0RWxlbWVudC9zY3JpcHQtZm9yLWF0dHJpYnV0ZS11bmV4cGVjdGVkLWV4ZWN1dGlvbi1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDUxMDQyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTFNj
cmlwdEVsZW1lbnQvc2NyaXB0LWZvci1hdHRyaWJ1dGUtdW5leHBlY3RlZC1leGVjdXRpb24tZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKIElmIGEgc2NyaXB0IGhh
cyBhIGZvciBhdHRyaWJ1dGUsIHRoZW4gaXQgd2FzIGludGVuZGVkIHRvIG9ubHkgYmUgcnVuIHVu
ZGVyIGNlcnRhaW4gY29uZGl0aW9ucywgb2Z0ZW4gYXMgYSByZXN1bHQgb2YgYSBjZXJ0YWluIHdp
bmRvdyBldmVudC4KIFNpbmNlIHdlIGRvbid0IHlldCBzdXBwb3J0IHRoZSBmdWxsIGZvciBhdHRy
aWJ1dGUgc3ludGF4IHdlIHdvdWxkIHJ1biB0aGVzZSBzY3JpcHRzIGFzIHdlIHBhcnNlZCB0aGVt
LCBvZnRlbiBjYXVzaW5nIHVuaW50ZW50aW9uYWwgYnJlYWthZ2Ugb2YgdGhlIHNpdGUgaW4gcXVl
c3Rpb24uCi1Zb3Ugc2hvdWxkICpub3QqIHNlZSB0aGUgYWxlcnQoKSB0aGF0IGlzIGluIGEgc2Ny
aXB0IGVsZW1lbnQgb24gdGhpcyBwYWdlLiBJZiB5b3UgZG8sIHdlJ3JlIG5vdCBwcm9wZXJseSBy
dW5uaW5nIHRoZXNlIHNjcmlwdHMgb25seSB3aGVuIHRoZXkgd2VyZSBpbnRlbmRlZCB0byBiZSBy
dW4uCitZb3Ugc2hvdWxkICpub3QqIHNlZSBhbnkgZmFpbHVyZSB3aGVuIHJ1bm5pbmcgdGhpcyB0
ZXN0LiBJZiB5b3UgZG8sIHdlJ3JlIG5vdCBwcm9wZXJseSBydW5uaW5nIHRoZXNlIHNjcmlwdHMg
b25seSB3aGVuIHRoZXkgd2VyZSBpbnRlbmRlZCB0byBiZSBydW4uCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitQQVNTIHNjcmlwdEZvckV4ZWN1dGVkIGlzIGZhbHNlCitQQVNTIHNj
cmlwdEZvckV4ZWN1dGVkIGlzIGZhbHNlCitQQVNTIHNjcmlwdEZvckV4ZWN1dGVkIGlzIGZhbHNl
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTFNjcmlwdEVsZW1lbnQvc2NyaXB0LWZvci1hdHRy
aWJ1dGUtdW5leHBlY3RlZC1leGVjdXRpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MU2NyaXB0RWxlbWVudC9zY3JpcHQtZm9yLWF0dHJpYnV0ZS11bmV4cGVj
dGVkLWV4ZWN1dGlvbi5odG1sCShyZXZpc2lvbiA1MTA0MikKKysrIExheW91dFRlc3RzL2Zhc3Qv
ZG9tL0hUTUxTY3JpcHRFbGVtZW50L3NjcmlwdC1mb3ItYXR0cmlidXRlLXVuZXhwZWN0ZWQtZXhl
Y3V0aW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTggKzEsMTQgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KIDxodG1sPgogPGhlYWQ+Ci08c2Ny
aXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5kdW1wQXNUZXh0KCk7Ci08L3NjcmlwdD4KLQotPHNjcmlwdCBmb3I9d2luZG93IGV2
ZW50PW9ucmVzaXplPgotYWxlcnQoIlRoaXMgdGV4dCBzaG91bGQgb25seSBiZSBhbGVydGVkIGlm
IHRoZSB3aW5kb3cgaXMgcmVzaXppbmcuICBJZiB5b3Ugc2VlIGl0IGFzIGEgbWVyZSByZXN1bHQg
b2YgdGhlIHBhZ2UgbG9hZGluZywgdGhlbiB5b3UncmUgc2VlaW5nIGEgc3ltcHRvbSB0aGF0IGJy
ZWFrcyByZWFsIHdvcmxkIHdlYnNpdGVzIik7Ci08L3NjcmlwdD4KLQorPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CiA8
L2hlYWQ+CiA8Ym9keT4KLUlmIGEgc2NyaXB0IGhhcyBhIGZvciBhdHRyaWJ1dGUsIHRoZW4gaXQg
d2FzIGludGVuZGVkIHRvIG9ubHkgYmUgcnVuIHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucywgb2Z0
ZW4gYXMgYSByZXN1bHQgb2YgYSBjZXJ0YWluIHdpbmRvdyBldmVudC48YnI+Ci1TaW5jZSB3ZSBk
b24ndCB5ZXQgc3VwcG9ydCB0aGUgZnVsbCBmb3IgYXR0cmlidXRlIHN5bnRheCB3ZSB3b3VsZCBy
dW4gdGhlc2Ugc2NyaXB0cyBhcyB3ZSBwYXJzZWQgdGhlbSwgb2Z0ZW4gY2F1c2luZyB1bmludGVu
dGlvbmFsIGJyZWFrYWdlIG9mIHRoZSBzaXRlIGluIHF1ZXN0aW9uLjxicj4KLVlvdSBzaG91bGQg
Km5vdCogc2VlIHRoZSBhbGVydCgpIHRoYXQgaXMgaW4gYSBzY3JpcHQgZWxlbWVudCBvbiB0aGlz
IHBhZ2UuICBJZiB5b3UgZG8sIHdlJ3JlIG5vdCBwcm9wZXJseSBydW5uaW5nIHRoZXNlIHNjcmlw
dHMgb25seSB3aGVuIHRoZXkgd2VyZSBpbnRlbmRlZCB0byBiZSBydW4uCis8cCBpZD0iZGVzY3Jp
cHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlw
dC10ZXN0cy9zY3JpcHQtZm9yLWF0dHJpYnV0ZS11bmV4cGVjdGVkLWV4ZWN1dGlvbi5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9t
L0hUTUxTY3JpcHRFbGVtZW50L3NjcmlwdC10ZXN0cy9zY3JpcHQtZm9yLWF0dHJpYnV0ZS11bmV4
cGVjdGVkLWV4ZWN1dGlvbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9I
VE1MU2NyaXB0RWxlbWVudC9zY3JpcHQtdGVzdHMvc2NyaXB0LWZvci1hdHRyaWJ1dGUtdW5leHBl
Y3RlZC1leGVjdXRpb24uanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9I
VE1MU2NyaXB0RWxlbWVudC9zY3JpcHQtdGVzdHMvc2NyaXB0LWZvci1hdHRyaWJ1dGUtdW5leHBl
Y3RlZC1leGVjdXRpb24uanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTcgQEAKK2Rlc2NyaXB0
aW9uKCJJZiBhIHNjcmlwdCBoYXMgYSBmb3IgYXR0cmlidXRlLCB0aGVuIGl0IHdhcyBpbnRlbmRl
ZCB0byBvbmx5IGJlIHJ1biB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMsIG9mdGVuIGFzIGEgcmVz
dWx0IG9mIGEgY2VydGFpbiB3aW5kb3cgZXZlbnQuPGJyPlNpbmNlIHdlIGRvbid0IHlldCBzdXBw
b3J0IHRoZSBmdWxsIGZvciBhdHRyaWJ1dGUgc3ludGF4IHdlIHdvdWxkIHJ1biB0aGVzZSBzY3Jp
cHRzIGFzIHdlIHBhcnNlZCB0aGVtLCBvZnRlbiBjYXVzaW5nIHVuaW50ZW50aW9uYWwgYnJlYWth
Z2Ugb2YgdGhlIHNpdGUgaW4gcXVlc3Rpb24uPGJyPllvdSBzaG91bGQgKm5vdCogc2VlIGFueSBm
YWlsdXJlIHdoZW4gcnVubmluZyB0aGlzIHRlc3QuIElmIHlvdSBkbywgd2UncmUgbm90IHByb3Bl
cmx5IHJ1bm5pbmcgdGhlc2Ugc2NyaXB0cyBvbmx5IHdoZW4gdGhleSB3ZXJlIGludGVuZGVkIHRv
IGJlIHJ1bi4iKTsKKworLy8gQSB2YXJpYWJsZSBpbmRpY2F0ZXMgdGhlIHNjcmlwdC1mb3IgYXR0
cmlidXRlIGRvZXNuJ3QgZ2V0IGV4ZWN1dGVkIGltbWVkaWF0ZWx5LgordmFyIHNjcmlwdEZvckV4
ZWN1dGVkID0gZmFsc2U7CisKK2Z1bmN0aW9uIFNjcmlwdEZvckF0dHJpYnV0ZUV4ZWN1dGUoKSB7
CisgICAgc2NyaXB0Rm9yRXhlY3V0ZWQgPSB0cnVlOworfQorCitkb2N1bWVudC53cml0ZSgnPHNj
cmlwdCBmb3I9d2luZG93IGV2ZW50PW9ucmVzaXplPiBTY3JpcHRGb3JBdHRyaWJ1dGVFeGVjdXRl
KCk7IDwvc2NyaXB0PicpOworc2hvdWxkQmUoJ3NjcmlwdEZvckV4ZWN1dGVkJywgImZhbHNlIik7
Citkb2N1bWVudC53cml0ZSgnPHNjcmlwdCBmb3I9d2luZG93IGV2ZW50PW9ucmVzaXplIHR5cGU9
InRleHQvamF2YXNjcmlwdCI+IFNjcmlwdEZvckF0dHJpYnV0ZUV4ZWN1dGUoKTsgPC9zY3JpcHQ+
Jyk7CitzaG91bGRCZSgnc2NyaXB0Rm9yRXhlY3V0ZWQnLCAiZmFsc2UiKTsKK2RvY3VtZW50Lndy
aXRlKCc8c2NyaXB0IGZvcj13aW5kb3cgZXZlbnQ9b25yZXNpemUgbGFuZ3VhZ2U9ImphdmFzY3Jp
cHQiPiBTY3JpcHRGb3JBdHRyaWJ1dGVFeGVjdXRlKCk7IDwvc2NyaXB0PicpOworc2hvdWxkQmUo
J3NjcmlwdEZvckV4ZWN1dGVkJywgImZhbHNlIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOwo=
</data>
<flag name="review"
          id="25035"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>