<?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>84251</bug_id>
          
          <creation_ts>2012-04-18 10:05:12 -0700</creation_ts>
          <short_desc>[shadow] needs style recalculation by changing applyAuthorStyles dynamically</short_desc>
          <delta_ts>2012-05-20 17:49:22 -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>DOM</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>
          
          <blocked>63601</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Takashi Sakamoto">tasak</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>morrita</cc>
    
    <cc>tasak</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>604845</commentid>
    <comment_count>0</comment_count>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2012-04-18 10:05:12 -0700</bug_when>
    <thetext>Currently applyAuthorStyles API doesn&apos;t cause style recalculation. Only when attaching elements (i.e. when creating renderer), applyAuthorStyles works. It should cause style recalculation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622686</commentid>
    <comment_count>1</comment_count>
      <attachid>141647</attachid>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2012-05-13 23:34:29 -0700</bug_when>
    <thetext>Created attachment 141647
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624979</commentid>
    <comment_count>2</comment_count>
      <attachid>141647</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-05-15 22:22:28 -0700</bug_when>
    <thetext>Comment on attachment 141647
Patch

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

In addition to reftests, It would be desired to check style value using widow.getComputedStyle()
before and after the second change. That allows you to ensure that the value is actually changed dynamically.

&gt; Source/WebCore/dom/ShadowRoot.cpp:201
&gt; +            owner()-&gt;needsStyleRecalc();

needsStyleRecalc() doesn&apos;t have any side effect.
It looks what you want is setNeedsReattachHostChildrenAndShadow().

&gt; LayoutTests/fast/dom/shadow/shadow-root-applyAuthorStyles.html:94
&gt; +    shadowRoot.applyAuthorStyles = true;

You need to force layout here (using offsetLeft or getComputedStyle like thing)

&gt; LayoutTests/fast/dom/shadow/shadow-root-applyAuthorStyles.html:108
&gt; +    shadowRoot.applyAuthorStyles = false;

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>625020</commentid>
    <comment_count>3</comment_count>
      <attachid>142162</attachid>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2012-05-15 23:27:57 -0700</bug_when>
    <thetext>Created attachment 142162
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627465</commentid>
    <comment_count>4</comment_count>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2012-05-18 01:35:09 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 141647 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=141647&amp;action=review
&gt; 
&gt; In addition to reftests, It would be desired to check style value using widow.getComputedStyle()
&gt; before and after the second change. That allows you to ensure that the value is actually changed dynamically.
&gt; 
&gt; &gt; Source/WebCore/dom/ShadowRoot.cpp:201
&gt; &gt; +            owner()-&gt;needsStyleRecalc();
&gt; 
&gt; needsStyleRecalc() doesn&apos;t have any side effect.
&gt; It looks what you want is setNeedsReattachHostChildrenAndShadow().

Done.

&gt; &gt; LayoutTests/fast/dom/shadow/shadow-root-applyAuthorStyles.html:94
&gt; &gt; +    shadowRoot.applyAuthorStyles = true;
&gt; 
&gt; You need to force layout here (using offsetLeft or getComputedStyle like thing)
&gt; 
&gt; &gt; LayoutTests/fast/dom/shadow/shadow-root-applyAuthorStyles.html:108
&gt; &gt; +    shadowRoot.applyAuthorStyles = false;
&gt; 
&gt; Ditto.

I see. I added &quot;div.offsetLeft&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627550</commentid>
    <comment_count>5</comment_count>
      <attachid>142682</attachid>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2012-05-18 04:13:06 -0700</bug_when>
    <thetext>Created attachment 142682
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627593</commentid>
    <comment_count>6</comment_count>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2012-05-18 05:36:05 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 141647 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=141647&amp;action=review
&gt; 
&gt; In addition to reftests, It would be desired to check style value using widow.getComputedStyle()
&gt; before and after the second change. That allows you to ensure that the value is actually changed dynamically.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628678</commentid>
    <comment_count>7</comment_count>
      <attachid>142682</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-05-20 17:39:32 -0700</bug_when>
    <thetext>Comment on attachment 142682
Patch

Looks good.Thanks for the fix!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628680</commentid>
    <comment_count>8</comment_count>
      <attachid>142682</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-20 17:49:17 -0700</bug_when>
    <thetext>Comment on attachment 142682
Patch

Clearing flags on attachment: 142682

Committed r117716: &lt;http://trac.webkit.org/changeset/117716&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628681</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-20 17:49:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141647</attachid>
            <date>2012-05-13 23:34:29 -0700</date>
            <delta_ts>2012-05-15 23:27:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84251-20120514153427.patch</filename>
            <type>text/plain</type>
            <size>6152</size>
            <attacher name="Takashi Sakamoto">tasak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2OTE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjk2MGZkMjUwNWQ3NjM2
ODU0MDYwZGZkNjI5OGViYWU1OWU0ZjVmYy4uNzM3NTgzZjlkZjEzN2U4MWVmZDU3NTcwNTQ2Njk0
Mzc1MDY1NmYyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA1LTEzICBUYWth
c2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xlLmNvbT4KKworICAgICAgICBOZWVkcyBzdHlsZSBy
ZWNhbGN1bGF0aW9uIGJ5IGNoYW5naW5nIGFwcGx5QXV0aG9yU3R5bGVzIGR5bmFtaWNhbGx5Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDI1MQorCisg
ICAgICAgIE1vZGlmeWluZyBzZXRBcHBseUF1dGhvclN0eWxlcyB0byBpbnZva2Ugb3duZXIoKSdz
IG5lZWRzU3R5bGVSZWNhbGMKKyAgICAgICAgaWYgYXBwbHlBdXRob3JTdHlsZXMgY2hhbmdlcy4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcg
dGVzdHMuIEFkZGluZyBuZXcgdGVzdHMgdG8gZXhpc3RpbmcKKyAgICAgICAgZmFzdC9kb20vc2hh
ZG93L3NoYWRvdy1yb290LWFwcGx5QXV0aG9yU3R5bGVzLmh0bWwgdG8gdGVzdCB0aGlzCisgICAg
ICAgIGZlYXR1cmUuCisKKyAgICAgICAgKiBkb20vU2hhZG93Um9vdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTaGFkb3dSb290OjpzZXRBcHBseUF1dGhvclN0eWxlcyk6CisgICAgICAgIElmIGFw
cGx5QXV0aG9yU3R5bGVzIGNoYW5nZXMsIGludm9rZSBvd25lcidzIG5lZWRzU3R5bGVSZWNhbGMg
dG8KKyAgICAgICAgcmVjYWxjdWxhdGUgc3R5bGVzIG9mIHRoZSBzaGFkb3cgcm9vdCdzIGNoaWxk
IGVsZW1lbnRzLgorCiAyMDEyLTA1LTEzICBZb3NoaWZ1bWkgSW5vdWUgIDx5b3NpbkBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgW0Zvcm1zXSBNb3ZlIFZhbGlkaXR5U3RhdGUgbWV0aG9kcyBpbXBs
ZW1lbnRhdGlvbiB0byBhbm90aGVyIHBsYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vU2hhZG93Um9vdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5jcHAKaW5k
ZXggZmQzMThkMGI0MWNiZDQ3ZWY0ZmJmZGI4MDQ3ZDUzN2U0MmMyYjhlYi4uYTg3YjM5YWI2ZGM0
YWQ0MTg4NGRkYmViZTNiNWIwNjFlMzdhMTYwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL1NoYWRvd1Jvb3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmNw
cApAQCAtMTk1LDcgKzE5NSwxMSBAQCBib29sIFNoYWRvd1Jvb3Q6OmFwcGx5QXV0aG9yU3R5bGVz
KCkgY29uc3QKIAogdm9pZCBTaGFkb3dSb290OjpzZXRBcHBseUF1dGhvclN0eWxlcyhib29sIHZh
bHVlKQogewotICAgIG1fYXBwbHlBdXRob3JTdHlsZXMgPSB2YWx1ZTsKKyAgICBpZiAobV9hcHBs
eUF1dGhvclN0eWxlcyAhPSB2YWx1ZSkgeworICAgICAgICBtX2FwcGx5QXV0aG9yU3R5bGVzID0g
dmFsdWU7CisgICAgICAgIGlmIChhdHRhY2hlZCgpICYmIG93bmVyKCkpCisgICAgICAgICAgICBv
d25lcigpLT5uZWVkc1N0eWxlUmVjYWxjKCk7CisgICAgfQogfQogCiB2b2lkIFNoYWRvd1Jvb3Q6
OmF0dGFjaCgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggNjE1OTBmYzMxODk2YjY3MTM2MDkxOGZkZWU1ZTYwY2RmOTM3N2U0
NS4uZGMzYmU2ZWQxYmEwZGVhZmMxNjM0OGY2NzZjOTkyZWJiNTI1ZWJjNCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEzIEBACisyMDEyLTA1LTEzICBUYWthc2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xlLmNv
bT4KKworICAgICAgICBOZWVkcyBzdHlsZSByZWNhbGN1bGF0aW9uIGJ5IGNoYW5naW5nIGFwcGx5
QXV0aG9yU3R5bGVzIGR5bmFtaWNhbGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD04NDI1MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWFwcGx5QXV0aG9y
U3R5bGVzLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1y
b290LWFwcGx5QXV0aG9yU3R5bGVzLmh0bWw6CisKIDIwMTItMDUtMTMgIE1pa2UgTGF3dGhlciAg
PG1pa2VsYXd0aGVyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBIZWFwLXVzZS1hZnRlci1mcmVl
IGluIFdURjo6SGFzaE1hcDxpbnQsIFdURjo6UmVmUHRyPFdlYkNvcmU6OkNhbGN1bGF0aW9uVmFs
dWU+LCBXVEY6OkludEhhc2g8dW5zaWduZWQgaW50PiwgV1RGOjpIYXNoVHJhaXQKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1hcHBseUF1dGhvclN0
eWxlcy1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1y
b290LWFwcGx5QXV0aG9yU3R5bGVzLWV4cGVjdGVkLmh0bWwKaW5kZXggOTJiZTZmYWNmMjk4Njcx
NTFmODY0ODc5YzM3ZTI2NGJjNDBhY2RlMi4uZjFiNTI0NjkzOTE5ODVmNWRlYmRhNTNlNTM2YjNj
MTYyYWIzNmZkYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
dy1yb290LWFwcGx5QXV0aG9yU3R5bGVzLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWFwcGx5QXV0aG9yU3R5bGVzLWV4cGVjdGVkLmh0
bWwKQEAgLTUsNSArNSw3IEBACiA8ZGl2IGlkPSJuby1hcHBseS1hdXRob3Itc3R5bGUiPjxzcGFu
Pjwvc3Bhbj48L2Rpdj4KIDxkaXYgaWQ9IndpdGgtaW5saW5lLXN0eWxlLWRlY2xhcmF0aW9uIj48
c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojZWVmO2JvcmRlcjpub25lO2NvbG9yOiNkYWE7
ZGlzcGxheTpib3hlZC1pbmxpbmU7Zm9udC1zaXplOjE4cHg7bWFyZ2luOjJweDtvdXRsaW5lLWNv
bG9yOiNmMDA7cGFkZGluZy1sZWZ0OjVweDt0ZXh0LWFsaWduOnN0YXJ0O3RleHQtZGVjb3JhdGlv
bjpub25lOyI+PC9zcGFuPjwvZGl2PgogPGRpdiBpZD0idHJ5LXRvLW92ZXJpZGUtaW1wb3J0YW50
Ij48aW5wdXQgdHlwZT0iZmlsZSIgLz48L2Rpdj4KKzxkaXYgaWQ9ImNoYW5nZS1hcHBseS1hdXRo
b3Itc3R5bGUtZnJvbS10cnVlLXRvLWZhbHNlIj48ZGl2PjxzcGFuPjwvc3Bhbj48L2Rpdj48L2Rp
dj4KKzxkaXYgaWQ9ImNoYW5nZS1hcHBseS1hdXRob3Itc3R5bGUtZnJvbS1mYWxzZS10by10cnVl
Ij48ZGl2PjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNlZWY7Ym9yZGVyOnNvbGlkO2Nv
bG9yOiNmZWU7ZGlzcGxheTpib3hlZC1pbmxpbmU7Zm9udC1zaXplOjI0cHg7bWFyZ2luOjJweDtv
dXRsaW5lLWNvbG9yOiNmMDA7cGFkZGluZy1sZWZ0OjVweDt0ZXh0LWFsaWduOnN0YXJ0O3RleHQt
ZGVjb3JhdGlvbjp1bmRlcmxpbmU7Ij48L3NwYW4+PC9kaXY+PC9kaXY+CiA8L2JvZHk+CiA8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3Qt
YXBwbHlBdXRob3JTdHlsZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3ctcm9vdC1hcHBseUF1dGhvclN0eWxlcy5odG1sCmluZGV4IDQ0NWQ2ZDllZTdhMDQwYjI4MGJm
MDlhM2EzYzVjYjQ0MDA4MzMyZDMuLmRjOThjOWZlZmRlMTMzMWIxN2ZlYjlkYTVkNTY1MTgyOTM4
YjE4NjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9v
dC1hcHBseUF1dGhvclN0eWxlcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctcm9vdC1hcHBseUF1dGhvclN0eWxlcy5odG1sCkBAIC0yNSw2ICsyNSw4IEBAIGlu
cHV0W3R5cGU9ImZpbGUiXSB7CiA8ZGl2IGlkPSJuby1hcHBseS1hdXRob3Itc3R5bGUiPjwvZGl2
PgogPGRpdiBpZD0id2l0aC1pbmxpbmUtc3R5bGUtZGVjbGFyYXRpb24iPjwvZGl2PgogPGRpdiBp
ZD0idHJ5LXRvLW92ZXJyaWRlLWltcG9ydGFudCI+PC9kaXY+Cis8ZGl2IGlkPSJjaGFuZ2UtYXBw
bHktYXV0aG9yLXN0eWxlLWZyb20tdHJ1ZS10by1mYWxzZSI+PC9kaXY+Cis8ZGl2IGlkPSJjaGFu
Z2UtYXBwbHktYXV0aG9yLXN0eWxlLWZyb20tZmFsc2UtdG8tdHJ1ZSI+PC9kaXY+CiAKIDxzY3Jp
cHQ+CiBmdW5jdGlvbiBhc3NlcnRUcnVlKGlkLCBhY3R1YWwpIHsKQEAgLTgzLDEwICs4NSw0MCBA
QCBmdW5jdGlvbiByZW5kZXJBcHBseUF1dGhvclN0eWxlV2l0aE92ZXJyaWRpbmdJbXBvcnRhbnRQ
cm9wZXJ0eUNhc2UoKSB7CiAgICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGlucHV0IHR5cGU9
ImZpbGUiIC8+JzsKIH0KIAorZnVuY3Rpb24gdGVzdENoYW5naW5nQXBwbHlBdXRob3JTdHlsZUZy
b21UcnVlVG9GYWxzZSgpIHsKKyAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
ZGl2Jyk7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NoYW5nZS1hcHBseS1hdXRob3It
c3R5bGUtZnJvbS10cnVlLXRvLWZhbHNlJykuYXBwZW5kQ2hpbGQoZGl2KTsKKworICAgIHZhciBz
aGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICBhc3NlcnRGYWxzZSgn
ZGVmYXVsdCBhcHBseUF1dGhvclN0eWxlcycsIHNoYWRvd1Jvb3QuYXBwbHlBdXRob3JTdHlsZXMp
OworICAgIHNoYWRvd1Jvb3QuYXBwbHlBdXRob3JTdHlsZXMgPSB0cnVlOworICAgIGFzc2VydFRy
dWUoJ2FwcGx5QXV0aG9yU3R5bGVzIHNob3VsZCBiZSB0cnVlJywgc2hhZG93Um9vdC5hcHBseUF1
dGhvclN0eWxlcyk7CisgICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGRpdj48c3Bhbj48L3Nw
YW4+PC9kaXY+JzsKKyAgICBzaGFkb3dSb290LmFwcGx5QXV0aG9yU3R5bGVzID0gZmFsc2U7Cisg
ICAgYXNzZXJ0RmFsc2UoJ2FwcGx5QXV0aG9yU3R5bGVzIHNob3VsZCBiZSBmYWxzZScsIHNoYWRv
d1Jvb3QuYXBwbHlBdXRob3JTdHlsZXMpOworICAgIGRpdi5vZmZzZXRMZWZ0OworfQorCitmdW5j
dGlvbiB0ZXN0Q2hhbmdpbmdBcHBseUF1dGhvclN0eWxlRnJvbUZhbHNlVG9UcnVlKCkgeworICAg
IHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnY2hhbmdlLWFwcGx5LWF1dGhvci1zdHlsZS1mcm9tLWZhbHNlLXRvLXRy
dWUnKS5hcHBlbmRDaGlsZChkaXYpOworCisgICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChkaXYpOworICAgIGFzc2VydEZhbHNlKCdkZWZhdWx0IGFwcGx5QXV0aG9yU3R5
bGVzJywgc2hhZG93Um9vdC5hcHBseUF1dGhvclN0eWxlcyk7CisgICAgc2hhZG93Um9vdC5hcHBs
eUF1dGhvclN0eWxlcyA9IGZhbHNlOworICAgIGFzc2VydEZhbHNlKCdhcHBseUF1dGhvclN0eWxl
cyBzaG91bGQgYmUgZmFsc2UnLCBzaGFkb3dSb290LmFwcGx5QXV0aG9yU3R5bGVzKTsKKyAgICBz
aGFkb3dSb290LmlubmVySFRNTCA9ICc8ZGl2PjxzcGFuPjwvc3Bhbj48L2Rpdj4nOworICAgIHNo
YWRvd1Jvb3QuYXBwbHlBdXRob3JTdHlsZXMgPSB0cnVlOworICAgIGFzc2VydFRydWUoJ2FwcGx5
QXV0aG9yU3R5bGVzIHNob3VsZCBiZSB0cnVlJywgc2hhZG93Um9vdC5hcHBseUF1dGhvclN0eWxl
cyk7CisgICAgZGl2Lm9mZnNldExlZnQ7Cit9CisKIHJlbmRlckFwcGx5QXV0aG9yU3R5bGVDYXNl
KCk7CiByZW5kZXJOb0FwcGx5QXV0aG9yU3R5bGVDYXNlKCk7CiByZW5kZXJBcHBseUF1dGhvclN0
eWxlV2l0aElubGluZVN0eWxlRGVjbGFyYXRpb25DYXNlKCk7CiByZW5kZXJBcHBseUF1dGhvclN0
eWxlV2l0aE92ZXJyaWRpbmdJbXBvcnRhbnRQcm9wZXJ0eUNhc2UoKTsKK3Rlc3RDaGFuZ2luZ0Fw
cGx5QXV0aG9yU3R5bGVGcm9tVHJ1ZVRvRmFsc2UoKTsKK3Rlc3RDaGFuZ2luZ0FwcGx5QXV0aG9y
U3R5bGVGcm9tRmFsc2VUb1RydWUoKTsKIDwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142162</attachid>
            <date>2012-05-15 23:27:57 -0700</date>
            <delta_ts>2012-05-18 04:12:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84251-20120516152755.patch</filename>
            <type>text/plain</type>
            <size>6137</size>
            <attacher name="Takashi Sakamoto">tasak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3MjIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjY0NWNlZmQxNGM1NjQx
NTUzNmY2MmUzZTg2ZDA1NjQ5MjcwZTJmNC4uYmUyOGExZmI5NTExYWViYzhmYWJhYTMzMjdlYzRl
YTQ3ZTFhNmNhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA1LTE1ICBUYWth
c2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xlLmNvbT4KKworICAgICAgICBOZWVkcyBzdHlsZSBy
ZWNhbGN1bGF0aW9uIGJ5IGNoYW5naW5nIGFwcGx5QXV0aG9yU3R5bGVzIGR5bmFtaWNhbGx5Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDI1MQorCisg
ICAgICAgIE1vZGlmeWluZyBzZXRBcHBseUF1dGhvclN0eWxlcyB0byBpbnZva2Ugb3duZXIoKSdz
CisgICAgICAgIHNldE5lZWRzUmVkaXN0cmlidXRpbmcgaWYgYXBwbHlBdXRob3JTdHlsZXMgY2hh
bmdlcy4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBO
byBuZXcgdGVzdHMuIEFkZGluZyBuZXcgdGVzdHMgdG8gZXhpc3RpbmcKKyAgICAgICAgZmFzdC9k
b20vc2hhZG93L3NoYWRvdy1yb290LWFwcGx5QXV0aG9yU3R5bGVzLmh0bWwgdG8gdGVzdCB0aGlz
CisgICAgICAgIGZlYXR1cmUuCisKKyAgICAgICAgKiBkb20vU2hhZG93Um9vdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTaGFkb3dSb290OjpzZXRBcHBseUF1dGhvclN0eWxlcyk6CisgICAgICAg
IElmIGFwcGx5QXV0aG9yU3R5bGVzIGNoYW5nZXMsIGludm9rZSBvd25lcidzIHNldE5lZWRzUmVk
aXN0cmlidXRpbmcgdG8KKyAgICAgICAgcmVjYWxjdWxhdGUgc3R5bGVzIG9mIHRoZSBzaGFkb3cg
cm9vdCdzIGNoaWxkIGVsZW1lbnRzLgorCiAyMDEyLTA1LTE1ICBJZ29yIE9saXZlaXJhICA8aWdv
ci5vQHNpc2Euc2Ftc3VuZy5jb20+CiAKICAgICAgICAgcmVncmVzc2lvbigxMTE2MzkpOiBJc3N1
ZSB3aXRoIHNpbXVsdGFuZW91cyBDU1MgYW5pbWF0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3Qu
Y3BwCmluZGV4IDMyZGRiMzgzMzRmZWNkYmZmYjI0M2ZiODQwMTg0MDBiNjMwZTlmZjMuLjZjOTcz
ODlkMWJiNjRhYTM1MzAzOTdmM2QwMTEzMWM2NGEyOTJjNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TaGFkb3dSb290LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93
Um9vdC5jcHAKQEAgLTE5NSw3ICsxOTUsMTEgQEAgYm9vbCBTaGFkb3dSb290OjphcHBseUF1dGhv
clN0eWxlcygpIGNvbnN0CiAKIHZvaWQgU2hhZG93Um9vdDo6c2V0QXBwbHlBdXRob3JTdHlsZXMo
Ym9vbCB2YWx1ZSkKIHsKLSAgICBtX2FwcGx5QXV0aG9yU3R5bGVzID0gdmFsdWU7CisgICAgaWYg
KG1fYXBwbHlBdXRob3JTdHlsZXMgIT0gdmFsdWUpIHsKKyAgICAgICAgbV9hcHBseUF1dGhvclN0
eWxlcyA9IHZhbHVlOworICAgICAgICBpZiAoYXR0YWNoZWQoKSAmJiBvd25lcigpKQorICAgICAg
ICAgICAgb3duZXIoKS0+c2V0TmVlZHNSZWRpc3RyaWJ1dGluZygpOworICAgIH0KIH0KIAogdm9p
ZCBTaGFkb3dSb290OjphdHRhY2goKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDdlYzI0ZGIyMTZhMTkyNjEzYTFjYzc2MGM2
N2ZiMTExZTczMTQwNDUuLjI4NTljOWQxOWZkN2M1NjkyYmNlOGIxYjU1NDJlOWMwZmZjZDIxZTgg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wNS0xNSAgVGFrYXNoaSBTYWthbW90byAgPHRh
c2FrQGdvb2dsZS5jb20+CisKKyAgICAgICAgTmVlZHMgc3R5bGUgcmVjYWxjdWxhdGlvbiBieSBj
aGFuZ2luZyBhcHBseUF1dGhvclN0eWxlcyBkeW5hbWljYWxseQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODQyNTEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9v
dC1hcHBseUF1dGhvclN0eWxlcy1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3No
YWRvdy9zaGFkb3ctcm9vdC1hcHBseUF1dGhvclN0eWxlcy5odG1sOgorCiAyMDEyLTA1LTE1ICBM
aSBZaW4gIDxsaS55aW5AaW50ZWwuY29tPgogCiAgICAgICAgIFtXb3JrZXJdIFdlYiBXb3JrZXIg
bGFja3MgdGVzdCBmb3IgcG9zdGluZyBzdHJ1Y3R1cmVkIGRhdGEgbWVzc2FnZS4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1hcHBseUF1dGhvclN0
eWxlcy1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1y
b290LWFwcGx5QXV0aG9yU3R5bGVzLWV4cGVjdGVkLmh0bWwKaW5kZXggOTJiZTZmYWNmMjk4Njcx
NTFmODY0ODc5YzM3ZTI2NGJjNDBhY2RlMi4uZjFiNTI0NjkzOTE5ODVmNWRlYmRhNTNlNTM2YjNj
MTYyYWIzNmZkYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
dy1yb290LWFwcGx5QXV0aG9yU3R5bGVzLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWFwcGx5QXV0aG9yU3R5bGVzLWV4cGVjdGVkLmh0
bWwKQEAgLTUsNSArNSw3IEBACiA8ZGl2IGlkPSJuby1hcHBseS1hdXRob3Itc3R5bGUiPjxzcGFu
Pjwvc3Bhbj48L2Rpdj4KIDxkaXYgaWQ9IndpdGgtaW5saW5lLXN0eWxlLWRlY2xhcmF0aW9uIj48
c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojZWVmO2JvcmRlcjpub25lO2NvbG9yOiNkYWE7
ZGlzcGxheTpib3hlZC1pbmxpbmU7Zm9udC1zaXplOjE4cHg7bWFyZ2luOjJweDtvdXRsaW5lLWNv
bG9yOiNmMDA7cGFkZGluZy1sZWZ0OjVweDt0ZXh0LWFsaWduOnN0YXJ0O3RleHQtZGVjb3JhdGlv
bjpub25lOyI+PC9zcGFuPjwvZGl2PgogPGRpdiBpZD0idHJ5LXRvLW92ZXJpZGUtaW1wb3J0YW50
Ij48aW5wdXQgdHlwZT0iZmlsZSIgLz48L2Rpdj4KKzxkaXYgaWQ9ImNoYW5nZS1hcHBseS1hdXRo
b3Itc3R5bGUtZnJvbS10cnVlLXRvLWZhbHNlIj48ZGl2PjxzcGFuPjwvc3Bhbj48L2Rpdj48L2Rp
dj4KKzxkaXYgaWQ9ImNoYW5nZS1hcHBseS1hdXRob3Itc3R5bGUtZnJvbS1mYWxzZS10by10cnVl
Ij48ZGl2PjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNlZWY7Ym9yZGVyOnNvbGlkO2Nv
bG9yOiNmZWU7ZGlzcGxheTpib3hlZC1pbmxpbmU7Zm9udC1zaXplOjI0cHg7bWFyZ2luOjJweDtv
dXRsaW5lLWNvbG9yOiNmMDA7cGFkZGluZy1sZWZ0OjVweDt0ZXh0LWFsaWduOnN0YXJ0O3RleHQt
ZGVjb3JhdGlvbjp1bmRlcmxpbmU7Ij48L3NwYW4+PC9kaXY+PC9kaXY+CiA8L2JvZHk+CiA8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3Qt
YXBwbHlBdXRob3JTdHlsZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3ctcm9vdC1hcHBseUF1dGhvclN0eWxlcy5odG1sCmluZGV4IDQ0NWQ2ZDllZTdhMDQwYjI4MGJm
MDlhM2EzYzVjYjQ0MDA4MzMyZDMuLjZlNmUwYzIxZWQ5ZGUzYzFlMTYwZGI0Y2M0OTQ5ZDc4NTZk
ZTk4OGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9v
dC1hcHBseUF1dGhvclN0eWxlcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctcm9vdC1hcHBseUF1dGhvclN0eWxlcy5odG1sCkBAIC0yNSw2ICsyNSw4IEBAIGlu
cHV0W3R5cGU9ImZpbGUiXSB7CiA8ZGl2IGlkPSJuby1hcHBseS1hdXRob3Itc3R5bGUiPjwvZGl2
PgogPGRpdiBpZD0id2l0aC1pbmxpbmUtc3R5bGUtZGVjbGFyYXRpb24iPjwvZGl2PgogPGRpdiBp
ZD0idHJ5LXRvLW92ZXJyaWRlLWltcG9ydGFudCI+PC9kaXY+Cis8ZGl2IGlkPSJjaGFuZ2UtYXBw
bHktYXV0aG9yLXN0eWxlLWZyb20tdHJ1ZS10by1mYWxzZSI+PC9kaXY+Cis8ZGl2IGlkPSJjaGFu
Z2UtYXBwbHktYXV0aG9yLXN0eWxlLWZyb20tZmFsc2UtdG8tdHJ1ZSI+PC9kaXY+CiAKIDxzY3Jp
cHQ+CiBmdW5jdGlvbiBhc3NlcnRUcnVlKGlkLCBhY3R1YWwpIHsKQEAgLTgzLDEwICs4NSw0MiBA
QCBmdW5jdGlvbiByZW5kZXJBcHBseUF1dGhvclN0eWxlV2l0aE92ZXJyaWRpbmdJbXBvcnRhbnRQ
cm9wZXJ0eUNhc2UoKSB7CiAgICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGlucHV0IHR5cGU9
ImZpbGUiIC8+JzsKIH0KIAorZnVuY3Rpb24gdGVzdENoYW5naW5nQXBwbHlBdXRob3JTdHlsZUZy
b21UcnVlVG9GYWxzZSgpIHsKKyAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
ZGl2Jyk7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NoYW5nZS1hcHBseS1hdXRob3It
c3R5bGUtZnJvbS10cnVlLXRvLWZhbHNlJykuYXBwZW5kQ2hpbGQoZGl2KTsKKworICAgIHZhciBz
aGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICBhc3NlcnRGYWxzZSgn
ZGVmYXVsdCBhcHBseUF1dGhvclN0eWxlcycsIHNoYWRvd1Jvb3QuYXBwbHlBdXRob3JTdHlsZXMp
OworICAgIGRpdi5vZmZzZXRMZWZ0OworICAgIHNoYWRvd1Jvb3QuYXBwbHlBdXRob3JTdHlsZXMg
PSB0cnVlOworICAgIGFzc2VydFRydWUoJ2FwcGx5QXV0aG9yU3R5bGVzIHNob3VsZCBiZSB0cnVl
Jywgc2hhZG93Um9vdC5hcHBseUF1dGhvclN0eWxlcyk7CisgICAgc2hhZG93Um9vdC5pbm5lckhU
TUwgPSAnPGRpdj48c3Bhbj48L3NwYW4+PC9kaXY+JzsKKyAgICBzaGFkb3dSb290LmFwcGx5QXV0
aG9yU3R5bGVzID0gZmFsc2U7CisgICAgYXNzZXJ0RmFsc2UoJ2FwcGx5QXV0aG9yU3R5bGVzIHNo
b3VsZCBiZSBmYWxzZScsIHNoYWRvd1Jvb3QuYXBwbHlBdXRob3JTdHlsZXMpOworICAgIGRpdi5v
ZmZzZXRMZWZ0OworfQorCitmdW5jdGlvbiB0ZXN0Q2hhbmdpbmdBcHBseUF1dGhvclN0eWxlRnJv
bUZhbHNlVG9UcnVlKCkgeworICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdk
aXYnKTsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2hhbmdlLWFwcGx5LWF1dGhvci1z
dHlsZS1mcm9tLWZhbHNlLXRvLXRydWUnKS5hcHBlbmRDaGlsZChkaXYpOworCisgICAgdmFyIHNo
YWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIGFzc2VydEZhbHNlKCdk
ZWZhdWx0IGFwcGx5QXV0aG9yU3R5bGVzJywgc2hhZG93Um9vdC5hcHBseUF1dGhvclN0eWxlcyk7
CisgICAgc2hhZG93Um9vdC5hcHBseUF1dGhvclN0eWxlcyA9IGZhbHNlOworICAgIGRpdi5vZmZz
ZXRMZWZ0OworICAgIGFzc2VydEZhbHNlKCdhcHBseUF1dGhvclN0eWxlcyBzaG91bGQgYmUgZmFs
c2UnLCBzaGFkb3dSb290LmFwcGx5QXV0aG9yU3R5bGVzKTsKKyAgICBzaGFkb3dSb290LmlubmVy
SFRNTCA9ICc8ZGl2PjxzcGFuPjwvc3Bhbj48L2Rpdj4nOworICAgIHNoYWRvd1Jvb3QuYXBwbHlB
dXRob3JTdHlsZXMgPSB0cnVlOworICAgIGFzc2VydFRydWUoJ2FwcGx5QXV0aG9yU3R5bGVzIHNo
b3VsZCBiZSB0cnVlJywgc2hhZG93Um9vdC5hcHBseUF1dGhvclN0eWxlcyk7CisgICAgZGl2Lm9m
ZnNldExlZnQ7Cit9CisKIHJlbmRlckFwcGx5QXV0aG9yU3R5bGVDYXNlKCk7CiByZW5kZXJOb0Fw
cGx5QXV0aG9yU3R5bGVDYXNlKCk7CiByZW5kZXJBcHBseUF1dGhvclN0eWxlV2l0aElubGluZVN0
eWxlRGVjbGFyYXRpb25DYXNlKCk7CiByZW5kZXJBcHBseUF1dGhvclN0eWxlV2l0aE92ZXJyaWRp
bmdJbXBvcnRhbnRQcm9wZXJ0eUNhc2UoKTsKK3Rlc3RDaGFuZ2luZ0FwcGx5QXV0aG9yU3R5bGVG
cm9tVHJ1ZVRvRmFsc2UoKTsKK3Rlc3RDaGFuZ2luZ0FwcGx5QXV0aG9yU3R5bGVGcm9tRmFsc2VU
b1RydWUoKTsKIDwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142682</attachid>
            <date>2012-05-18 04:13:06 -0700</date>
            <delta_ts>2012-05-20 17:49:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84251-20120518201305.patch</filename>
            <type>text/plain</type>
            <size>7253</size>
            <attacher name="Takashi Sakamoto">tasak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3NTc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODM3OGZkOTkzZTc3M2Ey
ZTVkNWUwNWE5ZTBjNDA0Y2E1MTFiMzUyZi4uN2UwNDkwMzY1MGFiZDQzYmU0YjZiZTM1NmQ3ZGZm
M2FkNmNhMWM0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA1LTE4ICBUYWth
c2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xlLmNvbT4KKworICAgICAgICBOZWVkcyBzdHlsZSBy
ZWNhbGN1bGF0aW9uIGJ5IGNoYW5naW5nIGFwcGx5QXV0aG9yU3R5bGVzIGR5bmFtaWNhbGx5Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDI1MQorCisg
ICAgICAgIE1vZGlmeWluZyBzZXRBcHBseUF1dGhvclN0eWxlcyB0byBpbnZva2Ugb3duZXIoKSdz
CisgICAgICAgIHNldE5lZWRzUmVkaXN0cmlidXRpbmcgaWYgYXBwbHlBdXRob3JTdHlsZXMgY2hh
bmdlcy4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBO
byBuZXcgdGVzdHMuIEFkZGluZyBuZXcgdGVzdHMgdG8gZXhpc3RpbmcKKyAgICAgICAgZmFzdC9k
b20vc2hhZG93L3NoYWRvdy1yb290LWFwcGx5QXV0aG9yU3R5bGVzLmh0bWwgdG8gdGVzdCB0aGlz
CisgICAgICAgIGZlYXR1cmUuCisKKyAgICAgICAgKiBkb20vU2hhZG93Um9vdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTaGFkb3dSb290OjpzZXRBcHBseUF1dGhvclN0eWxlcyk6CisgICAgICAg
IElmIGFwcGx5QXV0aG9yU3R5bGVzIGNoYW5nZXMsIGludm9rZSBvd25lcidzIHNldE5lZWRzUmVk
aXN0cmlidXRpbmcgdG8KKyAgICAgICAgcmVjYWxjdWxhdGUgc3R5bGVzIG9mIHRoZSBzaGFkb3cg
cm9vdCdzIGNoaWxkIGVsZW1lbnRzLgorCiAyMDEyLTA1LTE4ICBNT1JJVEEgSGFqaW1lIDxtb3Jy
aXRhQGdvb2dsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBhdHRlbXB0IHRvIGZpeCBidWls
ZCBicmVha2FnZSBvbiByMTE3NTcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hh
ZG93Um9vdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5jcHAKaW5kZXggNDY0
YmVhZTQ4YzZlZTg2Zjc5ZGZkYjdhOTJjYjEwMzE0NDZhZWE2Zi4uZmZjNTk1MjdkMzRkYWQwOTU2
MWNiZTk1NDg4NGFiNWJiODZiZGU0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1No
YWRvd1Jvb3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmNwcApAQCAt
MTg4LDcgKzE4OCwxMSBAQCBib29sIFNoYWRvd1Jvb3Q6OmFwcGx5QXV0aG9yU3R5bGVzKCkgY29u
c3QKIAogdm9pZCBTaGFkb3dSb290OjpzZXRBcHBseUF1dGhvclN0eWxlcyhib29sIHZhbHVlKQog
ewotICAgIG1fYXBwbHlBdXRob3JTdHlsZXMgPSB2YWx1ZTsKKyAgICBpZiAobV9hcHBseUF1dGhv
clN0eWxlcyAhPSB2YWx1ZSkgeworICAgICAgICBtX2FwcGx5QXV0aG9yU3R5bGVzID0gdmFsdWU7
CisgICAgICAgIGlmIChhdHRhY2hlZCgpICYmIG93bmVyKCkpCisgICAgICAgICAgICBvd25lcigp
LT5zZXROZWVkc1JlZGlzdHJpYnV0aW5nKCk7CisgICAgfQogfQogCiB2b2lkIFNoYWRvd1Jvb3Q6
OmF0dGFjaCgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggMDdjMjdhOGM2NjU4MTI1Y2QxMzc3YjZlZjhlNDY5MDAyNDExMGY3
Ni4uMDBhNzBjZDRlNTk5YzdiM2Y4ZTBjOGU3MTRiYjY4ZGE2NzBmYTM5YyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEzIEBACisyMDEyLTA1LTE4ICBUYWthc2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xlLmNv
bT4KKworICAgICAgICBOZWVkcyBzdHlsZSByZWNhbGN1bGF0aW9uIGJ5IGNoYW5naW5nIGFwcGx5
QXV0aG9yU3R5bGVzIGR5bmFtaWNhbGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD04NDI1MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWFwcGx5QXV0aG9y
U3R5bGVzLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1y
b290LWFwcGx5QXV0aG9yU3R5bGVzLmh0bWw6CisKIDIwMTItMDUtMTggIFN1ZGFyc2FuYSBOYWdp
bmVuaSAgPHN1ZGFyc2FuYS5uYWdpbmVuaUBsaW51eC5pbnRlbC5jb20+CiAKICAgICAgICAgW0VG
TF0gW0RSVF0gQWRkIGJhc2VsaW5lcyBmb3IgbmV3IHRlc3RzIGFkZGVkIGluIHIxMTc0NzcgYW5k
IHIxMTczMzkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ct
cm9vdC1hcHBseUF1dGhvclN0eWxlcy1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvdy1yb290LWFwcGx5QXV0aG9yU3R5bGVzLWV4cGVjdGVkLmh0bWwKaW5k
ZXggOTJiZTZmYWNmMjk4NjcxNTFmODY0ODc5YzM3ZTI2NGJjNDBhY2RlMi4uZjFiNTI0NjkzOTE5
ODVmNWRlYmRhNTNlNTM2YjNjMTYyYWIzNmZkYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvdy1yb290LWFwcGx5QXV0aG9yU3R5bGVzLWV4cGVjdGVkLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWFwcGx5QXV0aG9y
U3R5bGVzLWV4cGVjdGVkLmh0bWwKQEAgLTUsNSArNSw3IEBACiA8ZGl2IGlkPSJuby1hcHBseS1h
dXRob3Itc3R5bGUiPjxzcGFuPjwvc3Bhbj48L2Rpdj4KIDxkaXYgaWQ9IndpdGgtaW5saW5lLXN0
eWxlLWRlY2xhcmF0aW9uIj48c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojZWVmO2JvcmRl
cjpub25lO2NvbG9yOiNkYWE7ZGlzcGxheTpib3hlZC1pbmxpbmU7Zm9udC1zaXplOjE4cHg7bWFy
Z2luOjJweDtvdXRsaW5lLWNvbG9yOiNmMDA7cGFkZGluZy1sZWZ0OjVweDt0ZXh0LWFsaWduOnN0
YXJ0O3RleHQtZGVjb3JhdGlvbjpub25lOyI+PC9zcGFuPjwvZGl2PgogPGRpdiBpZD0idHJ5LXRv
LW92ZXJpZGUtaW1wb3J0YW50Ij48aW5wdXQgdHlwZT0iZmlsZSIgLz48L2Rpdj4KKzxkaXYgaWQ9
ImNoYW5nZS1hcHBseS1hdXRob3Itc3R5bGUtZnJvbS10cnVlLXRvLWZhbHNlIj48ZGl2PjxzcGFu
Pjwvc3Bhbj48L2Rpdj48L2Rpdj4KKzxkaXYgaWQ9ImNoYW5nZS1hcHBseS1hdXRob3Itc3R5bGUt
ZnJvbS1mYWxzZS10by10cnVlIj48ZGl2PjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNl
ZWY7Ym9yZGVyOnNvbGlkO2NvbG9yOiNmZWU7ZGlzcGxheTpib3hlZC1pbmxpbmU7Zm9udC1zaXpl
OjI0cHg7bWFyZ2luOjJweDtvdXRsaW5lLWNvbG9yOiNmMDA7cGFkZGluZy1sZWZ0OjVweDt0ZXh0
LWFsaWduOnN0YXJ0O3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7Ij48L3NwYW4+PC9kaXY+PC9k
aXY+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93LXJvb3QtYXBwbHlBdXRob3JTdHlsZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1hcHBseUF1dGhvclN0eWxlcy5odG1sCmluZGV4IDQ0
NWQ2ZDllZTdhMDQwYjI4MGJmMDlhM2EzYzVjYjQ0MDA4MzMyZDMuLjYxOGVjODIwMDA3YWU4ZGIw
ZmM3NWIyMWQ0M2Y4NTFjZmVkZDJhZWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zaGFkb3ctcm9vdC1hcHBseUF1dGhvclN0eWxlcy5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1hcHBseUF1dGhvclN0eWxlcy5odG1sCkBA
IC0yNSw4ICsyNSwyNCBAQCBpbnB1dFt0eXBlPSJmaWxlIl0gewogPGRpdiBpZD0ibm8tYXBwbHkt
YXV0aG9yLXN0eWxlIj48L2Rpdj4KIDxkaXYgaWQ9IndpdGgtaW5saW5lLXN0eWxlLWRlY2xhcmF0
aW9uIj48L2Rpdj4KIDxkaXYgaWQ9InRyeS10by1vdmVycmlkZS1pbXBvcnRhbnQiPjwvZGl2Pgor
PGRpdiBpZD0iY2hhbmdlLWFwcGx5LWF1dGhvci1zdHlsZS1mcm9tLXRydWUtdG8tZmFsc2UiPjwv
ZGl2PgorPGRpdiBpZD0iY2hhbmdlLWFwcGx5LWF1dGhvci1zdHlsZS1mcm9tLWZhbHNlLXRvLXRy
dWUiPjwvZGl2PgogCiA8c2NyaXB0PgorZnVuY3Rpb24gc2hvdWxkQmUoYSwgYikKK3sKKyAgIGlm
IChhICE9IGIpIHsKKyAgICAgIHRocm93ICJmYWlsdXJlOiIgKyBhICsgIjogc2hvdWxkIGJlICIg
KyBiOworICAgfQorfQorCitmdW5jdGlvbiBzaG91bGROb3RCZShhLCBiKQoreworICAgaWYgKGEg
PT0gYikgeworICAgICAgdGhyb3cgImZhaWx1cmU6IiArIGEgKyAiOiBzaG91bGQgbm90IGJlICIg
KyBiOworICAgfQorfQorCiBmdW5jdGlvbiBhc3NlcnRUcnVlKGlkLCBhY3R1YWwpIHsKICAgIGlm
ICghYWN0dWFsKSB7CiAgICAgICAgdGhyb3cgImZhaWx1cmU6IiArIGlkICsgICI6IGFzc2VydFRy
dWUgZmFpbGVkIjsKQEAgLTgzLDEwICs5OSw1MyBAQCBmdW5jdGlvbiByZW5kZXJBcHBseUF1dGhv
clN0eWxlV2l0aE92ZXJyaWRpbmdJbXBvcnRhbnRQcm9wZXJ0eUNhc2UoKSB7CiAgICAgc2hhZG93
Um9vdC5pbm5lckhUTUwgPSAnPGlucHV0IHR5cGU9ImZpbGUiIC8+JzsKIH0KIAorZnVuY3Rpb24g
dGVzdENoYW5naW5nQXBwbHlBdXRob3JTdHlsZUZyb21UcnVlVG9GYWxzZSgpIHsKKyAgICB2YXIg
ZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ2NoYW5nZS1hcHBseS1hdXRob3Itc3R5bGUtZnJvbS10cnVlLXRvLWZhbHNlJyku
YXBwZW5kQ2hpbGQoZGl2KTsKKworICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3QoZGl2KTsKKyAgICBhc3NlcnRGYWxzZSgnZGVmYXVsdCBhcHBseUF1dGhvclN0eWxlcycs
IHNoYWRvd1Jvb3QuYXBwbHlBdXRob3JTdHlsZXMpOworICAgIHNoYWRvd1Jvb3QuYXBwbHlBdXRo
b3JTdHlsZXMgPSB0cnVlOworICAgIGFzc2VydFRydWUoJ2FwcGx5QXV0aG9yU3R5bGVzIHNob3Vs
ZCBiZSB0cnVlJywgc2hhZG93Um9vdC5hcHBseUF1dGhvclN0eWxlcyk7CisgICAgc2hhZG93Um9v
dC5pbm5lckhUTUwgPSAnPGRpdj48c3BhbiBpZD0idGVzdDEiPjwvc3Bhbj48L2Rpdj4nOworICAg
IGRpdi5vZmZzZXRMZWZ0OworICAgIHZhciB0YXJnZXQgPSBzaGFkb3dSb290LmdldEVsZW1lbnRC
eUlkKCd0ZXN0MScpOworICAgIHNob3VsZEJlKHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRhcmdl
dCkuZ2V0UHJvcGVydHlWYWx1ZSgnZm9udC1zaXplJyksICIyNHB4Iik7CisgICAgc2hvdWxkQmUo
d2luZG93LmdldENvbXB1dGVkU3R5bGUodGFyZ2V0KS5nZXRQcm9wZXJ0eVZhbHVlKCd0ZXh0LWRl
Y29yYXRpb24nKSwgInVuZGVybGluZSIpOworCisgICAgc2hhZG93Um9vdC5hcHBseUF1dGhvclN0
eWxlcyA9IGZhbHNlOworICAgIGFzc2VydEZhbHNlKCdhcHBseUF1dGhvclN0eWxlcyBzaG91bGQg
YmUgZmFsc2UnLCBzaGFkb3dSb290LmFwcGx5QXV0aG9yU3R5bGVzKTsKKyAgICBkaXYub2Zmc2V0
TGVmdDsKKyAgICBzaG91bGROb3RCZSh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0YXJnZXQpLmdl
dFByb3BlcnR5VmFsdWUoJ2ZvbnQtc2l6ZScpLCAiMjRweCIpOworICAgIHNob3VsZE5vdEJlKHdp
bmRvdy5nZXRDb21wdXRlZFN0eWxlKHRhcmdldCkuZ2V0UHJvcGVydHlWYWx1ZSgndGV4dC1kZWNv
cmF0aW9uJyksICJ1bmRlcmxpbmUiKTsKK30KKworZnVuY3Rpb24gdGVzdENoYW5naW5nQXBwbHlB
dXRob3JTdHlsZUZyb21GYWxzZVRvVHJ1ZSgpIHsKKyAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnZGl2Jyk7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NoYW5nZS1h
cHBseS1hdXRob3Itc3R5bGUtZnJvbS1mYWxzZS10by10cnVlJykuYXBwZW5kQ2hpbGQoZGl2KTsK
KworICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICBz
aGFkb3dSb290LmFwcGx5QXV0aG9yU3R5bGVzID0gZmFsc2U7CisgICAgYXNzZXJ0RmFsc2UoJ2Fw
cGx5QXV0aG9yU3R5bGVzIHNob3VsZCBiZSBmYWxzZScsIHNoYWRvd1Jvb3QuYXBwbHlBdXRob3JT
dHlsZXMpOworICAgIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gJzxkaXY+PHNwYW4gaWQ9InRlc3Qy
Ij48L3NwYW4+PC9kaXY+JzsKKyAgICBkaXYub2Zmc2V0TGVmdDsKKyAgICB2YXIgdGFyZ2V0ID0g
c2hhZG93Um9vdC5nZXRFbGVtZW50QnlJZCgndGVzdDInKTsKKyAgICBzaG91bGROb3RCZSh3aW5k
b3cuZ2V0Q29tcHV0ZWRTdHlsZSh0YXJnZXQpLmdldFByb3BlcnR5VmFsdWUoJ2ZvbnQtc2l6ZScp
LCAiMjRweCIpOworICAgIHNob3VsZE5vdEJlKHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRhcmdl
dCkuZ2V0UHJvcGVydHlWYWx1ZSgndGV4dC1kZWNvcmF0aW9uJyksICJ1bmRlcmxpbmUiKTsKKwor
ICAgIHNoYWRvd1Jvb3QuYXBwbHlBdXRob3JTdHlsZXMgPSB0cnVlOworICAgIGFzc2VydFRydWUo
J2FwcGx5QXV0aG9yU3R5bGVzIHNob3VsZCBiZSB0cnVlJywgc2hhZG93Um9vdC5hcHBseUF1dGhv
clN0eWxlcyk7CisgICAgZGl2Lm9mZnNldExlZnQ7CisgICAgc2hvdWxkQmUod2luZG93LmdldENv
bXB1dGVkU3R5bGUodGFyZ2V0KS5nZXRQcm9wZXJ0eVZhbHVlKCdmb250LXNpemUnKSwgIjI0cHgi
KTsKKyAgICBzaG91bGRCZSh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0YXJnZXQpLmdldFByb3Bl
cnR5VmFsdWUoJ3RleHQtZGVjb3JhdGlvbicpLCAidW5kZXJsaW5lIik7Cit9CisKIHJlbmRlckFw
cGx5QXV0aG9yU3R5bGVDYXNlKCk7CiByZW5kZXJOb0FwcGx5QXV0aG9yU3R5bGVDYXNlKCk7CiBy
ZW5kZXJBcHBseUF1dGhvclN0eWxlV2l0aElubGluZVN0eWxlRGVjbGFyYXRpb25DYXNlKCk7CiBy
ZW5kZXJBcHBseUF1dGhvclN0eWxlV2l0aE92ZXJyaWRpbmdJbXBvcnRhbnRQcm9wZXJ0eUNhc2Uo
KTsKK3Rlc3RDaGFuZ2luZ0FwcGx5QXV0aG9yU3R5bGVGcm9tVHJ1ZVRvRmFsc2UoKTsKK3Rlc3RD
aGFuZ2luZ0FwcGx5QXV0aG9yU3R5bGVGcm9tRmFsc2VUb1RydWUoKTsKIDwvc2NyaXB0PgogPC9i
b2R5PgogPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>