<?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>64587</bug_id>
          
          <creation_ts>2011-07-15 01:02:19 -0700</creation_ts>
          <short_desc>Add support for retrieving an element in TreeScope by id to window.internals object.</short_desc>
          <delta_ts>2011-08-01 05:26: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>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Hayato Ito">hayato</reporter>
          <assigned_to name="Hayato Ito">hayato</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>dominicc</cc>
    
    <cc>gustavo.noronha</cc>
    
    <cc>gustavo</cc>
    
    <cc>morrita</cc>
    
    <cc>rolandsteiner</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>437620</commentid>
    <comment_count>0</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-07-15 01:02:19 -0700</bug_when>
    <thetext>It would be nice that we can get an element in nested TreeScope by specifying &apos;id&apos; and &apos;owner element&apos;. That enables us to write the following code in tests:

  function getElementInShadow(path)
  {
    var ids = path.split(&apos;/&apos;);
    var element = document.getElementById(ids[0]);
    for (var i = 1; i &lt; ids.length; ++i) {
        element = window.internals.getElementByIdInShadowHost(element, ids[i]);
    }
    return element;
  }

  var inputA = getElementInShadow(&apos;shadowHost/shadowHost2/inputA&apos;);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>437622</commentid>
    <comment_count>1</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-07-15 01:09:11 -0700</bug_when>
    <thetext>I am thinking that we should have

  window.internals.getElementByIdInTreeScope(shadowRoot, ids[i])

instead of

  window.internals.getElementByIdInShadowHost(shadowHost, ids[i])
.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>437638</commentid>
    <comment_count>2</comment_count>
      <attachid>100950</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-07-15 02:27:29 -0700</bug_when>
    <thetext>Created attachment 100950
first try to know which symbols we should export.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438982</commentid>
    <comment_count>3</comment_count>
      <attachid>101273</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-07-18 23:27:11 -0700</bug_when>
    <thetext>Created attachment 101273
sync to ToT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439040</commentid>
    <comment_count>4</comment_count>
      <attachid>101273</attachid>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2011-07-19 01:43:00 -0700</bug_when>
    <thetext>Comment on attachment 101273
sync to ToT

Attachment 101273 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/9158050</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439052</commentid>
    <comment_count>5</comment_count>
      <attachid>101289</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-07-19 02:11:24 -0700</bug_when>
    <thetext>Created attachment 101289
2nd try. Add symbols</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439081</commentid>
    <comment_count>6</comment_count>
      <attachid>101297</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-07-19 03:51:28 -0700</bug_when>
    <thetext>Created attachment 101297
ready for review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439085</commentid>
    <comment_count>7</comment_count>
      <attachid>101297</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-07-19 04:06:14 -0700</bug_when>
    <thetext>Comment on attachment 101297
ready for review

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

&gt; LayoutTests/fast/dom/shadow/get-element-by-id-in-shadow.html:11
&gt; +

Please make it clear that this test need internals object and doesn&apos;t work interactively.

&gt; LayoutTests/fast/dom/shadow/get-element-by-id-in-shadow.html:17
&gt; +        element.setAttribute(name, attributes[name]);

Don&apos;t need braces if the block has single statement.
JS in WebKit basically follows our C++ style.

&gt; LayoutTests/fast/dom/shadow/get-element-by-id-in-shadow.html:60
&gt; +

These helper functions look useful. How about to make it separate js file?

&gt; Source/WebCore/testing/Internals.cpp:76
&gt; +        ec = INVALID_ACCESS_ERR;

If this function is only for ShadowRoot, the name should be getElementByIdInTreeRoot().

&gt; Source/WebCore/testing/Internals.cpp:79
&gt; +    return static_cast&lt;ShadowRoot*&gt;(treeScope)-&gt;getElementById(id);

I guess we have toShadowRoot().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439133</commentid>
    <comment_count>8</comment_count>
      <attachid>101297</attachid>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2011-07-19 07:24:06 -0700</bug_when>
    <thetext>Comment on attachment 101297
ready for review

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

&gt;&gt; Source/WebCore/testing/Internals.cpp:76
&gt;&gt; +        ec = INVALID_ACCESS_ERR;
&gt; 
&gt; If this function is only for ShadowRoot, the name should be getElementByIdInTreeRoot().

What about getElementByIdIn*Shadow*Root?

Tree root sounds like something else—the document, subtree root, whatever.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439687</commentid>
    <comment_count>9</comment_count>
      <attachid>101297</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-07-20 01:47:32 -0700</bug_when>
    <thetext>Comment on attachment 101297
ready for review

Thank you for the review. I&apos;ll post a updated patch later.

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

&gt;&gt; LayoutTests/fast/dom/shadow/get-element-by-id-in-shadow.html:11
&gt;&gt; +
&gt; 
&gt; Please make it clear that this test need internals object and doesn&apos;t work interactively.

Done.

&gt;&gt; LayoutTests/fast/dom/shadow/get-element-by-id-in-shadow.html:17
&gt;&gt; +        element.setAttribute(name, attributes[name]);
&gt; 
&gt; Don&apos;t need braces if the block has single statement.
&gt; JS in WebKit basically follows our C++ style.

Done.

&gt;&gt; LayoutTests/fast/dom/shadow/get-element-by-id-in-shadow.html:60
&gt;&gt; +
&gt; 
&gt; These helper functions look useful. How about to make it separate js file?

Done. I&apos;ve moved createDom and createShadow functions into a separate js file as &apos;resources/create-dom.js&apos;.
I might move getElemetnInShadow also when we have another layout test which uses this function.

&gt;&gt;&gt; Source/WebCore/testing/Internals.cpp:76
&gt;&gt;&gt; +        ec = INVALID_ACCESS_ERR;
&gt;&gt; 
&gt;&gt; If this function is only for ShadowRoot, the name should be getElementByIdInTreeRoot().
&gt; 
&gt; What about getElementByIdIn*Shadow*Root?
&gt; 
&gt; Tree root sounds like something else—the document, subtree root, whatever.

Okay. I chose &apos;getElementByIdInShadowRoot&apos;.

&gt;&gt; Source/WebCore/testing/Internals.cpp:79
&gt;&gt; +    return static_cast&lt;ShadowRoot*&gt;(treeScope)-&gt;getElementById(id);
&gt; 
&gt; I guess we have toShadowRoot().

Oh. When I wrote this patch, there was no header files which defines toShadowRoot. Now we have that in ShadowRoot.h.
Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439688</commentid>
    <comment_count>10</comment_count>
      <attachid>101440</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-07-20 01:49:35 -0700</bug_when>
    <thetext>Created attachment 101440
revised</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444484</commentid>
    <comment_count>11</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-07-31 19:16:34 -0700</bug_when>
    <thetext>ping? Could someone review this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444667</commentid>
    <comment_count>12</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-08-01 05:26:18 -0700</bug_when>
    <thetext>Committed r92124: &lt;http://trac.webkit.org/changeset/92124&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100950</attachid>
            <date>2011-07-15 02:27:29 -0700</date>
            <delta_ts>2011-07-18 23:27:05 -0700</delta_ts>
            <desc>first try to know which symbols we should export.</desc>
            <filename>bug-64587-20110715182727.patch</filename>
            <type>text/plain</type>
            <size>7940</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTAzODEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1NzEzNzg3YzhiNTQ3YjlhOTdkNzM5
ZjBiZWFkNWNmNzM2M2ZlZjgyLi4xMjFlMGIyMjhmZTAxOWE4ZjI5ZTBmNDAxMmNjOTA3YjRkMTM5
MjA2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDctMTUgIEhheWF0byBJdG8gIDxoYXlh
dG9AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciByZXRyaWV2aW5nIGFu
IGVsZW1lbnQgaW4gVHJlZVNjb3BlIGJ5IGlkIHRvIHdpbmRvdy5pbnRlcm5hbHMgb2JqZWN0Lgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ1ODcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZG9t
L3NoYWRvdy9nZXQtZWxlbWVudC1ieS1pZC1pbi1zaGFkb3ctZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvZ2V0LWVsZW1lbnQtYnktaWQtaW4tc2hhZG93Lmh0
bWw6IEFkZGVkLgorCiAyMDExLTA3LTA0ICBNaWhhaSBQYXJwYXJpdGEgIDxtaWhhaXBAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIEFzIG9mIHI5MDM3MiB0aGVyZSBhcmUgV2ViS2l0MiBNYWMtc3Bl
Y2lmaWMgdGVzdHM7IGRvbid0IGV4cGVjdCB0aG9zZSB0bwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L2dldC1lbGVtZW50LWJ5LWlkLWluLXNoYWRvdy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZ2V0LWVsZW1lbnQtYnktaWQtaW4tc2hh
ZG93LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MzM5Njg5ZDI3NDRkNzNlODRlOWIxZDM0MzE3
MWU5M2NkM2JiZDA4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L2dldC1lbGVtZW50LWJ5LWlkLWluLXNoYWRvdy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MiBAQAorVGVzdHMgdG8gZW5zdXJlIHRoYXQgaW50ZXJuYWxzLmdldEVsZW1lbnRCeUlkSW5TaGFk
b3cgY2FuIGdldCBhbiBlbGVtZW50IGluIFRyZWVTY29wZSBvd25lZCBieSBhIHNoYWRvd0hvc3Qu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGdldEVsZW1lbnRJblNoYWRv
dygnZGl2QS9pbnB1dEInKS5pZCBpcyAiaW5wdXRCIgorUEFTUyBnZXRFbGVtZW50SW5TaGFkb3co
J2RpdkEvZGl2QycpLmlkIGlzICJkaXZDIgorUEFTUyBnZXRFbGVtZW50SW5TaGFkb3coJ2RpdkEv
ZGl2Qy9pbnB1dEQnKS5pZCBpcyAiaW5wdXREIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9nZXQtZWxlbWVudC1ieS1pZC1pbi1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9nZXQtZWxlbWVudC1ieS1pZC1pbi1zaGFkb3cuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jODdlNjhlNzVjMWU0NGVkNTIyYzM4OTliNGJjMTk3YmVjMjhlYTY1Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2dldC1lbGVtZW50LWJ5LWlkLWluLXNo
YWRvdy5odG1sCkBAIC0wLDAgKzEsNzcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0cyB0byBlbnN1cmUg
dGhhdCBpbnRlcm5hbHMuZ2V0RWxlbWVudEJ5SWRJblNoYWRvdyBjYW4gZ2V0IGFuIGVsZW1lbnQg
aW4gVHJlZVNjb3BlIG93bmVkIGJ5IGEgc2hhZG93SG9zdC4iKTsKKworLy8gVGhpcyBmdW5jdGlv
biBjYXQgdGFrZSBvcHRpb25hbCBjaGlsZCBlbGVtZW50cyBhcyBhcmd1bWVudHNbMjpdLgorZnVu
Y3Rpb24gY3JlYXRlU2hhZG93KHRhZ05hbWUsIGF0dHJpYnV0ZXMpCit7CisgICAgdmFyIGVsZW1l
bnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIGZvciAodmFyIG5hbWUg
aW4gYXR0cmlidXRlcykgeworICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShuYW1lLCBhdHRy
aWJ1dGVzW25hbWVdKTsKKyAgICB9CisgICAgdmFyIHNoYWRvdyA9IGludGVybmFscy5lbnN1cmVT
aGFkb3dSb290KGVsZW1lbnQpOworICAgIHZhciBjaGlsZEVsZW1lbnRzID0gQXJyYXkucHJvdG90
eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAyKTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNo
aWxkRWxlbWVudHMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgc2hhZG93LmFwcGVuZENoaWxkKGNo
aWxkRWxlbWVudHNbaV0pOworICAgIH0KKyAgICByZXR1cm4gZWxlbWVudDsKK30KKworLy8gVGhp
cyBmdW5jdGlvbiBjYXQgdGFrZSBvcHRpb25hbCBjaGlsZCBlbGVtZW50cyBhcyBhcmd1bWVudHNb
MjpdLgorZnVuY3Rpb24gY3JlYXRlRG9tKHRhZ05hbWUsIGF0dHJpYnV0ZXMpCit7CisgICAgdmFy
IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIGZvciAodmFy
IG5hbWUgaW4gYXR0cmlidXRlcykgeworICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShuYW1l
LCBhdHRyaWJ1dGVzW25hbWVdKTsKKyAgICB9CisgICAgdmFyIGNoaWxkRWxlbWVudHMgPSBBcnJh
eS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsIDIpOworICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgY2hpbGRFbGVtZW50cy5sZW5ndGg7ICsraSkgeworICAgICAgICBlbGVtZW50LmFwcGVu
ZENoaWxkKGNoaWxkRWxlbWVudHNbaV0pOworICAgIH0KKyAgICByZXR1cm4gZWxlbWVudDsKK30K
KworZnVuY3Rpb24gZ2V0RWxlbWVudEluU2hhZG93KHBhdGgpCit7CisgICAgdmFyIGlkcyA9IHBh
dGguc3BsaXQoJy8nKTsKKyAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KGlkc1swXSk7CisgICAgZm9yICh2YXIgaSA9IDE7IGVsZW1lbnQgIT0gbnVsbCAmJiBpIDwgaWRz
Lmxlbmd0aDsgKytpKSB7CisgICAgICAgIHZhciBzaGFkb3dSb290ID0gaW50ZXJuYWxzLnNoYWRv
d1Jvb3QoZWxlbWVudCk7CisgICAgICAgIGVsZW1lbnQgPSBpbnRlcm5hbHMuZ2V0RWxlbWVudEJ5
SWRJblRyZWVTY29wZShzaGFkb3dSb290LCBpZHNbaV0pOworICAgIH0KKyAgICByZXR1cm4gZWxl
bWVudDsKK30KKworZnVuY3Rpb24gcHJlcGFyZURvbVRyZWUocGFyZW50KQoreworICAgIHBhcmVu
dC5hcHBlbmRDaGlsZCgKKyAgICAgICAgY3JlYXRlU2hhZG93KCdkaXYnLCB7J2lkJzogJ2RpdkEn
fSwKKyAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZURvbSgnaW5wdXQnLCB7J2lkJzogJ2lucHV0
Qid9KSwKKyAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZVNoYWRvdygnZGl2JywgeydpZCc6ICdk
aXZDJ30sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlRG9tKCdpbnB1
dCcsIHsnaWQnOiAnaW5wdXREJ30pKSkpOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5kdW1wQXNUZXh0KCk7CisgICAgcHJlcGFyZURvbVRyZWUoZG9jdW1lbnQuYm9keSk7Cisg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRFbGVtZW50SW5TaGFkb3coJ2RpdkEvaW5wdXRC
JykuaWQiLCAnaW5wdXRCJyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRFbGVtZW50
SW5TaGFkb3coJ2RpdkEvZGl2QycpLmlkIiwgJ2RpdkMnKTsKKyAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImdldEVsZW1lbnRJblNoYWRvdygnZGl2QS9kaXZDL2lucHV0RCcpLmlkIiwgJ2lucHV0
RCcpOworfQorCit0ZXN0KCk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzA0ZGE2YjZlMzM0MGFk
YTEwYmU4MWZlOTk5MzZmODRlNDQ5MDQ2My4uMTQxMjZiNmI3NWFmYWViMDQ3YWU4Mjg0NGJiY2Mw
MGRiNDk1MWM0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDExLTA3LTE1ICBIYXlh
dG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
cmV0cmlldmluZyBhbiBlbGVtZW50IGluIFRyZWVTY29wZSBieSBpZCB0byB3aW5kb3cuaW50ZXJu
YWxzIG9iamVjdC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTY0NTg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVGVzdDogZmFzdC9kb20vc2hhZG93L2dldC1lbGVtZW50LWJ5LWlkLWluLXNoYWRvdy5odG1s
CisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFs
cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OmdldEVsZW1lbnRCeUlkSW5UcmVl
U2NvcGUpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuaWRsOgorCiAyMDExLTA3LTA0ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBSRUdSRVNTSU9OIChyODcwNjcpOiBUZXh0IG92ZXJmbG93cyBm
cm9tIHNob3J0IGhlaWdodCB0ZXh0IGZpZWxkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCA0YmYw
MjU1YjY1MmIzYjlhOTAzZTZiMTQzYmI3NTVjOTkwMWZkYmQ3Li4wZDg0MzhhZmNlMjc3MjhiN2Fj
NjAyMjQzNWUxOGVlMmQ0Njc1YWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMTMyOSw2ICsx
MzI5LDcgQEAgX19aTks3V2ViQ29yZTlGcmFtZVZpZXcyMndpbmRvd0NsaXBSZWN0Rm9yTGF5ZXJF
UEtOU18xMVJlbmRlckxheWVyRWIKIF9fWk5LN1dlYkNvcmU5RnJhbWVWaWV3Mjhpc0VuY2xvc2Vk
SW5Db21wb3NpdGluZ0xheWVyRXYKIF9fWk5LN1dlYkNvcmU5UGFnZUNhY2hlMTBmcmFtZUNvdW50
RXYKIF9fWk5LN1dlYkNvcmU5UGFnZUNhY2hlMjFhdXRvcmVsZWFzZWRQYWdlQ291bnRFdgorX19a
Tks3V2ViQ29yZTlUcmVlU2NvcGUxNGdldEVsZW1lbnRCeUlkRVJLTjNXVEYxMkF0b21pY1N0cmlu
Z0UKIF9fWlRWTjdXZWJDb3JlMTJDaHJvbWVDbGllbnRFCiBfX1pUVk43V2ViQ29yZTEySlNET01X
cmFwcGVyRQogX19aVFZON1dlYkNvcmUxNkljb25EYXRhYmFzZUJhc2VFCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5jcHAKaW5kZXggODZjZGNiZWI5MGYwZjJjMzZlYjljNGQ1ZWRiZjRiZjMy
YzljOGExZi4uYjBmOGU0MTY0N2ZhZWI2ZWQ4MDk0MDcxOGFlZWY1ZjJjOTMzMjNlMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtNjcsNiArNjcsMTUgQEAgUGFzc1JlZlB0
cjxFbGVtZW50PiBJbnRlcm5hbHM6OmNyZWF0ZVNoYWRvd0NvbnRlbnRFbGVtZW50KERvY3VtZW50
KiBkb2N1bWVudCwgRXgKICAgICByZXR1cm4gU2hhZG93Q29udGVudEVsZW1lbnQ6OmNyZWF0ZShk
b2N1bWVudCk7CiB9CiAKK0VsZW1lbnQqIEludGVybmFsczo6Z2V0RWxlbWVudEJ5SWRJblRyZWVT
Y29wZShOb2RlKiB0cmVlU2NvcGUsIGNvbnN0IFN0cmluZyYgaWQsIEV4Y2VwdGlvbkNvZGUmIGVj
KQoreworICAgIGlmICghdHJlZVNjb3BlIHx8ICF0cmVlU2NvcGUtPmlzU2hhZG93Um9vdCgpKSB7
CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOworICAgICAgICByZXR1cm4gMDsKKyAg
ICB9CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PFNoYWRvd1Jvb3QqPih0cmVlU2NvcGUpLT5nZXRF
bGVtZW50QnlJZChpZCk7Cit9CisKIFN0cmluZyBJbnRlcm5hbHM6OmVsZW1lbnRSZW5kZXJUcmVl
QXNUZXh0KEVsZW1lbnQqIGVsZW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGlmICgh
ZWxlbWVudCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggZTY3N2UzMmYwODlk
Y2NhNzE4YjI0MmJhYjcwNTgxZDAwZjU2NmJlNC4uMTFhNWQwMDZmN2JjMjM3N2NkZTU5MzAwODZk
YTZkNTBjZmUzZTBhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC01Miw2ICs1
Miw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlbW92ZVNoYWRvd1Jvb3QoRWxlbWVudCogaG9zdCwg
RXhjZXB0aW9uQ29kZSYpOwogICAgIFN0cmluZyBzaGFkb3dQc2V1ZG9JZChFbGVtZW50KiwgRXhj
ZXB0aW9uQ29kZSYpOwogICAgIFBhc3NSZWZQdHI8RWxlbWVudD4gY3JlYXRlU2hhZG93Q29udGVu
dEVsZW1lbnQoRG9jdW1lbnQqLCBFeGNlcHRpb25Db2RlJik7CisgICAgRWxlbWVudCogZ2V0RWxl
bWVudEJ5SWRJblRyZWVTY29wZShOb2RlKiB0cmVlU2NvcGUsIGNvbnN0IFN0cmluZyYgaWQsIEV4
Y2VwdGlvbkNvZGUmKTsKIAogcHJpdmF0ZToKICAgICBJbnRlcm5hbHMoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCBiODI4NzFlNTI0MmY0ZjRiYzllZTc1ODRkZDU5Nzlk
N2UwZGEyMzQ2Li4yMTRiOGJhMWZmZjI0OTJiNmNjNDFiNGM5MTc0YzBjMjc0YjQzNzM3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC0zNSw2ICszNSw3IEBAIG1vZHVsZSB3
aW5kb3cgewogICAgICAgICB2b2lkIHJlbW92ZVNoYWRvd1Jvb3QoaW4gRWxlbWVudCBob3N0KSBy
YWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIERPTVN0cmluZyBzaGFkb3dQc2V1ZG9JZChp
biBFbGVtZW50IGVsZW1lbnQpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgRWxlbWVu
dCBjcmVhdGVTaGFkb3dDb250ZW50RWxlbWVudChpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFpc2Vz
KERPTUV4Y2VwdGlvbik7CisgICAgICAgIEVsZW1lbnQgZ2V0RWxlbWVudEJ5SWRJblRyZWVTY29w
ZShpbiBOb2RlIHNoYWRvd1Jvb3QsIGluIERPTVN0cmluZyBpZCkgcmFpc2VzKERPTUV4Y2VwdGlv
bik7CiAgICAgfTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101273</attachid>
            <date>2011-07-18 23:27:11 -0700</date>
            <delta_ts>2011-07-19 02:11:17 -0700</delta_ts>
            <desc>sync to ToT</desc>
            <filename>bug-64587-20110719152709.patch</filename>
            <type>text/plain</type>
            <size>8208</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTEyMzgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyNjE4ZDA5Y2YwMzQyMTQ4Y2I5MDNk
ODU1NGNmMGNhZmQ5MmZkYTEzLi43N2EzNmJjYTZlMGJhZTIwNTNlOGU0MTM1ZWIyMWEyODk4YTZi
ZWEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDctMTUgIEhheWF0byBJdG8gIDxoYXlh
dG9AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciByZXRyaWV2aW5nIGFu
IGVsZW1lbnQgaW4gVHJlZVNjb3BlIGJ5IGlkIHRvIHdpbmRvdy5pbnRlcm5hbHMgb2JqZWN0Lgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ1ODcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZG9t
L3NoYWRvdy9nZXQtZWxlbWVudC1ieS1pZC1pbi1zaGFkb3ctZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvZ2V0LWVsZW1lbnQtYnktaWQtaW4tc2hhZG93Lmh0
bWw6IEFkZGVkLgorCiAyMDExLTA3LTE4ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIEZpeCBDaHJvbWl1bSB0ZXN0IGV4cGVjdGF0aW9ucy4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9nZXQtZWxlbWVudC1ieS1pZC1pbi1zaGFkb3ct
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2dldC1lbGVtZW50LWJ5
LWlkLWluLXNoYWRvdy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzMzOTY4OWQyNzQ0ZDczZTg0
ZTliMWQzNDMxNzFlOTNjZDNiYmQwOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9nZXQtZWxlbWVudC1ieS1pZC1pbi1zaGFkb3ctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTIgQEAKK1Rlc3RzIHRvIGVuc3VyZSB0aGF0IGludGVybmFscy5nZXRFbGVtZW50
QnlJZEluU2hhZG93IGNhbiBnZXQgYW4gZWxlbWVudCBpbiBUcmVlU2NvcGUgb3duZWQgYnkgYSBz
aGFkb3dIb3N0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBnZXRFbGVt
ZW50SW5TaGFkb3coJ2RpdkEvaW5wdXRCJykuaWQgaXMgImlucHV0QiIKK1BBU1MgZ2V0RWxlbWVu
dEluU2hhZG93KCdkaXZBL2RpdkMnKS5pZCBpcyAiZGl2QyIKK1BBU1MgZ2V0RWxlbWVudEluU2hh
ZG93KCdkaXZBL2RpdkMvaW5wdXREJykuaWQgaXMgImlucHV0RCIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvZ2V0LWVsZW1lbnQtYnktaWQtaW4tc2hhZG93Lmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZ2V0LWVsZW1lbnQtYnktaWQtaW4tc2hhZG93Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYzg3ZTY4ZTc1YzFlNDRlZDUyMmMzODk5YjRiYzE5N2JlYzI4ZWE2NQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9nZXQtZWxlbWVudC1i
eS1pZC1pbi1zaGFkb3cuaHRtbApAQCAtMCwwICsxLDc3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdHMg
dG8gZW5zdXJlIHRoYXQgaW50ZXJuYWxzLmdldEVsZW1lbnRCeUlkSW5TaGFkb3cgY2FuIGdldCBh
biBlbGVtZW50IGluIFRyZWVTY29wZSBvd25lZCBieSBhIHNoYWRvd0hvc3QuIik7CisKKy8vIFRo
aXMgZnVuY3Rpb24gY2F0IHRha2Ugb3B0aW9uYWwgY2hpbGQgZWxlbWVudHMgYXMgYXJndW1lbnRz
WzI6XS4KK2Z1bmN0aW9uIGNyZWF0ZVNoYWRvdyh0YWdOYW1lLCBhdHRyaWJ1dGVzKQoreworICAg
IHZhciBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBmb3Ig
KHZhciBuYW1lIGluIGF0dHJpYnV0ZXMpIHsKKyAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUo
bmFtZSwgYXR0cmlidXRlc1tuYW1lXSk7CisgICAgfQorICAgIHZhciBzaGFkb3cgPSBpbnRlcm5h
bHMuZW5zdXJlU2hhZG93Um9vdChlbGVtZW50KTsKKyAgICB2YXIgY2hpbGRFbGVtZW50cyA9IEFy
cmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMik7CisgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCBjaGlsZEVsZW1lbnRzLmxlbmd0aDsgKytpKSB7CisgICAgICAgIHNoYWRvdy5hcHBl
bmRDaGlsZChjaGlsZEVsZW1lbnRzW2ldKTsKKyAgICB9CisgICAgcmV0dXJuIGVsZW1lbnQ7Cit9
CisKKy8vIFRoaXMgZnVuY3Rpb24gY2F0IHRha2Ugb3B0aW9uYWwgY2hpbGQgZWxlbWVudHMgYXMg
YXJndW1lbnRzWzI6XS4KK2Z1bmN0aW9uIGNyZWF0ZURvbSh0YWdOYW1lLCBhdHRyaWJ1dGVzKQor
eworICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBmb3IgKHZhciBuYW1lIGluIGF0dHJpYnV0ZXMpIHsKKyAgICAgICAgZWxlbWVudC5zZXRBdHRy
aWJ1dGUobmFtZSwgYXR0cmlidXRlc1tuYW1lXSk7CisgICAgfQorICAgIHZhciBjaGlsZEVsZW1l
bnRzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAyKTsKKyAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IGNoaWxkRWxlbWVudHMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgZWxl
bWVudC5hcHBlbmRDaGlsZChjaGlsZEVsZW1lbnRzW2ldKTsKKyAgICB9CisgICAgcmV0dXJuIGVs
ZW1lbnQ7Cit9CisKK2Z1bmN0aW9uIGdldEVsZW1lbnRJblNoYWRvdyhwYXRoKQoreworICAgIHZh
ciBpZHMgPSBwYXRoLnNwbGl0KCcvJyk7CisgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZChpZHNbMF0pOworICAgIGZvciAodmFyIGkgPSAxOyBlbGVtZW50ICE9IG51bGwg
JiYgaSA8IGlkcy5sZW5ndGg7ICsraSkgeworICAgICAgICB2YXIgc2hhZG93Um9vdCA9IGludGVy
bmFscy5zaGFkb3dSb290KGVsZW1lbnQpOworICAgICAgICBlbGVtZW50ID0gaW50ZXJuYWxzLmdl
dEVsZW1lbnRCeUlkSW5UcmVlU2NvcGUoc2hhZG93Um9vdCwgaWRzW2ldKTsKKyAgICB9CisgICAg
cmV0dXJuIGVsZW1lbnQ7Cit9CisKK2Z1bmN0aW9uIHByZXBhcmVEb21UcmVlKHBhcmVudCkKK3sK
KyAgICBwYXJlbnQuYXBwZW5kQ2hpbGQoCisgICAgICAgIGNyZWF0ZVNoYWRvdygnZGl2Jywgeydp
ZCc6ICdkaXZBJ30sCisgICAgICAgICAgICAgICAgICAgICBjcmVhdGVEb20oJ2lucHV0Jywgeydp
ZCc6ICdpbnB1dEInfSksCisgICAgICAgICAgICAgICAgICAgICBjcmVhdGVTaGFkb3coJ2Rpdics
IHsnaWQnOiAnZGl2Qyd9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0
ZURvbSgnaW5wdXQnLCB7J2lkJzogJ2lucHV0RCd9KSkpKTsKK30KKworZnVuY3Rpb24gdGVzdCgp
Cit7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIHByZXBhcmVEb21UcmVlKGRvY3VtZW50
LmJvZHkpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0RWxlbWVudEluU2hhZG93KCdk
aXZBL2lucHV0QicpLmlkIiwgJ2lucHV0QicpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
Z2V0RWxlbWVudEluU2hhZG93KCdkaXZBL2RpdkMnKS5pZCIsICdkaXZDJyk7CisgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJnZXRFbGVtZW50SW5TaGFkb3coJ2RpdkEvZGl2Qy9pbnB1dEQnKS5p
ZCIsICdpbnB1dEQnKTsKK30KKwordGVzdCgpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
dHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDdmYTcz
ODBhMWVmMzNlODA3NGRlMDY0NWU4YTRjOTQ4NWY4MzhmMDIuLjhiNGFkZDgzNDczNzk3N2YxNjU1
ZDEyZjQ5OGJmMzAxYTM5MzYzYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMS0w
Ny0xNSAgSGF5YXRvIEl0byAgPGhheWF0b0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIHN1
cHBvcnQgZm9yIHJldHJpZXZpbmcgYW4gZWxlbWVudCBpbiBUcmVlU2NvcGUgYnkgaWQgdG8gd2lu
ZG93LmludGVybmFscyBvYmplY3QuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02NDU4NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL3NoYWRvdy9nZXQtZWxlbWVudC1ieS1pZC1pbi1z
aGFkb3cuaHRtbAorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpnZXRFbGVtZW50
QnlJZEluVHJlZVNjb3BlKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAg
ICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDoKKwogMjAxMS0wNy0xOCAgUnlvc3VrZSBOaXdhICA8
cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSRUdSRVNTSU9OKDkxMjA5Pyk6IGZhc3QvY3Nz
L2N1c3RvbS1mb250LXhoZWlnaHQuaHRtbCBpcyBmYWlsaW5nIG9uIExlb3BhcmQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5leHAuaW4KaW5kZXggZDE3NzMwODI5MmNlYTVkMTQwMGE2ZTYxOWU3NDI1NzEyMGRiYmFmMi4u
ZjM3MjgzOTI0MzIzYzViMmEwMTcwYTI4ZjIzM2FhNDNmZGYzNTVhNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5l
eHAuaW4KQEAgLTEzMjksNiArMTMyOSw3IEBAIF9fWk5LN1dlYkNvcmU5RnJhbWVWaWV3MjJ3aW5k
b3dDbGlwUmVjdEZvckxheWVyRVBLTlNfMTFSZW5kZXJMYXllckViCiBfX1pOSzdXZWJDb3JlOUZy
YW1lVmlldzI4aXNFbmNsb3NlZEluQ29tcG9zaXRpbmdMYXllckV2CiBfX1pOSzdXZWJDb3JlOVBh
Z2VDYWNoZTEwZnJhbWVDb3VudEV2CiBfX1pOSzdXZWJDb3JlOVBhZ2VDYWNoZTIxYXV0b3JlbGVh
c2VkUGFnZUNvdW50RXYKK19fWk5LN1dlYkNvcmU5VHJlZVNjb3BlMTRnZXRFbGVtZW50QnlJZEVS
S04zV1RGMTJBdG9taWNTdHJpbmdFCiBfX1pUVk43V2ViQ29yZTEyQ2hyb21lQ2xpZW50RQogX19a
VFZON1dlYkNvcmUxMkpTRE9NV3JhcHBlckUKIF9fWlRWTjdXZWJDb3JlMTZJY29uRGF0YWJhc2VC
YXNlRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDRkN2I2YWFlMjdkYjBi
ZTQyNzM1OWQ4NjlmMDA5YzllODkyMDlmNTQuLmMzMDg0YThmNDE4Yjg3MTE3ZDU2NWJmNmEzYjFh
NDIyM2Q4NDA1ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTcwLDYg
KzcwLDE1IEBAIFBhc3NSZWZQdHI8RWxlbWVudD4gSW50ZXJuYWxzOjpjcmVhdGVTaGFkb3dDb250
ZW50RWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIEV4CiAgICAgcmV0dXJuIFNoYWRvd0NvbnRl
bnRFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQpOwogfQogCitFbGVtZW50KiBJbnRlcm5hbHM6Omdl
dEVsZW1lbnRCeUlkSW5UcmVlU2NvcGUoTm9kZSogdHJlZVNjb3BlLCBjb25zdCBTdHJpbmcmIGlk
LCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoIXRyZWVTY29wZSB8fCAhdHJlZVNjb3Bl
LT5pc1NoYWRvd1Jvb3QoKSkgeworICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKKyAg
ICAgICAgcmV0dXJuIDA7CisgICAgfQorICAgIHJldHVybiBzdGF0aWNfY2FzdDxTaGFkb3dSb290
Kj4odHJlZVNjb3BlKS0+Z2V0RWxlbWVudEJ5SWQoaWQpOworfQorCiBTdHJpbmcgSW50ZXJuYWxz
OjplbGVtZW50UmVuZGVyVHJlZUFzVGV4dChFbGVtZW50KiBlbGVtZW50LCBFeGNlcHRpb25Db2Rl
JiBlYykKIHsKICAgICBpZiAoIWVsZW1lbnQpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5o
CmluZGV4IGI2MjZiNTlhMGYwYWU5ZmY4YmYwNjhhMmRjYTAyYWYxMDUxODhhNDEuLmUzMjA2YWQ2
MGUwOTc3OWYwZDIzYzUzZWNhZGQyZDRlMjE2NTI5NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaApAQCAtNTMsNiArNTMsNyBAQCBwdWJsaWM6CiAgICAgRWxlbWVudCogaW5jbHVkZXJG
b3IoTm9kZSosIEV4Y2VwdGlvbkNvZGUmKTsKICAgICBTdHJpbmcgc2hhZG93UHNldWRvSWQoRWxl
bWVudCosIEV4Y2VwdGlvbkNvZGUmKTsKICAgICBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNyZWF0ZVNo
YWRvd0NvbnRlbnRFbGVtZW50KERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpOworICAgIEVsZW1l
bnQqIGdldEVsZW1lbnRCeUlkSW5UcmVlU2NvcGUoTm9kZSogdHJlZVNjb3BlLCBjb25zdCBTdHJp
bmcmIGlkLCBFeGNlcHRpb25Db2RlJik7CiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIHZv
aWQgc2V0SW5zcGVjdG9yUmVzb3VyY2VzRGF0YVNpemVMaW1pdHMoRG9jdW1lbnQqLCBpbnQgbWF4
aW11bVJlc291cmNlc0NvbnRlbnRTaXplLCBpbnQgbWF4aW11bVNpbmdsZVJlc291cmNlQ29udGVu
dFNpemUsIEV4Y2VwdGlvbkNvZGUmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApp
bmRleCBkN2IyMTgzYmQxYzU1NTc2MjliMTg5ODI3NjU3MTQ3YTdkZDMwNmYxLi4xMzI3ZWE1NjBj
N2UzOTU3ODk2NjNlMGVjNTkyM2FhODlhMTU2YjllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaWRsCkBAIC0zNiw4ICszNiw4IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICB2b2lk
IHJlbW92ZVNoYWRvd1Jvb3QoaW4gRWxlbWVudCBob3N0KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7
CiAgICAgICAgIERPTVN0cmluZyBzaGFkb3dQc2V1ZG9JZChpbiBFbGVtZW50IGVsZW1lbnQpIHJh
aXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgRWxlbWVudCBjcmVhdGVTaGFkb3dDb250ZW50
RWxlbWVudChpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7Ci0KICAg
ICAgICAgdm9pZCBzZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRhU2l6ZUxpbWl0cyhpbiBEb2N1bWVu
dCBkb2N1bWVudCwgaW4gbG9uZyBtYXhpbXVtUmVzb3VyY2VzQ29udGVudFNpemUsIGluIGxvbmcg
bWF4aW11bVNpbmdsZVJlc291cmNlQ29udGVudFNpemUpIHJhaXNlcyhET01FeGNlcHRpb24pOwor
ICAgICAgICBFbGVtZW50IGdldEVsZW1lbnRCeUlkSW5UcmVlU2NvcGUoaW4gTm9kZSBzaGFkb3dS
b290LCBpbiBET01TdHJpbmcgaWQpIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgIH07CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101289</attachid>
            <date>2011-07-19 02:11:24 -0700</date>
            <delta_ts>2011-07-19 03:51:21 -0700</delta_ts>
            <desc>2nd try. Add symbols</desc>
            <filename>bug-64587-20110719181122.patch</filename>
            <type>text/plain</type>
            <size>11173</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTEyMzgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyNjE4ZDA5Y2YwMzQyMTQ4Y2I5MDNk
ODU1NGNmMGNhZmQ5MmZkYTEzLi43N2EzNmJjYTZlMGJhZTIwNTNlOGU0MTM1ZWIyMWEyODk4YTZi
ZWEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDctMTUgIEhheWF0byBJdG8gIDxoYXlh
dG9AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciByZXRyaWV2aW5nIGFu
IGVsZW1lbnQgaW4gVHJlZVNjb3BlIGJ5IGlkIHRvIHdpbmRvdy5pbnRlcm5hbHMgb2JqZWN0Lgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ1ODcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZG9t
L3NoYWRvdy9nZXQtZWxlbWVudC1ieS1pZC1pbi1zaGFkb3ctZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvZ2V0LWVsZW1lbnQtYnktaWQtaW4tc2hhZG93Lmh0
bWw6IEFkZGVkLgorCiAyMDExLTA3LTE4ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIEZpeCBDaHJvbWl1bSB0ZXN0IGV4cGVjdGF0aW9ucy4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9nZXQtZWxlbWVudC1ieS1pZC1pbi1zaGFkb3ct
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2dldC1lbGVtZW50LWJ5
LWlkLWluLXNoYWRvdy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzMzOTY4OWQyNzQ0ZDczZTg0
ZTliMWQzNDMxNzFlOTNjZDNiYmQwOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9nZXQtZWxlbWVudC1ieS1pZC1pbi1zaGFkb3ctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTIgQEAKK1Rlc3RzIHRvIGVuc3VyZSB0aGF0IGludGVybmFscy5nZXRFbGVtZW50
QnlJZEluU2hhZG93IGNhbiBnZXQgYW4gZWxlbWVudCBpbiBUcmVlU2NvcGUgb3duZWQgYnkgYSBz
aGFkb3dIb3N0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBnZXRFbGVt
ZW50SW5TaGFkb3coJ2RpdkEvaW5wdXRCJykuaWQgaXMgImlucHV0QiIKK1BBU1MgZ2V0RWxlbWVu
dEluU2hhZG93KCdkaXZBL2RpdkMnKS5pZCBpcyAiZGl2QyIKK1BBU1MgZ2V0RWxlbWVudEluU2hh
ZG93KCdkaXZBL2RpdkMvaW5wdXREJykuaWQgaXMgImlucHV0RCIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvZ2V0LWVsZW1lbnQtYnktaWQtaW4tc2hhZG93Lmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZ2V0LWVsZW1lbnQtYnktaWQtaW4tc2hhZG93Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYzg3ZTY4ZTc1YzFlNDRlZDUyMmMzODk5YjRiYzE5N2JlYzI4ZWE2NQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9nZXQtZWxlbWVudC1i
eS1pZC1pbi1zaGFkb3cuaHRtbApAQCAtMCwwICsxLDc3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdHMg
dG8gZW5zdXJlIHRoYXQgaW50ZXJuYWxzLmdldEVsZW1lbnRCeUlkSW5TaGFkb3cgY2FuIGdldCBh
biBlbGVtZW50IGluIFRyZWVTY29wZSBvd25lZCBieSBhIHNoYWRvd0hvc3QuIik7CisKKy8vIFRo
aXMgZnVuY3Rpb24gY2F0IHRha2Ugb3B0aW9uYWwgY2hpbGQgZWxlbWVudHMgYXMgYXJndW1lbnRz
WzI6XS4KK2Z1bmN0aW9uIGNyZWF0ZVNoYWRvdyh0YWdOYW1lLCBhdHRyaWJ1dGVzKQoreworICAg
IHZhciBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBmb3Ig
KHZhciBuYW1lIGluIGF0dHJpYnV0ZXMpIHsKKyAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUo
bmFtZSwgYXR0cmlidXRlc1tuYW1lXSk7CisgICAgfQorICAgIHZhciBzaGFkb3cgPSBpbnRlcm5h
bHMuZW5zdXJlU2hhZG93Um9vdChlbGVtZW50KTsKKyAgICB2YXIgY2hpbGRFbGVtZW50cyA9IEFy
cmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMik7CisgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCBjaGlsZEVsZW1lbnRzLmxlbmd0aDsgKytpKSB7CisgICAgICAgIHNoYWRvdy5hcHBl
bmRDaGlsZChjaGlsZEVsZW1lbnRzW2ldKTsKKyAgICB9CisgICAgcmV0dXJuIGVsZW1lbnQ7Cit9
CisKKy8vIFRoaXMgZnVuY3Rpb24gY2F0IHRha2Ugb3B0aW9uYWwgY2hpbGQgZWxlbWVudHMgYXMg
YXJndW1lbnRzWzI6XS4KK2Z1bmN0aW9uIGNyZWF0ZURvbSh0YWdOYW1lLCBhdHRyaWJ1dGVzKQor
eworICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBmb3IgKHZhciBuYW1lIGluIGF0dHJpYnV0ZXMpIHsKKyAgICAgICAgZWxlbWVudC5zZXRBdHRy
aWJ1dGUobmFtZSwgYXR0cmlidXRlc1tuYW1lXSk7CisgICAgfQorICAgIHZhciBjaGlsZEVsZW1l
bnRzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAyKTsKKyAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IGNoaWxkRWxlbWVudHMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgZWxl
bWVudC5hcHBlbmRDaGlsZChjaGlsZEVsZW1lbnRzW2ldKTsKKyAgICB9CisgICAgcmV0dXJuIGVs
ZW1lbnQ7Cit9CisKK2Z1bmN0aW9uIGdldEVsZW1lbnRJblNoYWRvdyhwYXRoKQoreworICAgIHZh
ciBpZHMgPSBwYXRoLnNwbGl0KCcvJyk7CisgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZChpZHNbMF0pOworICAgIGZvciAodmFyIGkgPSAxOyBlbGVtZW50ICE9IG51bGwg
JiYgaSA8IGlkcy5sZW5ndGg7ICsraSkgeworICAgICAgICB2YXIgc2hhZG93Um9vdCA9IGludGVy
bmFscy5zaGFkb3dSb290KGVsZW1lbnQpOworICAgICAgICBlbGVtZW50ID0gaW50ZXJuYWxzLmdl
dEVsZW1lbnRCeUlkSW5UcmVlU2NvcGUoc2hhZG93Um9vdCwgaWRzW2ldKTsKKyAgICB9CisgICAg
cmV0dXJuIGVsZW1lbnQ7Cit9CisKK2Z1bmN0aW9uIHByZXBhcmVEb21UcmVlKHBhcmVudCkKK3sK
KyAgICBwYXJlbnQuYXBwZW5kQ2hpbGQoCisgICAgICAgIGNyZWF0ZVNoYWRvdygnZGl2Jywgeydp
ZCc6ICdkaXZBJ30sCisgICAgICAgICAgICAgICAgICAgICBjcmVhdGVEb20oJ2lucHV0Jywgeydp
ZCc6ICdpbnB1dEInfSksCisgICAgICAgICAgICAgICAgICAgICBjcmVhdGVTaGFkb3coJ2Rpdics
IHsnaWQnOiAnZGl2Qyd9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0
ZURvbSgnaW5wdXQnLCB7J2lkJzogJ2lucHV0RCd9KSkpKTsKK30KKworZnVuY3Rpb24gdGVzdCgp
Cit7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIHByZXBhcmVEb21UcmVlKGRvY3VtZW50
LmJvZHkpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0RWxlbWVudEluU2hhZG93KCdk
aXZBL2lucHV0QicpLmlkIiwgJ2lucHV0QicpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
Z2V0RWxlbWVudEluU2hhZG93KCdkaXZBL2RpdkMnKS5pZCIsICdkaXZDJyk7CisgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJnZXRFbGVtZW50SW5TaGFkb3coJ2RpdkEvZGl2Qy9pbnB1dEQnKS5p
ZCIsICdpbnB1dEQnKTsKK30KKwordGVzdCgpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
dHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDdmYTcz
ODBhMWVmMzNlODA3NGRlMDY0NWU4YTRjOTQ4NWY4MzhmMDIuLjhiNGFkZDgzNDczNzk3N2YxNjU1
ZDEyZjQ5OGJmMzAxYTM5MzYzYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMS0w
Ny0xNSAgSGF5YXRvIEl0byAgPGhheWF0b0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIHN1
cHBvcnQgZm9yIHJldHJpZXZpbmcgYW4gZWxlbWVudCBpbiBUcmVlU2NvcGUgYnkgaWQgdG8gd2lu
ZG93LmludGVybmFscyBvYmplY3QuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02NDU4NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL3NoYWRvdy9nZXQtZWxlbWVudC1ieS1pZC1pbi1z
aGFkb3cuaHRtbAorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpnZXRFbGVtZW50
QnlJZEluVHJlZVNjb3BlKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAg
ICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDoKKwogMjAxMS0wNy0xOCAgUnlvc3VrZSBOaXdhICA8
cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSRUdSRVNTSU9OKDkxMjA5Pyk6IGZhc3QvY3Nz
L2N1c3RvbS1mb250LXhoZWlnaHQuaHRtbCBpcyBmYWlsaW5nIG9uIExlb3BhcmQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5leHAuaW4KaW5kZXggZDE3NzMwODI5MmNlYTVkMTQwMGE2ZTYxOWU3NDI1NzEyMGRiYmFmMi4u
ZjM3MjgzOTI0MzIzYzViMmEwMTcwYTI4ZjIzM2FhNDNmZGYzNTVhNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5l
eHAuaW4KQEAgLTEzMjksNiArMTMyOSw3IEBAIF9fWk5LN1dlYkNvcmU5RnJhbWVWaWV3MjJ3aW5k
b3dDbGlwUmVjdEZvckxheWVyRVBLTlNfMTFSZW5kZXJMYXllckViCiBfX1pOSzdXZWJDb3JlOUZy
YW1lVmlldzI4aXNFbmNsb3NlZEluQ29tcG9zaXRpbmdMYXllckV2CiBfX1pOSzdXZWJDb3JlOVBh
Z2VDYWNoZTEwZnJhbWVDb3VudEV2CiBfX1pOSzdXZWJDb3JlOVBhZ2VDYWNoZTIxYXV0b3JlbGVh
c2VkUGFnZUNvdW50RXYKK19fWk5LN1dlYkNvcmU5VHJlZVNjb3BlMTRnZXRFbGVtZW50QnlJZEVS
S04zV1RGMTJBdG9taWNTdHJpbmdFCiBfX1pUVk43V2ViQ29yZTEyQ2hyb21lQ2xpZW50RQogX19a
VFZON1dlYkNvcmUxMkpTRE9NV3JhcHBlckUKIF9fWlRWTjdXZWJDb3JlMTZJY29uRGF0YWJhc2VC
YXNlRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDRkN2I2YWFlMjdkYjBi
ZTQyNzM1OWQ4NjlmMDA5YzllODkyMDlmNTQuLmMzMDg0YThmNDE4Yjg3MTE3ZDU2NWJmNmEzYjFh
NDIyM2Q4NDA1ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTcwLDYg
KzcwLDE1IEBAIFBhc3NSZWZQdHI8RWxlbWVudD4gSW50ZXJuYWxzOjpjcmVhdGVTaGFkb3dDb250
ZW50RWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIEV4CiAgICAgcmV0dXJuIFNoYWRvd0NvbnRl
bnRFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQpOwogfQogCitFbGVtZW50KiBJbnRlcm5hbHM6Omdl
dEVsZW1lbnRCeUlkSW5UcmVlU2NvcGUoTm9kZSogdHJlZVNjb3BlLCBjb25zdCBTdHJpbmcmIGlk
LCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoIXRyZWVTY29wZSB8fCAhdHJlZVNjb3Bl
LT5pc1NoYWRvd1Jvb3QoKSkgeworICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKKyAg
ICAgICAgcmV0dXJuIDA7CisgICAgfQorICAgIHJldHVybiBzdGF0aWNfY2FzdDxTaGFkb3dSb290
Kj4odHJlZVNjb3BlKS0+Z2V0RWxlbWVudEJ5SWQoaWQpOworfQorCiBTdHJpbmcgSW50ZXJuYWxz
OjplbGVtZW50UmVuZGVyVHJlZUFzVGV4dChFbGVtZW50KiBlbGVtZW50LCBFeGNlcHRpb25Db2Rl
JiBlYykKIHsKICAgICBpZiAoIWVsZW1lbnQpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5o
CmluZGV4IGI2MjZiNTlhMGYwYWU5ZmY4YmYwNjhhMmRjYTAyYWYxMDUxODhhNDEuLmUzMjA2YWQ2
MGUwOTc3OWYwZDIzYzUzZWNhZGQyZDRlMjE2NTI5NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaApAQCAtNTMsNiArNTMsNyBAQCBwdWJsaWM6CiAgICAgRWxlbWVudCogaW5jbHVkZXJG
b3IoTm9kZSosIEV4Y2VwdGlvbkNvZGUmKTsKICAgICBTdHJpbmcgc2hhZG93UHNldWRvSWQoRWxl
bWVudCosIEV4Y2VwdGlvbkNvZGUmKTsKICAgICBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNyZWF0ZVNo
YWRvd0NvbnRlbnRFbGVtZW50KERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpOworICAgIEVsZW1l
bnQqIGdldEVsZW1lbnRCeUlkSW5UcmVlU2NvcGUoTm9kZSogdHJlZVNjb3BlLCBjb25zdCBTdHJp
bmcmIGlkLCBFeGNlcHRpb25Db2RlJik7CiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIHZv
aWQgc2V0SW5zcGVjdG9yUmVzb3VyY2VzRGF0YVNpemVMaW1pdHMoRG9jdW1lbnQqLCBpbnQgbWF4
aW11bVJlc291cmNlc0NvbnRlbnRTaXplLCBpbnQgbWF4aW11bVNpbmdsZVJlc291cmNlQ29udGVu
dFNpemUsIEV4Y2VwdGlvbkNvZGUmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApp
bmRleCBkN2IyMTgzYmQxYzU1NTc2MjliMTg5ODI3NjU3MTQ3YTdkZDMwNmYxLi4xMzI3ZWE1NjBj
N2UzOTU3ODk2NjNlMGVjNTkyM2FhODlhMTU2YjllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaWRsCkBAIC0zNiw4ICszNiw4IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICB2b2lk
IHJlbW92ZVNoYWRvd1Jvb3QoaW4gRWxlbWVudCBob3N0KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7
CiAgICAgICAgIERPTVN0cmluZyBzaGFkb3dQc2V1ZG9JZChpbiBFbGVtZW50IGVsZW1lbnQpIHJh
aXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgRWxlbWVudCBjcmVhdGVTaGFkb3dDb250ZW50
RWxlbWVudChpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7Ci0KICAg
ICAgICAgdm9pZCBzZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRhU2l6ZUxpbWl0cyhpbiBEb2N1bWVu
dCBkb2N1bWVudCwgaW4gbG9uZyBtYXhpbXVtUmVzb3VyY2VzQ29udGVudFNpemUsIGluIGxvbmcg
bWF4aW11bVNpbmdsZVJlc291cmNlQ29udGVudFNpemUpIHJhaXNlcyhET01FeGNlcHRpb24pOwor
ICAgICAgICBFbGVtZW50IGdldEVsZW1lbnRCeUlkSW5UcmVlU2NvcGUoaW4gTm9kZSBzaGFkb3dS
b290LCBpbiBET01TdHJpbmcgaWQpIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgIH07CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZiBiL1NvdXJjZS9XZWJL
aXQyL3dpbi9XZWJLaXQyLmRlZgppbmRleCA3MTFkMDJmZTUxMzVhMmM3OTYxMjQyZmQ4NTJkZmJm
MmQxMDNiNTdmLi45NWYxYjk4N2JkNzdiMzkzNTcyZWQxMzFhYTNhYzY5YjdmMmE4YTgxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKKysrIGIvU291cmNlL1dlYktp
dDIvd2luL1dlYktpdDIuZGVmCkBAIC0xNDgsNiArMTQ4LDcgQEAgRVhQT1JUUwogICAgICAgICA/
ZW5zdXJlU2hhZG93Um9vdEBFbGVtZW50QFdlYkNvcmVAQFFBRVBBVlNoYWRvd1Jvb3RAMkBYWgog
ICAgICAgICA/ZXh0ZXJuYWxSZXByZXNlbnRhdGlvbkBXZWJDb3JlQEBZQT9BVlN0cmluZ0BXVEZA
QFBBVkVsZW1lbnRAMUBJQFoKICAgICAgICAgP2dldENhY2hlZERPTVN0cnVjdHVyZUBXZWJDb3Jl
QEBZQVBBVlN0cnVjdHVyZUBKU0NAQFBBVkpTRE9NR2xvYmFsT2JqZWN0QDFAUEJVQ2xhc3NJbmZv
QDNAQFoKKyAgICAgICAgP2dldEVsZW1lbnRCeUlkQFRyZWVTY29wZUBXZWJDb3JlQEBRQkVQQVZF
bGVtZW50QDJAQUJWQXRvbWljU3RyaW5nQFdURkBAQFoKICAgICAgICAgP2lzUHJlbG9hZGVkQENh
Y2hlZFJlc291cmNlTG9hZGVyQFdlYkNvcmVAQFFCRV9OQUJWU3RyaW5nQFdURkBAQFoKICAgICAg
ICAgP2pzU3RyaW5nU2xvd0Nhc2VAV2ViQ29yZUBAWUE/QVZKU1ZhbHVlQEpTQ0BAUEFWRXhlY1N0
YXRlQDNAQUFWPyRIYXNoTWFwQFBBVlN0cmluZ0ltcGxAV1RGQEBWPyRXZWFrQFZKU1N0cmluZ0BK
U0NAQEBKU0NAQFVTdHJpbmdIYXNoQDJAVT8kSGFzaFRyYWl0c0BQQVZTdHJpbmdJbXBsQFdURkBA
QDJAVT8kSGFzaFRyYWl0c0BWPyRXZWFrQFZKU1N0cmluZ0BKU0NAQEBKU0NAQEAyQEBXVEZAQFBB
VlN0cmluZ0ltcGxANkBAWgogICAgICAgICA/cGFnZUBEb2N1bWVudEBXZWJDb3JlQEBRQkVQQVZQ
YWdlQDJAWFoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRl
ZiBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZgppbmRleCBkNWJhNGVlNDIy
NTgyNzVmYmE2MTdjZGQwZTg2MzZhNTM0ZDZhNDQ4Li44YjNlMmEzNTc0M2VjYjY3OTk3NDU5YTBl
NTY3Y2YxNjRjZTRlOTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNG
TGl0ZS5kZWYKKysrIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxpdGUuZGVmCkBAIC0x
NDAsNiArMTQwLDcgQEAgRVhQT1JUUwogICAgICAgICA/ZW5zdXJlU2hhZG93Um9vdEBFbGVtZW50
QFdlYkNvcmVAQFFBRVBBVlNoYWRvd1Jvb3RAMkBYWgogICAgICAgICA/ZXh0ZXJuYWxSZXByZXNl
bnRhdGlvbkBXZWJDb3JlQEBZQT9BVlN0cmluZ0BXVEZAQFBBVkVsZW1lbnRAMUBJQFoKICAgICAg
ICAgP2dldENhY2hlZERPTVN0cnVjdHVyZUBXZWJDb3JlQEBZQVBBVlN0cnVjdHVyZUBKU0NAQFBB
VkpTRE9NR2xvYmFsT2JqZWN0QDFAUEJVQ2xhc3NJbmZvQDNAQFoKKyAgICAgICAgP2dldEVsZW1l
bnRCeUlkQFRyZWVTY29wZUBXZWJDb3JlQEBRQkVQQVZFbGVtZW50QDJAQUJWQXRvbWljU3RyaW5n
QFdURkBAQFoKICAgICAgICAgP2lzUHJlbG9hZGVkQENhY2hlZFJlc291cmNlTG9hZGVyQFdlYkNv
cmVAQFFCRV9OQUJWU3RyaW5nQFdURkBAQFoKICAgICAgICAgP2pzU3RyaW5nU2xvd0Nhc2VAV2Vi
Q29yZUBAWUE/QVZKU1ZhbHVlQEpTQ0BAUEFWRXhlY1N0YXRlQDNAQUFWPyRIYXNoTWFwQFBBVlN0
cmluZ0ltcGxAV1RGQEBWPyRXZWFrQFZKU1N0cmluZ0BKU0NAQEBKU0NAQFVTdHJpbmdIYXNoQDJA
VT8kSGFzaFRyYWl0c0BQQVZTdHJpbmdJbXBsQFdURkBAQDJAVT8kSGFzaFRyYWl0c0BWPyRXZWFr
QFZKU1N0cmluZ0BKU0NAQEBKU0NAQEAyQEBXVEZAQFBBVlN0cmluZ0ltcGxANkBAWgogICAgICAg
ICA/cGFnZUBEb2N1bWVudEBXZWJDb3JlQEBRQkVQQVZQYWdlQDJAWFoKQEAgLTE1MSw0ICsxNTIs
NCBAQCBFWFBPUlRTCiAgICAgICAgID90b0VsZW1lbnRAV2ViQ29yZUBAWUFQQVZFbGVtZW50QDFA
VkpTVmFsdWVASlNDQEBAWgogICAgICAgICA/dG9KU0BXZWJDb3JlQEBZQT9BVkpTVmFsdWVASlND
QEBQQVZFeGVjU3RhdGVAM0BQQVZKU0RPTUdsb2JhbE9iamVjdEAxQFBBVk5vZGVAMUBAWgogICAg
ICAgICA/dG9Ob2RlQFdlYkNvcmVAQFlBUEFWTm9kZUAxQFZKU1ZhbHVlQEpTQ0BAQFoKLSAgICAg
ICAgP3ZpcnR1YWxGdW5jdGlvblRvUHJldmVudFdlYWtWdGFibGVASlNET01XcmFwcGVyQFdlYkNv
cmVAQE1BRVhYWgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKyAgICAgICAgP3ZpcnR1YWxG
dW5jdGlvblRvUHJldmVudFdlYWtWdGFibGVASlNET01XcmFwcGVyQFdlYkNvcmVAQE1BRVhYWgpk
aWZmIC0tZ2l0IGEvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlciBiL1NvdXJjZS9hdXRv
dG9vbHMvc3ltYm9scy5maWx0ZXIKaW5kZXggMDQzMDE0NTljNzA2NDFkZWQ2YzE5MWMzZTZjNzJh
NzViNDQ2ZDA2MC4uZDVkNjkwNmFkZTQ5ODYzMzljOTRkMDQzYWM1YzNjNTc2MDFmMWVjNSAxMDA2
NDQKLS0tIGEvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgorKysgYi9Tb3VyY2UvYXV0
b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCkBAIC01NSw2ICs1NSw3IEBAIF9aTks3V2ViQ29yZTIwQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIxMWlzUHJlbG9hZGVkRVJLTjNXVEY2U3RyaW5nRTsKIF9aTks3V2Vi
Q29yZTZKU05vZGUyMXB1c2hFdmVudEhhbmRsZXJTY29wZUVQTjNKU0M5RXhlY1N0YXRlRVBOUzFf
MTRTY29wZUNoYWluTm9kZUU7CiBfWk5LN1dlYkNvcmU3RWxlbWVudDEwc2hhZG93Um9vdEV2Owog
X1pOSzdXZWJDb3JlOERvY3VtZW50NHBhZ2VFdjsKK19aTks3V2ViQ29yZTlUcmVlU2NvcGUxNGdl
dEVsZW1lbnRCeUlkRVJLTjNXVEYxMkF0b21pY1N0cmluZ0U7CiBsb2NhbDoKIF9aKjsKIGN0aSo7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101297</attachid>
            <date>2011-07-19 03:51:28 -0700</date>
            <delta_ts>2011-07-20 01:49:28 -0700</delta_ts>
            <desc>ready for review</desc>
            <filename>bug-64587-20110719195126.patch</filename>
            <type>text/plain</type>
            <size>13040</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTEyMzgKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5n
ZUxvZwppbmRleCA3ZDhiM2U1M2FkMmUzNWQxNDkxY2Y5YmE2ZDQ3YmNhZTljOWJhYzRmLi5hYTJl
NDQ1MDkxMzQ4YWQwN2EyY2ZmNmI1OWUzZGJkZTE2ZDY5MjU1IDEwMDY0NAotLS0gYS9DaGFuZ2VM
b2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDctMTkgIEhheWF0byBJ
dG8gIDxoYXlhdG9AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBnZXR0
aW5nIGFuIGVsZW1lbnQgaW4gVHJlZVNjb3BlIGJ5IGl0cyBpZCBpbnRvIGEgd2luZG93LmludGVy
bmFscyBvYmplY3QuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02NDU4NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcjoKKwogMjAxMS0wNy0xOCAgTU9S
SVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KIAogICAgICAgICBbU2hhZG93Q29udGVu
dEVsZW1lbnRdIGZvcndhcmRlZCBub2RlIHNob3VsZCBiZSBhYmxlIHRvIGFjY2VzcyBpdHMgaG9z
dGluZyBjb250ZW50IGVsZW1lbnQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjYxOGQwOWNmMDM0MjE0OGNiOTAzZDg1NTRj
ZjBjYWZkOTJmZGExMy4uNjYyNjUzYzlkYjhhMzQ1MjNjNmY1MzU1NzQ3NDMxOTI3ZWJmMGVhNiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDExLTA3LTE5ICBIYXlhdG8gSXRvICA8aGF5YXRvQGNo
cm9taXVtLm9yZz4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgZ2V0dGluZyBhbiBlbGVtZW50
IGluIFRyZWVTY29wZSBieSBpdHMgaWQgaW50byBhIHdpbmRvdy5pbnRlcm5hbHMgb2JqZWN0Lgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ1ODcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZG9t
L3NoYWRvdy9nZXQtZWxlbWVudC1ieS1pZC1pbi1zaGFkb3ctZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvZ2V0LWVsZW1lbnQtYnktaWQtaW4tc2hhZG93Lmh0
bWw6IEFkZGVkLgorCiAyMDExLTA3LTE4ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIEZpeCBDaHJvbWl1bSB0ZXN0IGV4cGVjdGF0aW9ucy4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9nZXQtZWxlbWVudC1ieS1pZC1pbi1zaGFkb3ct
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2dldC1lbGVtZW50LWJ5
LWlkLWluLXNoYWRvdy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTAwYjEyMzc5NjVkODhhMmFi
ODg3NjZmOWRhOTkzNjA0NWJiMWU0NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9nZXQtZWxlbWVudC1ieS1pZC1pbi1zaGFkb3ctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTIgQEAKK1Rlc3RzIHRvIGVuc3VyZSB0aGF0IGludGVybmFscy5nZXRFbGVtZW50
QnlJZEluVHJlZVNjb3BlIGNhbiBnZXQgYW4gZWxlbWVudCBpbiBUcmVlU2NvcGUgYnkgaXRzIGlk
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBnZXRFbGVtZW50SW5TaGFk
b3coJ2RpdkEvaW5wdXRCJykuaWQgaXMgImlucHV0QiIKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93
KCdkaXZBL2RpdkMnKS5pZCBpcyAiZGl2QyIKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93KCdkaXZB
L2RpdkMvaW5wdXREJykuaWQgaXMgImlucHV0RCIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvZ2V0LWVsZW1lbnQtYnktaWQtaW4tc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvZ2V0LWVsZW1lbnQtYnktaWQtaW4tc2hhZG93Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNjM2NzBjYTI3NzRhNWZkNzE4MWZjZGU0NjE5NGFmOTQzOWIzMjk5YQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9nZXQtZWxlbWVudC1ieS1pZC1pbi1z
aGFkb3cuaHRtbApAQCAtMCwwICsxLDc3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdHMgdG8gZW5zdXJl
IHRoYXQgaW50ZXJuYWxzLmdldEVsZW1lbnRCeUlkSW5UcmVlU2NvcGUgY2FuIGdldCBhbiBlbGVt
ZW50IGluIFRyZWVTY29wZSBieSBpdHMgaWQuIik7CisKKy8vIFRoaXMgZnVuY3Rpb24gY2FuIHRh
a2Ugb3B0aW9uYWwgY2hpbGQgZWxlbWVudHMgYXMgYXJndW1lbnRzWzI6XS4KK2Z1bmN0aW9uIGNy
ZWF0ZVNoYWRvdyh0YWdOYW1lLCBhdHRyaWJ1dGVzKQoreworICAgIHZhciBlbGVtZW50ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBmb3IgKHZhciBuYW1lIGluIGF0dHJp
YnV0ZXMpIHsKKyAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUobmFtZSwgYXR0cmlidXRlc1tu
YW1lXSk7CisgICAgfQorICAgIHZhciBzaGFkb3cgPSBpbnRlcm5hbHMuZW5zdXJlU2hhZG93Um9v
dChlbGVtZW50KTsKKyAgICB2YXIgY2hpbGRFbGVtZW50cyA9IEFycmF5LnByb3RvdHlwZS5zbGlj
ZS5jYWxsKGFyZ3VtZW50cywgMik7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZEVsZW1l
bnRzLmxlbmd0aDsgKytpKSB7CisgICAgICAgIHNoYWRvdy5hcHBlbmRDaGlsZChjaGlsZEVsZW1l
bnRzW2ldKTsKKyAgICB9CisgICAgcmV0dXJuIGVsZW1lbnQ7Cit9CisKKy8vIFRoaXMgZnVuY3Rp
b24gY2FuIHRha2Ugb3B0aW9uYWwgY2hpbGQgZWxlbWVudHMgYXMgYXJndW1lbnRzWzI6XS4KK2Z1
bmN0aW9uIGNyZWF0ZURvbSh0YWdOYW1lLCBhdHRyaWJ1dGVzKQoreworICAgIHZhciBlbGVtZW50
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBmb3IgKHZhciBuYW1lIGlu
IGF0dHJpYnV0ZXMpIHsKKyAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUobmFtZSwgYXR0cmli
dXRlc1tuYW1lXSk7CisgICAgfQorICAgIHZhciBjaGlsZEVsZW1lbnRzID0gQXJyYXkucHJvdG90
eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAyKTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNo
aWxkRWxlbWVudHMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgZWxlbWVudC5hcHBlbmRDaGlsZChj
aGlsZEVsZW1lbnRzW2ldKTsKKyAgICB9CisgICAgcmV0dXJuIGVsZW1lbnQ7Cit9CisKK2Z1bmN0
aW9uIGdldEVsZW1lbnRJblNoYWRvdyhwYXRoKQoreworICAgIHZhciBpZHMgPSBwYXRoLnNwbGl0
KCcvJyk7CisgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZHNbMF0p
OworICAgIGZvciAodmFyIGkgPSAxOyBlbGVtZW50ICE9IG51bGwgJiYgaSA8IGlkcy5sZW5ndGg7
ICsraSkgeworICAgICAgICB2YXIgc2hhZG93Um9vdCA9IGludGVybmFscy5zaGFkb3dSb290KGVs
ZW1lbnQpOworICAgICAgICBlbGVtZW50ID0gaW50ZXJuYWxzLmdldEVsZW1lbnRCeUlkSW5UcmVl
U2NvcGUoc2hhZG93Um9vdCwgaWRzW2ldKTsKKyAgICB9CisgICAgcmV0dXJuIGVsZW1lbnQ7Cit9
CisKK2Z1bmN0aW9uIHByZXBhcmVEb21UcmVlKHBhcmVudCkKK3sKKyAgICBwYXJlbnQuYXBwZW5k
Q2hpbGQoCisgICAgICAgIGNyZWF0ZVNoYWRvdygnZGl2JywgeydpZCc6ICdkaXZBJ30sCisgICAg
ICAgICAgICAgICAgICAgICBjcmVhdGVEb20oJ2lucHV0JywgeydpZCc6ICdpbnB1dEInfSksCisg
ICAgICAgICAgICAgICAgICAgICBjcmVhdGVTaGFkb3coJ2RpdicsIHsnaWQnOiAnZGl2Qyd9LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZURvbSgnaW5wdXQnLCB7J2lk
JzogJ2lucHV0RCd9KSkpKTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVt
cEFzVGV4dCgpOworICAgIHByZXBhcmVEb21UcmVlKGRvY3VtZW50LmJvZHkpOworICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZ2V0RWxlbWVudEluU2hhZG93KCdkaXZBL2lucHV0QicpLmlkIiwg
J2lucHV0QicpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0RWxlbWVudEluU2hhZG93
KCdkaXZBL2RpdkMnKS5pZCIsICdkaXZDJyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJn
ZXRFbGVtZW50SW5TaGFkb3coJ2RpdkEvZGl2Qy9pbnB1dEQnKS5pZCIsICdpbnB1dEQnKTsKK30K
KwordGVzdCgpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDdmYTczODBhMWVmMzNlODA3NGRlMDY0
NWU4YTRjOTQ4NWY4MzhmMDIuLjhmZjI4MzUzNjJmNDUyNWRiOTA1Y2E5ZmQ4NjQzNjEwY2YwNDRk
NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBAQAorMjAxMS0wNy0xOSAgSGF5YXRvIEl0byAg
PGhheWF0b0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGdldHRpbmcg
YW4gZWxlbWVudCBpbiBUcmVlU2NvcGUgYnkgaXRzIGlkIGludG8gYSB3aW5kb3cuaW50ZXJuYWxz
IG9iamVjdC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTY0NTg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGVzdDogZmFzdC9kb20vc2hhZG93L2dldC1lbGVtZW50LWJ5LWlkLWluLXNoYWRvdy5odG1sCisK
KyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OmdldEVsZW1lbnRCeUlkSW5UcmVlU2Nv
cGUpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9J
bnRlcm5hbHMuaWRsOgorCisyMDExLTA3LTE1ICBIYXlhdG8gSXRvICA8aGF5YXRvQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgcmV0cmlldmluZyBhbiBlbGVtZW50IGlu
IFRyZWVTY29wZSBieSBpZCB0byB3aW5kb3cuaW50ZXJuYWxzIG9iamVjdC4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY0NTg3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vc2hhZG93
L2dldC1lbGVtZW50LWJ5LWlkLWluLXNoYWRvdy5odG1sCisKKyAgICAgICAgKiBXZWJDb3JlLmV4
cC5pbjoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnRlcm5hbHM6OmdldEVsZW1lbnRCeUlkSW5UcmVlU2NvcGUpOgorICAgICAgICAqIHRlc3Rp
bmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgorCiAyMDEx
LTA3LTE4ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJFR1JF
U1NJT04oOTEyMDk/KTogZmFzdC9jc3MvY3VzdG9tLWZvbnQteGhlaWdodC5odG1sIGlzIGZhaWxp
bmcgb24gTGVvcGFyZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4g
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCBkMTc3MzA4MjkyY2VhNWQxNDAw
YTZlNjE5ZTc0MjU3MTIwZGJiYWYyLi5mMzcyODM5MjQzMjNjNWIyYTAxNzBhMjhmMjMzYWE0M2Zk
ZjM1NWE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMTMyOSw2ICsxMzI5LDcgQEAgX19aTks3
V2ViQ29yZTlGcmFtZVZpZXcyMndpbmRvd0NsaXBSZWN0Rm9yTGF5ZXJFUEtOU18xMVJlbmRlckxh
eWVyRWIKIF9fWk5LN1dlYkNvcmU5RnJhbWVWaWV3Mjhpc0VuY2xvc2VkSW5Db21wb3NpdGluZ0xh
eWVyRXYKIF9fWk5LN1dlYkNvcmU5UGFnZUNhY2hlMTBmcmFtZUNvdW50RXYKIF9fWk5LN1dlYkNv
cmU5UGFnZUNhY2hlMjFhdXRvcmVsZWFzZWRQYWdlQ291bnRFdgorX19aTks3V2ViQ29yZTlUcmVl
U2NvcGUxNGdldEVsZW1lbnRCeUlkRVJLTjNXVEYxMkF0b21pY1N0cmluZ0UKIF9fWlRWTjdXZWJD
b3JlMTJDaHJvbWVDbGllbnRFCiBfX1pUVk43V2ViQ29yZTEySlNET01XcmFwcGVyRQogX19aVFZO
N1dlYkNvcmUxNkljb25EYXRhYmFzZUJhc2VFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5j
cHAKaW5kZXggNGQ3YjZhYWUyN2RiMGJlNDI3MzU5ZDg2OWYwMDljOWU4OTIwOWY1NC4uYzMwODRh
OGY0MThiODcxMTdkNTY1YmY2YTNiMWE0MjIzZDg0MDVmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmNwcApAQCAtNzAsNiArNzAsMTUgQEAgUGFzc1JlZlB0cjxFbGVtZW50PiBJbnRl
cm5hbHM6OmNyZWF0ZVNoYWRvd0NvbnRlbnRFbGVtZW50KERvY3VtZW50KiBkb2N1bWVudCwgRXgK
ICAgICByZXR1cm4gU2hhZG93Q29udGVudEVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCk7CiB9CiAK
K0VsZW1lbnQqIEludGVybmFsczo6Z2V0RWxlbWVudEJ5SWRJblRyZWVTY29wZShOb2RlKiB0cmVl
U2NvcGUsIGNvbnN0IFN0cmluZyYgaWQsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICgh
dHJlZVNjb3BlIHx8ICF0cmVlU2NvcGUtPmlzU2hhZG93Um9vdCgpKSB7CisgICAgICAgIGVjID0g
SU5WQUxJRF9BQ0NFU1NfRVJSOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgcmV0dXJu
IHN0YXRpY19jYXN0PFNoYWRvd1Jvb3QqPih0cmVlU2NvcGUpLT5nZXRFbGVtZW50QnlJZChpZCk7
Cit9CisKIFN0cmluZyBJbnRlcm5hbHM6OmVsZW1lbnRSZW5kZXJUcmVlQXNUZXh0KEVsZW1lbnQq
IGVsZW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGlmICghZWxlbWVudCkgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggYjYyNmI1OWEwZjBhZTlmZjhiZjA2OGEyZGNh
MDJhZjEwNTE4OGE0MS4uZTMyMDZhZDYwZTA5Nzc5ZjBkMjNjNTNlY2FkZDJkNGUyMTY1Mjk2MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC01Myw2ICs1Myw3IEBAIHB1YmxpYzoK
ICAgICBFbGVtZW50KiBpbmNsdWRlckZvcihOb2RlKiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIFN0
cmluZyBzaGFkb3dQc2V1ZG9JZChFbGVtZW50KiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIFBhc3NS
ZWZQdHI8RWxlbWVudD4gY3JlYXRlU2hhZG93Q29udGVudEVsZW1lbnQoRG9jdW1lbnQqLCBFeGNl
cHRpb25Db2RlJik7CisgICAgRWxlbWVudCogZ2V0RWxlbWVudEJ5SWRJblRyZWVTY29wZShOb2Rl
KiB0cmVlU2NvcGUsIGNvbnN0IFN0cmluZyYgaWQsIEV4Y2VwdGlvbkNvZGUmKTsKIAogI2lmIEVO
QUJMRShJTlNQRUNUT1IpCiAgICAgdm9pZCBzZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRhU2l6ZUxp
bWl0cyhEb2N1bWVudCosIGludCBtYXhpbXVtUmVzb3VyY2VzQ29udGVudFNpemUsIGludCBtYXhp
bXVtU2luZ2xlUmVzb3VyY2VDb250ZW50U2l6ZSwgRXhjZXB0aW9uQ29kZSYpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IGQ3YjIxODNiZDFjNTU1NzYyOWIxODk4Mjc2NTcx
NDdhN2RkMzA2ZjEuLjY1MTVhM2M2ZWJkZDg4ZDBkYjk4Y2IwODEzMzMxZWIwZDVmYzQ3MDIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTM2LDYgKzM2LDcgQEAgbW9kdWxl
IHdpbmRvdyB7CiAgICAgICAgIHZvaWQgcmVtb3ZlU2hhZG93Um9vdChpbiBFbGVtZW50IGhvc3Qp
IHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgRE9NU3RyaW5nIHNoYWRvd1BzZXVkb0lk
KGluIEVsZW1lbnQgZWxlbWVudCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogICAgICAgICBFbGVt
ZW50IGNyZWF0ZVNoYWRvd0NvbnRlbnRFbGVtZW50KGluIERvY3VtZW50IGRvY3VtZW50KSByYWlz
ZXMoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgRWxlbWVudCBnZXRFbGVtZW50QnlJZEluVHJlZVNj
b3BlKGluIE5vZGUgc2hhZG93Um9vdCwgaW4gRE9NU3RyaW5nIGlkKSByYWlzZXMoRE9NRXhjZXB0
aW9uKTsKIAogICAgICAgICB2b2lkIHNldEluc3BlY3RvclJlc291cmNlc0RhdGFTaXplTGltaXRz
KGluIERvY3VtZW50IGRvY3VtZW50LCBpbiBsb25nIG1heGltdW1SZXNvdXJjZXNDb250ZW50U2l6
ZSwgaW4gbG9uZyBtYXhpbXVtU2luZ2xlUmVzb3VyY2VDb250ZW50U2l6ZSkgcmFpc2VzKERPTUV4
Y2VwdGlvbik7CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBlNzYzYmJkNjEwMDE1OWY0ZTg0YzY4MDY0
MWQ2MmQ4Mjk4ZmIxNTZhLi45MTVmNGM2MWJiMTAyYjE0NDRiOTBiYjQ1NGNkMjA4ZTQyMGMwYjIy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDctMTkgIEhheWF0byBJdG8gIDxo
YXlhdG9AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBnZXR0aW5nIGFu
IGVsZW1lbnQgaW4gVHJlZVNjb3BlIGJ5IGl0cyBpZCBpbnRvIGEgd2luZG93LmludGVybmFscyBv
YmplY3QuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
NDU4NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRl
c3Q6IGZhc3QvZG9tL3NoYWRvdy9nZXQtZWxlbWVudC1ieS1pZC1pbi1zaGFkb3cuaHRtbAorCisg
ICAgICAgICogd2luL1dlYktpdDIuZGVmOgorICAgICAgICAqIHdpbi9XZWJLaXQyQ0ZMaXRlLmRl
ZjoKKwogMjAxMS0wNy0xOCAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KIAog
ICAgICAgICBbU2hhZG93Q29udGVudEVsZW1lbnRdIGZvcndhcmRlZCBub2RlIHNob3VsZCBiZSBh
YmxlIHRvIGFjY2VzcyBpdHMgaG9zdGluZyBjb250ZW50IGVsZW1lbnQuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0
Mi5kZWYKaW5kZXggNzExZDAyZmU1MTM1YTJjNzk2MTI0MmZkODUyZGZiZjJkMTAzYjU3Zi4uOTVm
MWI5ODdiZDc3YjM5MzU3MmVkMTMxYWEzYWM2OWI3ZjJhOGE4MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvd2luL1dlYktpdDIuZGVmCisrKyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQy
LmRlZgpAQCAtMTQ4LDYgKzE0OCw3IEBAIEVYUE9SVFMKICAgICAgICAgP2Vuc3VyZVNoYWRvd1Jv
b3RARWxlbWVudEBXZWJDb3JlQEBRQUVQQVZTaGFkb3dSb290QDJAWFoKICAgICAgICAgP2V4dGVy
bmFsUmVwcmVzZW50YXRpb25AV2ViQ29yZUBAWUE/QVZTdHJpbmdAV1RGQEBQQVZFbGVtZW50QDFA
SUBaCiAgICAgICAgID9nZXRDYWNoZWRET01TdHJ1Y3R1cmVAV2ViQ29yZUBAWUFQQVZTdHJ1Y3R1
cmVASlNDQEBQQVZKU0RPTUdsb2JhbE9iamVjdEAxQFBCVUNsYXNzSW5mb0AzQEBaCisgICAgICAg
ID9nZXRFbGVtZW50QnlJZEBUcmVlU2NvcGVAV2ViQ29yZUBAUUJFUEFWRWxlbWVudEAyQEFCVkF0
b21pY1N0cmluZ0BXVEZAQEBaCiAgICAgICAgID9pc1ByZWxvYWRlZEBDYWNoZWRSZXNvdXJjZUxv
YWRlckBXZWJDb3JlQEBRQkVfTkFCVlN0cmluZ0BXVEZAQEBaCiAgICAgICAgID9qc1N0cmluZ1Ns
b3dDYXNlQFdlYkNvcmVAQFlBP0FWSlNWYWx1ZUBKU0NAQFBBVkV4ZWNTdGF0ZUAzQEFBVj8kSGFz
aE1hcEBQQVZTdHJpbmdJbXBsQFdURkBAVj8kV2Vha0BWSlNTdHJpbmdASlNDQEBASlNDQEBVU3Ry
aW5nSGFzaEAyQFU/JEhhc2hUcmFpdHNAUEFWU3RyaW5nSW1wbEBXVEZAQEAyQFU/JEhhc2hUcmFp
dHNAVj8kV2Vha0BWSlNTdHJpbmdASlNDQEBASlNDQEBAMkBAV1RGQEBQQVZTdHJpbmdJbXBsQDZA
QFoKICAgICAgICAgP3BhZ2VARG9jdW1lbnRAV2ViQ29yZUBAUUJFUEFWUGFnZUAyQFhaCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYgYi9Tb3VyY2UvV2Vi
S2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYKaW5kZXggZDViYTRlZTQyMjU4Mjc1ZmJhNjE3Y2Rk
MGU4NjM2YTUzNGQ2YTQ0OC4uOGIzZTJhMzU3NDNlY2I2Nzk5NzQ1OWEwZTU2N2NmMTY0Y2U0ZTkw
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxpdGUuZGVmCisrKyBi
L1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZgpAQCAtMTQwLDYgKzE0MCw3IEBA
IEVYUE9SVFMKICAgICAgICAgP2Vuc3VyZVNoYWRvd1Jvb3RARWxlbWVudEBXZWJDb3JlQEBRQUVQ
QVZTaGFkb3dSb290QDJAWFoKICAgICAgICAgP2V4dGVybmFsUmVwcmVzZW50YXRpb25AV2ViQ29y
ZUBAWUE/QVZTdHJpbmdAV1RGQEBQQVZFbGVtZW50QDFASUBaCiAgICAgICAgID9nZXRDYWNoZWRE
T01TdHJ1Y3R1cmVAV2ViQ29yZUBAWUFQQVZTdHJ1Y3R1cmVASlNDQEBQQVZKU0RPTUdsb2JhbE9i
amVjdEAxQFBCVUNsYXNzSW5mb0AzQEBaCisgICAgICAgID9nZXRFbGVtZW50QnlJZEBUcmVlU2Nv
cGVAV2ViQ29yZUBAUUJFUEFWRWxlbWVudEAyQEFCVkF0b21pY1N0cmluZ0BXVEZAQEBaCiAgICAg
ICAgID9pc1ByZWxvYWRlZEBDYWNoZWRSZXNvdXJjZUxvYWRlckBXZWJDb3JlQEBRQkVfTkFCVlN0
cmluZ0BXVEZAQEBaCiAgICAgICAgID9qc1N0cmluZ1Nsb3dDYXNlQFdlYkNvcmVAQFlBP0FWSlNW
YWx1ZUBKU0NAQFBBVkV4ZWNTdGF0ZUAzQEFBVj8kSGFzaE1hcEBQQVZTdHJpbmdJbXBsQFdURkBA
Vj8kV2Vha0BWSlNTdHJpbmdASlNDQEBASlNDQEBVU3RyaW5nSGFzaEAyQFU/JEhhc2hUcmFpdHNA
UEFWU3RyaW5nSW1wbEBXVEZAQEAyQFU/JEhhc2hUcmFpdHNAVj8kV2Vha0BWSlNTdHJpbmdASlND
QEBASlNDQEBAMkBAV1RGQEBQQVZTdHJpbmdJbXBsQDZAQFoKICAgICAgICAgP3BhZ2VARG9jdW1l
bnRAV2ViQ29yZUBAUUJFUEFWUGFnZUAyQFhaCkBAIC0xNTEsNCArMTUyLDQgQEAgRVhQT1JUUwog
ICAgICAgICA/dG9FbGVtZW50QFdlYkNvcmVAQFlBUEFWRWxlbWVudEAxQFZKU1ZhbHVlQEpTQ0BA
QFoKICAgICAgICAgP3RvSlNAV2ViQ29yZUBAWUE/QVZKU1ZhbHVlQEpTQ0BAUEFWRXhlY1N0YXRl
QDNAUEFWSlNET01HbG9iYWxPYmplY3RAMUBQQVZOb2RlQDFAQFoKICAgICAgICAgP3RvTm9kZUBX
ZWJDb3JlQEBZQVBBVk5vZGVAMUBWSlNWYWx1ZUBKU0NAQEBaCi0gICAgICAgID92aXJ0dWFsRnVu
Y3Rpb25Ub1ByZXZlbnRXZWFrVnRhYmxlQEpTRE9NV3JhcHBlckBXZWJDb3JlQEBNQUVYWFoKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCisgICAgICAgID92aXJ0dWFsRnVuY3Rpb25Ub1ByZXZl
bnRXZWFrVnRhYmxlQEpTRE9NV3JhcHBlckBXZWJDb3JlQEBNQUVYWFoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMu
ZmlsdGVyCmluZGV4IDA0MzAxNDU5YzcwNjQxZGVkNmMxOTFjM2U2YzcyYTc1YjQ0NmQwNjAuLmQ1
ZDY5MDZhZGU0OTg2MzM5Yzk0ZDA0M2FjNWMzYzU3NjAxZjFlYzUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKKysrIGIvU291cmNlL2F1dG90b29scy9zeW1ib2xz
LmZpbHRlcgpAQCAtNTUsNiArNTUsNyBAQCBfWk5LN1dlYkNvcmUyMENhY2hlZFJlc291cmNlTG9h
ZGVyMTFpc1ByZWxvYWRlZEVSS04zV1RGNlN0cmluZ0U7CiBfWk5LN1dlYkNvcmU2SlNOb2RlMjFw
dXNoRXZlbnRIYW5kbGVyU2NvcGVFUE4zSlNDOUV4ZWNTdGF0ZUVQTlMxXzE0U2NvcGVDaGFpbk5v
ZGVFOwogX1pOSzdXZWJDb3JlN0VsZW1lbnQxMHNoYWRvd1Jvb3RFdjsKIF9aTks3V2ViQ29yZThE
b2N1bWVudDRwYWdlRXY7CitfWk5LN1dlYkNvcmU5VHJlZVNjb3BlMTRnZXRFbGVtZW50QnlJZEVS
S04zV1RGMTJBdG9taWNTdHJpbmdFOwogbG9jYWw6CiBfWio7CiBjdGkqOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101440</attachid>
            <date>2011-07-20 01:49:35 -0700</date>
            <delta_ts>2011-07-31 23:34:24 -0700</delta_ts>
            <desc>revised</desc>
            <filename>bug-64587-20110720174933.patch</filename>
            <type>text/plain</type>
            <size>13508</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTEyMzgKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5n
ZUxvZwppbmRleCA3ZDhiM2U1M2FkMmUzNWQxNDkxY2Y5YmE2ZDQ3YmNhZTljOWJhYzRmLi44NjJm
ZGU0NjI4NjZjNTIxYTk2OWY2NGI1ZTVlN2QwN2UzMDY0ZjhhIDEwMDY0NAotLS0gYS9DaGFuZ2VM
b2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDctMjAgIEhheWF0byBJ
dG8gIDxoYXlhdG9AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBnZXR0
aW5nIGFuIGVsZW1lbnQgaW4gc2hhZG93IHJvb3QgYnkgaXRzIGlkIGludG8gYSB3aW5kb3cuaW50
ZXJuYWxzIG9iamVjdC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY0NTg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBTb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyOgorCiAyMDExLTA3LTE4ICBN
T1JJVEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgogCiAgICAgICAgIFtTaGFkb3dDb250
ZW50RWxlbWVudF0gZm9yd2FyZGVkIG5vZGUgc2hvdWxkIGJlIGFibGUgdG8gYWNjZXNzIGl0cyBo
b3N0aW5nIGNvbnRlbnQgZWxlbWVudC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyNjE4ZDA5Y2YwMzQyMTQ4Y2I5MDNkODU1
NGNmMGNhZmQ5MmZkYTEzLi4zNTAyZTNlMGE3MTc1MTg5NDg0MTJmZTFiMTAyNjk0N2NiZjdmZDVm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDctMjAgIEhheWF0byBJdG8gIDxoYXlhdG9A
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBnZXR0aW5nIGFuIGVsZW1l
bnQgaW4gc2hhZG93IHJvb3QgYnkgaXRzIGlkIGludG8gYSB3aW5kb3cuaW50ZXJuYWxzIG9iamVj
dC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY0NTg3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0
L2RvbS9zaGFkb3cvZ2V0LWVsZW1lbnQtYnktaWQtaW4tc2hhZG93LXJvb3QtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvZ2V0LWVsZW1lbnQtYnktaWQtaW4t
c2hhZG93LXJvb3QuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3Jlc291
cmNlcy9jcmVhdGUtZG9tLmpzOiBBZGRlZC4KKyAgICAgICAgKGNyZWF0ZVNoYWRvdyk6CisgICAg
ICAgIChjcmVhdGVEb20pOgorCiAyMDExLTA3LTE4ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJr
aXQub3JnPgogCiAgICAgICAgIEZpeCBDaHJvbWl1bSB0ZXN0IGV4cGVjdGF0aW9ucy4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9nZXQtZWxlbWVudC1ieS1pZC1pbi1z
aGFkb3ctcm9vdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZ2V0
LWVsZW1lbnQtYnktaWQtaW4tc2hhZG93LXJvb3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlh
ZDNiMWI3ZGJmNmRjNGJkZGY4NzFjZDdjZDYzZGU4N2E0M2ZiYTkKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZ2V0LWVsZW1lbnQtYnktaWQtaW4tc2hhZG93
LXJvb3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1Rlc3RzIHRvIGVuc3VyZSB0aGF0
IGludGVybmFscy5nZXRFbGVtZW50QnlJZEluVHJlZVNjb3BlIGNhbiBnZXQgYW4gZWxlbWVudCBp
biBUcmVlU2NvcGUgYnkgaXRzIGlkLiBDYW4gb25seSBydW4gd2l0aGluIERSVAorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBnZXRFbGVtZW50SW5TaGFkb3coJ2RpdkEvaW5w
dXRCJykuaWQgaXMgImlucHV0QiIKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93KCdkaXZBL2RpdkMn
KS5pZCBpcyAiZGl2QyIKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93KCdkaXZBL2RpdkMvaW5wdXRE
JykuaWQgaXMgImlucHV0RCIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZ2V0
LWVsZW1lbnQtYnktaWQtaW4tc2hhZG93LXJvb3QuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9nZXQtZWxlbWVudC1ieS1pZC1pbi1zaGFkb3ctcm9vdC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmQwN2ZhMDA2MGQ4MTk0Njc2ZWVmOWU1MjAzZTdmZjBmYzcxYjZhOTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZ2V0LWVsZW1lbnQtYnktaWQtaW4tc2hh
ZG93LXJvb3QuaHRtbApAQCAtMCwwICsxLDQ5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvY3JlYXRlLWRvbS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3RzIHRvIGVuc3VyZSB0aGF0
IGludGVybmFscy5nZXRFbGVtZW50QnlJZEluVHJlZVNjb3BlIGNhbiBnZXQgYW4gZWxlbWVudCBp
biBUcmVlU2NvcGUgYnkgaXRzIGlkLiBDYW4gb25seSBydW4gd2l0aGluIERSVCIpOworCitmdW5j
dGlvbiBnZXRFbGVtZW50SW5TaGFkb3cocGF0aCkKK3sKKyAgICB2YXIgaWRzID0gcGF0aC5zcGxp
dCgnLycpOworICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWRzWzBd
KTsKKyAgICBmb3IgKHZhciBpID0gMTsgZWxlbWVudCAhPSBudWxsICYmIGkgPCBpZHMubGVuZ3Ro
OyArK2kpIHsKKyAgICAgICAgdmFyIHNoYWRvd1Jvb3QgPSBpbnRlcm5hbHMuc2hhZG93Um9vdChl
bGVtZW50KTsKKyAgICAgICAgZWxlbWVudCA9IGludGVybmFscy5nZXRFbGVtZW50QnlJZEluU2hh
ZG93Um9vdChzaGFkb3dSb290LCBpZHNbaV0pOworICAgIH0KKyAgICByZXR1cm4gZWxlbWVudDsK
K30KKworZnVuY3Rpb24gcHJlcGFyZURvbVRyZWUocGFyZW50KQoreworICAgIHBhcmVudC5hcHBl
bmRDaGlsZCgKKyAgICAgICAgY3JlYXRlU2hhZG93KCdkaXYnLCB7J2lkJzogJ2RpdkEnfSwKKyAg
ICAgICAgICAgICAgICAgICAgIGNyZWF0ZURvbSgnaW5wdXQnLCB7J2lkJzogJ2lucHV0Qid9KSwK
KyAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZVNoYWRvdygnZGl2JywgeydpZCc6ICdkaXZDJ30s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlRG9tKCdpbnB1dCcsIHsn
aWQnOiAnaW5wdXREJ30pKSkpOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7CisgICAgcHJlcGFyZURvbVRyZWUoZG9jdW1lbnQuYm9keSk7CisgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRFbGVtZW50SW5TaGFkb3coJ2RpdkEvaW5wdXRCJykuaWQi
LCAnaW5wdXRCJyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRFbGVtZW50SW5TaGFk
b3coJ2RpdkEvZGl2QycpLmlkIiwgJ2RpdkMnKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImdldEVsZW1lbnRJblNoYWRvdygnZGl2QS9kaXZDL2lucHV0RCcpLmlkIiwgJ2lucHV0RCcpOwor
fQorCit0ZXN0KCk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvcmVzb3VyY2VzL2NyZWF0ZS1kb20uanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvcmVzb3VyY2VzL2NyZWF0ZS1kb20uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTI3NTFhZDY5ZjNiMjVlMzU2
MWExYzMxYzgwMjA3MDZmZmY5Y2MzMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9yZXNvdXJjZXMvY3JlYXRlLWRvbS5qcwpAQCAtMCwwICsxLDI0IEBACisv
LyBUaGlzIGZ1bmN0aW9uIGNhbiB0YWtlIG9wdGlvbmFsIGNoaWxkIGVsZW1lbnRzIGFzIGFyZ3Vt
ZW50c1syOl0uCitmdW5jdGlvbiBjcmVhdGVTaGFkb3codGFnTmFtZSwgYXR0cmlidXRlcykKK3sK
KyAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
Zm9yICh2YXIgbmFtZSBpbiBhdHRyaWJ1dGVzKQorICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0
ZShuYW1lLCBhdHRyaWJ1dGVzW25hbWVdKTsKKyAgICB2YXIgc2hhZG93ID0gaW50ZXJuYWxzLmVu
c3VyZVNoYWRvd1Jvb3QoZWxlbWVudCk7CisgICAgdmFyIGNoaWxkRWxlbWVudHMgPSBBcnJheS5w
cm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsIDIpOworICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgY2hpbGRFbGVtZW50cy5sZW5ndGg7ICsraSkKKyAgICAgICAgc2hhZG93LmFwcGVuZENoaWxk
KGNoaWxkRWxlbWVudHNbaV0pOworICAgIHJldHVybiBlbGVtZW50OworfQorCisvLyBUaGlzIGZ1
bmN0aW9uIGNhbiB0YWtlIG9wdGlvbmFsIGNoaWxkIGVsZW1lbnRzIGFzIGFyZ3VtZW50c1syOl0u
CitmdW5jdGlvbiBjcmVhdGVEb20odGFnTmFtZSwgYXR0cmlidXRlcykKK3sKKyAgICB2YXIgZWxl
bWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgZm9yICh2YXIgbmFt
ZSBpbiBhdHRyaWJ1dGVzKQorICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShuYW1lLCBhdHRy
aWJ1dGVzW25hbWVdKTsKKyAgICB2YXIgY2hpbGRFbGVtZW50cyA9IEFycmF5LnByb3RvdHlwZS5z
bGljZS5jYWxsKGFyZ3VtZW50cywgMik7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZEVs
ZW1lbnRzLmxlbmd0aDsgKytpKQorICAgICAgICBlbGVtZW50LmFwcGVuZENoaWxkKGNoaWxkRWxl
bWVudHNbaV0pOworICAgIHJldHVybiBlbGVtZW50OworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDdmYTczODBh
MWVmMzNlODA3NGRlMDY0NWU4YTRjOTQ4NWY4MzhmMDIuLmY5ZDdiNzA1YjVmMmE5MzJkNjA2YTdm
MmFkMTZiZmFlZjk4MjJlYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBAQAorMjAxMS0wNy0y
MCAgSGF5YXRvIEl0byAgPGhheWF0b0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIHN1cHBv
cnQgZm9yIGdldHRpbmcgYW4gZWxlbWVudCBpbiBzaGFkb3cgcm9vdCBieSBpdHMgaWQgaW50byBh
IHdpbmRvdy5pbnRlcm5hbHMgb2JqZWN0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NjQ1ODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0L2RvbS9zaGFkb3cvZ2V0LWVsZW1lbnQtYnktaWQt
aW4tc2hhZG93LXJvb3QuaHRtbAorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAg
ICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpn
ZXRFbGVtZW50QnlJZEluU2hhZG93Um9vdCk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMu
aDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKKzIwMTEtMDctMTUgIEhheWF0
byBJdG8gIDxoYXlhdG9AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBy
ZXRyaWV2aW5nIGFuIGVsZW1lbnQgaW4gVHJlZVNjb3BlIGJ5IGlkIHRvIHdpbmRvdy5pbnRlcm5h
bHMgb2JqZWN0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NjQ1ODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUZXN0OiBmYXN0L2RvbS9zaGFkb3cvZ2V0LWVsZW1lbnQtYnktaWQtaW4tc2hhZG93Lmh0bWwK
KworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxz
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6Z2V0RWxlbWVudEJ5SWRJblRyZWVT
Y29wZSk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5n
L0ludGVybmFscy5pZGw6CisKIDIwMTEtMDctMTggIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lPTig5MTIwOT8pOiBmYXN0L2Nzcy9jdXN0b20tZm9u
dC14aGVpZ2h0Lmh0bWwgaXMgZmFpbGluZyBvbiBMZW9wYXJkCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmlu
ZGV4IGQxNzczMDgyOTJjZWE1ZDE0MDBhNmU2MTllNzQyNTcxMjBkYmJhZjIuLmYzNzI4MzkyNDMy
M2M1YjJhMDE3MGEyOGYyMzNhYTQzZmRmMzU1YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0x
MzI5LDYgKzEzMjksNyBAQCBfX1pOSzdXZWJDb3JlOUZyYW1lVmlldzIyd2luZG93Q2xpcFJlY3RG
b3JMYXllckVQS05TXzExUmVuZGVyTGF5ZXJFYgogX19aTks3V2ViQ29yZTlGcmFtZVZpZXcyOGlz
RW5jbG9zZWRJbkNvbXBvc2l0aW5nTGF5ZXJFdgogX19aTks3V2ViQ29yZTlQYWdlQ2FjaGUxMGZy
YW1lQ291bnRFdgogX19aTks3V2ViQ29yZTlQYWdlQ2FjaGUyMWF1dG9yZWxlYXNlZFBhZ2VDb3Vu
dEV2CitfX1pOSzdXZWJDb3JlOVRyZWVTY29wZTE0Z2V0RWxlbWVudEJ5SWRFUktOM1dURjEyQXRv
bWljU3RyaW5nRQogX19aVFZON1dlYkNvcmUxMkNocm9tZUNsaWVudEUKIF9fWlRWTjdXZWJDb3Jl
MTJKU0RPTVdyYXBwZXJFCiBfX1pUVk43V2ViQ29yZTE2SWNvbkRhdGFiYXNlQmFzZUUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCA0ZDdiNmFhZTI3ZGIwYmU0MjczNTlkODY5
ZjAwOWM5ZTg5MjA5ZjU0Li5iNzQxNWJjMGZhNTM0MDRmYTg3NjI4MjM4MmJhOGUxY2M2MWQwMTg1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC03MCw2ICs3MCwxNSBAQCBQ
YXNzUmVmUHRyPEVsZW1lbnQ+IEludGVybmFsczo6Y3JlYXRlU2hhZG93Q29udGVudEVsZW1lbnQo
RG9jdW1lbnQqIGRvY3VtZW50LCBFeAogICAgIHJldHVybiBTaGFkb3dDb250ZW50RWxlbWVudDo6
Y3JlYXRlKGRvY3VtZW50KTsKIH0KIAorRWxlbWVudCogSW50ZXJuYWxzOjpnZXRFbGVtZW50QnlJ
ZEluU2hhZG93Um9vdChOb2RlKiBzaGFkb3dSb290LCBjb25zdCBTdHJpbmcmIGlkLCBFeGNlcHRp
b25Db2RlJiBlYykKK3sKKyAgICBpZiAoIXNoYWRvd1Jvb3QgfHwgIXNoYWRvd1Jvb3QtPmlzU2hh
ZG93Um9vdCgpKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOworICAgICAgICBy
ZXR1cm4gMDsKKyAgICB9CisgICAgcmV0dXJuIHRvU2hhZG93Um9vdChzaGFkb3dSb290KS0+Z2V0
RWxlbWVudEJ5SWQoaWQpOworfQorCiBTdHJpbmcgSW50ZXJuYWxzOjplbGVtZW50UmVuZGVyVHJl
ZUFzVGV4dChFbGVtZW50KiBlbGVtZW50LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBpZiAo
IWVsZW1lbnQpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IGI2MjZiNTlhMGYw
YWU5ZmY4YmYwNjhhMmRjYTAyYWYxMDUxODhhNDEuLjUzNmY4ZmMwNjhhMTIyYmMyNWE1NWZlNWFh
NzYyYmUyZjIyOGEzYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtNTMsNiAr
NTMsNyBAQCBwdWJsaWM6CiAgICAgRWxlbWVudCogaW5jbHVkZXJGb3IoTm9kZSosIEV4Y2VwdGlv
bkNvZGUmKTsKICAgICBTdHJpbmcgc2hhZG93UHNldWRvSWQoRWxlbWVudCosIEV4Y2VwdGlvbkNv
ZGUmKTsKICAgICBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNyZWF0ZVNoYWRvd0NvbnRlbnRFbGVtZW50
KERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpOworICAgIEVsZW1lbnQqIGdldEVsZW1lbnRCeUlk
SW5TaGFkb3dSb290KE5vZGUqIHNoYWRvd1Jvb3QsIGNvbnN0IFN0cmluZyYgaWQsIEV4Y2VwdGlv
bkNvZGUmKTsKIAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgdm9pZCBzZXRJbnNwZWN0b3JS
ZXNvdXJjZXNEYXRhU2l6ZUxpbWl0cyhEb2N1bWVudCosIGludCBtYXhpbXVtUmVzb3VyY2VzQ29u
dGVudFNpemUsIGludCBtYXhpbXVtU2luZ2xlUmVzb3VyY2VDb250ZW50U2l6ZSwgRXhjZXB0aW9u
Q29kZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRs
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IGQ3YjIxODNiZDFj
NTU1NzYyOWIxODk4Mjc2NTcxNDdhN2RkMzA2ZjEuLjFlZmVkYTAzMzM3ODY1MGFiN2NkZTU3N2Vi
YmM5OTI4ZGUzMjg2MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTM2
LDYgKzM2LDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIHZvaWQgcmVtb3ZlU2hhZG93Um9v
dChpbiBFbGVtZW50IGhvc3QpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgRE9NU3Ry
aW5nIHNoYWRvd1BzZXVkb0lkKGluIEVsZW1lbnQgZWxlbWVudCkgcmFpc2VzIChET01FeGNlcHRp
b24pOwogICAgICAgICBFbGVtZW50IGNyZWF0ZVNoYWRvd0NvbnRlbnRFbGVtZW50KGluIERvY3Vt
ZW50IGRvY3VtZW50KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgRWxlbWVudCBnZXRF
bGVtZW50QnlJZEluU2hhZG93Um9vdChpbiBOb2RlIHNoYWRvd1Jvb3QsIGluIERPTVN0cmluZyBp
ZCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAKICAgICAgICAgdm9pZCBzZXRJbnNwZWN0b3JSZXNv
dXJjZXNEYXRhU2l6ZUxpbWl0cyhpbiBEb2N1bWVudCBkb2N1bWVudCwgaW4gbG9uZyBtYXhpbXVt
UmVzb3VyY2VzQ29udGVudFNpemUsIGluIGxvbmcgbWF4aW11bVNpbmdsZVJlc291cmNlQ29udGVu
dFNpemUpIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZTc2M2Ji
ZDYxMDAxNTlmNGU4NGM2ODA2NDFkNjJkODI5OGZiMTU2YS4uNTVlNjg0YjZhNTYzYWE4YTc4NDY1
YTE4NDhjMWViMzUwY2ZlYmYwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDExLTA3
LTIwICBIYXlhdG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgc3Vw
cG9ydCBmb3IgZ2V0dGluZyBhbiBlbGVtZW50IGluIHNoYWRvdyByb290IGJ5IGl0cyBpZCBpbnRv
IGEgd2luZG93LmludGVybmFscyBvYmplY3QuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02NDU4NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogd2luL1dlYktpdDIuZGVmOgorICAgICAgICAqIHdpbi9XZWJL
aXQyQ0ZMaXRlLmRlZjoKKwogMjAxMS0wNy0xOCAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29v
Z2xlLmNvbT4KIAogICAgICAgICBbU2hhZG93Q29udGVudEVsZW1lbnRdIGZvcndhcmRlZCBub2Rl
IHNob3VsZCBiZSBhYmxlIHRvIGFjY2VzcyBpdHMgaG9zdGluZyBjb250ZW50IGVsZW1lbnQuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYgYi9Tb3VyY2UvV2ViS2l0
Mi93aW4vV2ViS2l0Mi5kZWYKaW5kZXggNzExZDAyZmU1MTM1YTJjNzk2MTI0MmZkODUyZGZiZjJk
MTAzYjU3Zi4uOTVmMWI5ODdiZDc3YjM5MzU3MmVkMTMxYWEzYWM2OWI3ZjJhOGE4MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCisrKyBiL1NvdXJjZS9XZWJLaXQy
L3dpbi9XZWJLaXQyLmRlZgpAQCAtMTQ4LDYgKzE0OCw3IEBAIEVYUE9SVFMKICAgICAgICAgP2Vu
c3VyZVNoYWRvd1Jvb3RARWxlbWVudEBXZWJDb3JlQEBRQUVQQVZTaGFkb3dSb290QDJAWFoKICAg
ICAgICAgP2V4dGVybmFsUmVwcmVzZW50YXRpb25AV2ViQ29yZUBAWUE/QVZTdHJpbmdAV1RGQEBQ
QVZFbGVtZW50QDFASUBaCiAgICAgICAgID9nZXRDYWNoZWRET01TdHJ1Y3R1cmVAV2ViQ29yZUBA
WUFQQVZTdHJ1Y3R1cmVASlNDQEBQQVZKU0RPTUdsb2JhbE9iamVjdEAxQFBCVUNsYXNzSW5mb0Az
QEBaCisgICAgICAgID9nZXRFbGVtZW50QnlJZEBUcmVlU2NvcGVAV2ViQ29yZUBAUUJFUEFWRWxl
bWVudEAyQEFCVkF0b21pY1N0cmluZ0BXVEZAQEBaCiAgICAgICAgID9pc1ByZWxvYWRlZEBDYWNo
ZWRSZXNvdXJjZUxvYWRlckBXZWJDb3JlQEBRQkVfTkFCVlN0cmluZ0BXVEZAQEBaCiAgICAgICAg
ID9qc1N0cmluZ1Nsb3dDYXNlQFdlYkNvcmVAQFlBP0FWSlNWYWx1ZUBKU0NAQFBBVkV4ZWNTdGF0
ZUAzQEFBVj8kSGFzaE1hcEBQQVZTdHJpbmdJbXBsQFdURkBAVj8kV2Vha0BWSlNTdHJpbmdASlND
QEBASlNDQEBVU3RyaW5nSGFzaEAyQFU/JEhhc2hUcmFpdHNAUEFWU3RyaW5nSW1wbEBXVEZAQEAy
QFU/JEhhc2hUcmFpdHNAVj8kV2Vha0BWSlNTdHJpbmdASlNDQEBASlNDQEBAMkBAV1RGQEBQQVZT
dHJpbmdJbXBsQDZAQFoKICAgICAgICAgP3BhZ2VARG9jdW1lbnRAV2ViQ29yZUBAUUJFUEFWUGFn
ZUAyQFhaCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYg
Yi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYKaW5kZXggZDViYTRlZTQyMjU4
Mjc1ZmJhNjE3Y2RkMGU4NjM2YTUzNGQ2YTQ0OC4uOGIzZTJhMzU3NDNlY2I2Nzk5NzQ1OWEwZTU2
N2NmMTY0Y2U0ZTkwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxp
dGUuZGVmCisrKyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZgpAQCAtMTQw
LDYgKzE0MCw3IEBAIEVYUE9SVFMKICAgICAgICAgP2Vuc3VyZVNoYWRvd1Jvb3RARWxlbWVudEBX
ZWJDb3JlQEBRQUVQQVZTaGFkb3dSb290QDJAWFoKICAgICAgICAgP2V4dGVybmFsUmVwcmVzZW50
YXRpb25AV2ViQ29yZUBAWUE/QVZTdHJpbmdAV1RGQEBQQVZFbGVtZW50QDFASUBaCiAgICAgICAg
ID9nZXRDYWNoZWRET01TdHJ1Y3R1cmVAV2ViQ29yZUBAWUFQQVZTdHJ1Y3R1cmVASlNDQEBQQVZK
U0RPTUdsb2JhbE9iamVjdEAxQFBCVUNsYXNzSW5mb0AzQEBaCisgICAgICAgID9nZXRFbGVtZW50
QnlJZEBUcmVlU2NvcGVAV2ViQ29yZUBAUUJFUEFWRWxlbWVudEAyQEFCVkF0b21pY1N0cmluZ0BX
VEZAQEBaCiAgICAgICAgID9pc1ByZWxvYWRlZEBDYWNoZWRSZXNvdXJjZUxvYWRlckBXZWJDb3Jl
QEBRQkVfTkFCVlN0cmluZ0BXVEZAQEBaCiAgICAgICAgID9qc1N0cmluZ1Nsb3dDYXNlQFdlYkNv
cmVAQFlBP0FWSlNWYWx1ZUBKU0NAQFBBVkV4ZWNTdGF0ZUAzQEFBVj8kSGFzaE1hcEBQQVZTdHJp
bmdJbXBsQFdURkBAVj8kV2Vha0BWSlNTdHJpbmdASlNDQEBASlNDQEBVU3RyaW5nSGFzaEAyQFU/
JEhhc2hUcmFpdHNAUEFWU3RyaW5nSW1wbEBXVEZAQEAyQFU/JEhhc2hUcmFpdHNAVj8kV2Vha0BW
SlNTdHJpbmdASlNDQEBASlNDQEBAMkBAV1RGQEBQQVZTdHJpbmdJbXBsQDZAQFoKICAgICAgICAg
P3BhZ2VARG9jdW1lbnRAV2ViQ29yZUBAUUJFUEFWUGFnZUAyQFhaCkBAIC0xNTEsNCArMTUyLDQg
QEAgRVhQT1JUUwogICAgICAgICA/dG9FbGVtZW50QFdlYkNvcmVAQFlBUEFWRWxlbWVudEAxQFZK
U1ZhbHVlQEpTQ0BAQFoKICAgICAgICAgP3RvSlNAV2ViQ29yZUBAWUE/QVZKU1ZhbHVlQEpTQ0BA
UEFWRXhlY1N0YXRlQDNAUEFWSlNET01HbG9iYWxPYmplY3RAMUBQQVZOb2RlQDFAQFoKICAgICAg
ICAgP3RvTm9kZUBXZWJDb3JlQEBZQVBBVk5vZGVAMUBWSlNWYWx1ZUBKU0NAQEBaCi0gICAgICAg
ID92aXJ0dWFsRnVuY3Rpb25Ub1ByZXZlbnRXZWFrVnRhYmxlQEpTRE9NV3JhcHBlckBXZWJDb3Jl
QEBNQUVYWFoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCisgICAgICAgID92aXJ0dWFsRnVu
Y3Rpb25Ub1ByZXZlbnRXZWFrVnRhYmxlQEpTRE9NV3JhcHBlckBXZWJDb3JlQEBNQUVYWFoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIgYi9Tb3VyY2UvYXV0b3Rv
b2xzL3N5bWJvbHMuZmlsdGVyCmluZGV4IDA0MzAxNDU5YzcwNjQxZGVkNmMxOTFjM2U2YzcyYTc1
YjQ0NmQwNjAuLmQ1ZDY5MDZhZGU0OTg2MzM5Yzk0ZDA0M2FjNWMzYzU3NjAxZjFlYzUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKKysrIGIvU291cmNlL2F1dG90
b29scy9zeW1ib2xzLmZpbHRlcgpAQCAtNTUsNiArNTUsNyBAQCBfWk5LN1dlYkNvcmUyMENhY2hl
ZFJlc291cmNlTG9hZGVyMTFpc1ByZWxvYWRlZEVSS04zV1RGNlN0cmluZ0U7CiBfWk5LN1dlYkNv
cmU2SlNOb2RlMjFwdXNoRXZlbnRIYW5kbGVyU2NvcGVFUE4zSlNDOUV4ZWNTdGF0ZUVQTlMxXzE0
U2NvcGVDaGFpbk5vZGVFOwogX1pOSzdXZWJDb3JlN0VsZW1lbnQxMHNoYWRvd1Jvb3RFdjsKIF9a
Tks3V2ViQ29yZThEb2N1bWVudDRwYWdlRXY7CitfWk5LN1dlYkNvcmU5VHJlZVNjb3BlMTRnZXRF
bGVtZW50QnlJZEVSS04zV1RGMTJBdG9taWNTdHJpbmdFOwogbG9jYWw6CiBfWio7CiBjdGkqOwo=
</data>
<flag name="review"
          id="96350"
          type_id="1"
          status="+"
          setter="morrita"
    />
          </attachment>
      

    </bug>

</bugzilla>