<?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>98639</bug_id>
          
          <creation_ts>2012-10-08 03:33:48 -0700</creation_ts>
          <short_desc>[EFL][WK2] Add support for Inspector</short_desc>
          <delta_ts>2012-10-11 19:09:31 -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>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Linux</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>
          <dependson>98748</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Seokju Kwon">seokju.kwon</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cdumez</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kenneth</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>736611</commentid>
    <comment_count>0</comment_count>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-10-08 03:33:48 -0700</bug_when>
    <thetext>Implementation of Web Inspector in MiniBrowser.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>736630</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-10-08 05:24:05 -0700</bug_when>
    <thetext>Any update on this? I&apos;m willing to work on this otherwise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>737192</commentid>
    <comment_count>2</comment_count>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-10-08 16:16:26 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Any update on this? I&apos;m willing to work on this otherwise.

I am working on it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738655</commentid>
    <comment_count>3</comment_count>
      <attachid>167940</attachid>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-10-10 00:08:07 -0700</bug_when>
    <thetext>Created attachment 167940
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738674</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-10-10 00:29:40 -0700</bug_when>
    <thetext>I think it is better to wait for Bug 98748 to be closed since this is going to impact this patch a bit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738685</commentid>
    <comment_count>5</comment_count>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-10-10 00:38:32 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; I think it is better to wait for Bug 98748 to be closed since this is going to impact this patch a bit.

Thanks, I have added Bug 98748 into &quot;Depends on&quot; list</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738853</commentid>
    <comment_count>6</comment_count>
      <attachid>167940</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-10-10 05:16:30 -0700</bug_when>
    <thetext>Comment on attachment 167940
Patch

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

&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.h:767
&gt; +EAPI void ewk_view_inspector_show(const Evas_Object *o);

I think it makes sense to remove the const specifier here, since this function changes the view.

&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.h:776
&gt; +EAPI void ewk_view_inspector_close(const Evas_Object *o);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>739412</commentid>
    <comment_count>7</comment_count>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-10-10 17:03:59 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 167940 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=167940&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/efl/ewk_view.h:767
&gt; &gt; +EAPI void ewk_view_inspector_show(const Evas_Object *o);
&gt; 
&gt; I think it makes sense to remove the const specifier here, since this function changes the view.
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/efl/ewk_view.h:776
&gt; &gt; +EAPI void ewk_view_inspector_close(const Evas_Object *o);
&gt; 
&gt; Ditto.

All Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>739413</commentid>
    <comment_count>8</comment_count>
      <attachid>168100</attachid>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-10-10 17:04:08 -0700</bug_when>
    <thetext>Created attachment 168100
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>739500</commentid>
    <comment_count>9</comment_count>
      <attachid>168100</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-10-10 18:53:52 -0700</bug_when>
    <thetext>Comment on attachment 168100
Patch

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

This patch needs to be rebased.

&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.h:767
&gt; +EAPI void ewk_view_inspector_show(Evas_Object *o);

Missing unit test for this API

&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.h:776
&gt; +EAPI void ewk_view_inspector_close(Evas_Object *o);

ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>739620</commentid>
    <comment_count>10</comment_count>
      <attachid>168100</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-10-10 22:29:40 -0700</bug_when>
    <thetext>Comment on attachment 168100
Patch

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

&gt; Source/WebKit2/UIProcess/efl/WebInspectorProxyEfl.cpp:45
&gt; +    ecore_evas_geometry_get(inspectorWindow, 0, 0, &amp;width, &amp;height);

These 2 lines should be moved after the inspectorView NULL-check.

&gt; Source/WebKit2/UIProcess/efl/WebInspectorProxyEfl.cpp:48
&gt; +    if (inspectorView) {

if (!inspectorView)
    return;

Returning early is more commonly used pattern in WebKit.

&gt; Source/WebKit2/UIProcess/efl/WebInspectorProxyEfl.cpp:54
&gt; +static void destoryInspectorWindow(Ecore_Evas* inspectorWindow)

&quot;destroy&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>739648</commentid>
    <comment_count>11</comment_count>
      <attachid>168149</attachid>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-10-10 23:55:38 -0700</bug_when>
    <thetext>Created attachment 168149
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>739859</commentid>
    <comment_count>12</comment_count>
      <attachid>168149</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-10-11 05:50:37 -0700</bug_when>
    <thetext>Comment on attachment 168149
Patch

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

&gt; Source/WebKit2/UIProcess/efl/WebInspectorProxyEfl.cpp:114
&gt; +        evas_object_smart_callback_del(m_inspectorView, &quot;inspector,view,close&quot;, closeInspectorWindow);

If you are deleting the object in the next line I don&apos;t think you need to delete the callback manually before that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740339</commentid>
    <comment_count>13</comment_count>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-10-11 15:48:08 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 168100 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=168100&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/efl/WebInspectorProxyEfl.cpp:45
&gt; &gt; +    ecore_evas_geometry_get(inspectorWindow, 0, 0, &amp;width, &amp;height);
&gt; 
&gt; These 2 lines should be moved after the inspectorView NULL-check.
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/efl/WebInspectorProxyEfl.cpp:48
&gt; &gt; +    if (inspectorView) {
&gt; 
&gt; if (!inspectorView)
&gt;     return;
&gt; 
&gt; Returning early is more commonly used pattern in WebKit.
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/efl/WebInspectorProxyEfl.cpp:54
&gt; &gt; +static void destoryInspectorWindow(Ecore_Evas* inspectorWindow)
&gt; 
&gt; &quot;destroy&quot;

All done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740342</commentid>
    <comment_count>14</comment_count>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-10-11 15:49:37 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 168149 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=168149&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/efl/WebInspectorProxyEfl.cpp:114
&gt; &gt; +        evas_object_smart_callback_del(m_inspectorView, &quot;inspector,view,close&quot;, closeInspectorWindow);
&gt; 
&gt; If you are deleting the object in the next line I don&apos;t think you need to delete the callback manually before that.

Ok. I will remove it in the next patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740343</commentid>
    <comment_count>15</comment_count>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-10-11 15:50:13 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 168100 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=168100&amp;action=review
&gt; 
&gt; This patch needs to be rebased.
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/efl/ewk_view.h:767
&gt; &gt; +EAPI void ewk_view_inspector_show(Evas_Object *o);
&gt; 
&gt; Missing unit test for this API
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/efl/ewk_view.h:776
&gt; &gt; +EAPI void ewk_view_inspector_close(Evas_Object *o);
&gt; 
&gt; ditto.

All done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740349</commentid>
    <comment_count>16</comment_count>
      <attachid>168298</attachid>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-10-11 15:53:16 -0700</bug_when>
    <thetext>Created attachment 168298
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740374</commentid>
    <comment_count>17</comment_count>
      <attachid>168298</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-10-11 16:11:16 -0700</bug_when>
    <thetext>Comment on attachment 168298
Patch

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

&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:1975
&gt; +Eina_Bool ewk_view_inspector_show(Evas_Object* ewkView)

Why can&apos;t I show it for an element? Most browsers support this. Did you check the api of other ports? like the Qt webkit1 api, that one at least suports this

Being able to inspect an element directly when showing the inspector is a really nice feature

&gt; Source/WebKit2/UIProcess/efl/WebInspectorProxyEfl.cpp:96
&gt; +    Ewk_Settings* settings = ewk_view_settings_get(m_inspectorView);
&gt; +    ewk_settings_file_access_from_file_urls_allowed_set(settings, true);

can&apos;t this be dangerous? comment?

&gt; Tools/MiniBrowser/efl/main.c:150
&gt; +    } else if (!strcmp(ev-&gt;key, &quot;i&quot;) &amp;&amp; ctrlPressed) {
&gt; +        info(&quot;Show Inspector (Ctrl+i) was pressed.\n&quot;);
&gt; +        ewk_view_inspector_show(obj);

Can&apos;t we add a context menu instead? the launcher could really need this!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740431</commentid>
    <comment_count>18</comment_count>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-10-11 16:50:38 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 168298 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=168298&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:1975
&gt; &gt; +Eina_Bool ewk_view_inspector_show(Evas_Object* ewkView)
&gt; 
&gt; Why can&apos;t I show it for an element? Most browsers support this. Did you check the api of other ports? like the Qt webkit1 api, that one at least suports this
&gt; 
&gt; Being able to inspect an element directly when showing the inspector is a really nice feature
&gt; 

What kind of api on other ports? I think we can inspect an element when showing the inspector. But attaching the window does not support yet.

&gt; &gt; Source/WebKit2/UIProcess/efl/WebInspectorProxyEfl.cpp:96
&gt; &gt; +    Ewk_Settings* settings = ewk_view_settings_get(m_inspectorView);
&gt; &gt; +    ewk_settings_file_access_from_file_urls_allowed_set(settings, true);
&gt; 
&gt; can&apos;t this be dangerous? comment?
&gt; 

We should access the inspector.html on inspector view. 

&gt; &gt; Tools/MiniBrowser/efl/main.c:150
&gt; &gt; +    } else if (!strcmp(ev-&gt;key, &quot;i&quot;) &amp;&amp; ctrlPressed) {
&gt; &gt; +        info(&quot;Show Inspector (Ctrl+i) was pressed.\n&quot;);
&gt; &gt; +        ewk_view_inspector_show(obj);
&gt; 
&gt; Can&apos;t we add a context menu instead? the launcher could really need this!

Right. But we will use it until adding a context menu temporarily.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740434</commentid>
    <comment_count>19</comment_count>
      <attachid>168318</attachid>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-10-11 16:52:18 -0700</bug_when>
    <thetext>Created attachment 168318
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740525</commentid>
    <comment_count>20</comment_count>
      <attachid>168318</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-11 19:09:24 -0700</bug_when>
    <thetext>Comment on attachment 168318
Patch

Clearing flags on attachment: 168318

Committed r131123: &lt;http://trac.webkit.org/changeset/131123&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740526</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-11 19:09:31 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167940</attachid>
            <date>2012-10-10 00:08:07 -0700</date>
            <delta_ts>2012-10-10 17:04:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98639-20121010160706.patch</filename>
            <type>text/plain</type>
            <size>9286</size>
            <attacher name="Seokju Kwon">seokju.kwon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwNzE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYWE5NjU1ODU4ZGY3NmYx
NmE2YWNiOTYxYmUwMDRiN2UzYmYzM2YzNy4uMTI1YzY0YTVhYmI5YWY5NDA3NzkxNmI5NDJjY2Ni
MDNmYWY2ZGM1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTEwLTA5ICBTZW9r
anUgS3dvbiAgPHNlb2tqdS5rd29uQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdW1dLMl0g
QWRkIHN1cHBvcnQgZm9yIEluc3BlY3RvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9OTg2MzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTdXBwb3J0IGluc3BlY3RvciBvbiBXZWJLaXQyL0VmbCBhbmQgYWRk
IEFQSXMgdG8gc2hvdyBhbmQgY2xvc2UgdGhlIGluc3BlY3Rvci4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcDoKKyAgICAgICAgKGV3a192aWV3X2luc3BlY3Rvcl9z
aG93KToKKyAgICAgICAgKGV3a192aWV3X2luc3BlY3Rvcl9jbG9zZSk6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViSW5zcGVj
dG9yUHJveHkuaDoKKyAgICAgICAgKFdlYkluc3BlY3RvclByb3h5KToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvZWZsL1dlYkluc3BlY3RvclByb3h5RWZsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6cmVz
aXplSW5zcGVjdG9yV2luZG93KToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6
OmRlc3RvcnlJbnNwZWN0b3JXaW5kb3cpOgorICAgICAgICAoV2ViS2l0OjpjbG9zZUluc3BlY3Rv
cldpbmRvdyk6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpjcmVhdGVJbnNw
ZWN0b3JXaW5kb3cpOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZv
cm1DcmVhdGVJbnNwZWN0b3JQYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJv
eHk6OnBsYXRmb3JtT3Blbik6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5Ojpw
bGF0Zm9ybURpZENsb3NlKToKKwogMjAxMi0xMC0wOCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJh
c2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBUcnkgdG8gZml4IFdpbmRvd3MgYnVpbGQgYnkgZXhw
b3J0aW5nIEZyYW1lOjpsYXllclRyZWVBc1RleHQoKS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcAppbmRleCBjMTU3Yzc4MjlmMDYyZjgyYjFlOTgzZjE5
NTc4OWY3MjRlOGI2NzU3Li5jNjczZTE2Yzg3MDQyZDYzMjk2MzMzMDdjY2M3OTlmMDBmYzYwYTc2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCkBA
IC02NCw2ICs2NCwxMCBAQAogI2luY2x1ZGUgIldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkuaCIK
ICNlbmRpZgogCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyNpbmNsdWRlICJXZWJJbnNwZWN0b3JQ
cm94eS5oIgorI2VuZGlmCisKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAjaW5j
bHVkZSA8RXZhc19HTC5oPgogI2VuZGlmCkBAIC0xOTAxLDMgKzE5MDUsMjcgQEAgRWluYV9Cb29s
IGV3a192aWV3X3RvdWNoX2V2ZW50c19lbmFibGVkX2dldChjb25zdCBFdmFzX09iamVjdCogZXdr
VmlldykKICAgICByZXR1cm4gZmFsc2U7CiAjZW5kaWYKIH0KKwordm9pZCBld2tfdmlld19pbnNw
ZWN0b3Jfc2hvdyhjb25zdCBFdmFzX09iamVjdCogZXdrVmlldykKK3sKKyNpZiBFTkFCTEUoSU5T
UEVDVE9SKQorICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21hcnREYXRh
KTsKKyAgICBFV0tfVklFV19QUklWX0dFVF9PUl9SRVRVUk4oc21hcnREYXRhLCBwcml2KTsKKwor
ICAgIFdlYkluc3BlY3RvclByb3h5KiBpbnNwZWN0b3IgPSBwcml2LT5wYWdlUHJveHktPmluc3Bl
Y3RvcigpOworICAgIGlmIChpbnNwZWN0b3IpCisgICAgICAgIGluc3BlY3Rvci0+c2hvdygpOwor
I2VuZGlmCit9CisKK3ZvaWQgZXdrX3ZpZXdfaW5zcGVjdG9yX2Nsb3NlKGNvbnN0IEV2YXNfT2Jq
ZWN0KiBld2tWaWV3KQoreworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgRVdLX1ZJRVdfU0Rf
R0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEpOworICAgIEVXS19WSUVXX1BSSVZfR0VU
X09SX1JFVFVSTihzbWFydERhdGEsIHByaXYpOworCisgICAgV2ViSW5zcGVjdG9yUHJveHkqIGlu
c3BlY3RvciA9IHByaXYtPnBhZ2VQcm94eS0+aW5zcGVjdG9yKCk7CisgICAgaWYgKGluc3BlY3Rv
cikKKyAgICAgICAgaW5zcGVjdG9yLT5jbG9zZSgpOworI2VuZGlmCit9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaAppbmRleCBiN2E2ODVkYmU3MjFlYjYyMjk3
NWMwN2M5MDYyNTE4NmM0OTk3YzQ0Li42NmNhYTJmNDdjYjQ2ZTY1Mjg3MWFmNzZiNGY5Mjg0ZmJk
N2EzNTc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tf
dmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmgK
QEAgLTc1Nyw2ICs3NTcsMjQgQEAgRUFQSSBFaW5hX0Jvb2wgZXdrX3ZpZXdfdG91Y2hfZXZlbnRz
X2VuYWJsZWRfc2V0KEV2YXNfT2JqZWN0ICpvLCBFaW5hX0Jvb2wgZW5hYmwKICAqLwogRUFQSSBF
aW5hX0Jvb2wgZXdrX3ZpZXdfdG91Y2hfZXZlbnRzX2VuYWJsZWRfZ2V0KGNvbnN0IEV2YXNfT2Jq
ZWN0ICpvKTsKIAorLyoqCisgKiBTaG93IHRoZSBpbnNwZWN0b3IgdG8gZGVidWcgYSB3ZWIgcGFn
ZS4KKyAqCisgKiBAcGFyYW0gbyBUaGUgdmlldyB0byBzaG93IHRoZSBpbnNwZWN0b3IuCisgKgor
ICogQHNlZSBld2tfdmlld19pbnNwZWN0b3JfY2xvc2UoKQorICovCitFQVBJIHZvaWQgZXdrX3Zp
ZXdfaW5zcGVjdG9yX3Nob3coY29uc3QgRXZhc19PYmplY3QgKm8pOworCisvKioKKyAqIENsb3Nl
IHRoZSBpbnNwZWN0b3IKKyAqCisgKiBAcGFyYW0gbyBUaGUgdmlldyB0byBjbG9zZSB0aGUgaW5z
cGVjdG9yLgorICoKKyAqIEBzZWUgZXdrX3ZpZXdfaW5zcGVjdG9yX3Nob3coKQorICovCitFQVBJ
IHZvaWQgZXdrX3ZpZXdfaW5zcGVjdG9yX2Nsb3NlKGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKKwog
I2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkluc3BlY3RvclByb3h5LmgKaW5kZXggYjgwNzAwNDI5NzExNDcxNDExZmMxYWM3ZTRiZWIw
MmM3NTMzNWYwNC4uNjkyMmI3ZDczNTExYWE2MWY5MjQzZWM2MTA5ZWMzMmIxOTZjOWViZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmgKQEAgLTE4OSw3
ICsxODksNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCB3aW5kb3dSZWNlaXZlZE1lc3Nh
Z2UoSFdORCwgVUlOVCBtZXNzYWdlLCBXUEFSQU0sIExQQVJBTSk7CiAjZW5kaWYKIAotI2lmIFBM
QVRGT1JNKEdUSykKKyNpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkKICAgICB2b2lk
IGNyZWF0ZUluc3BlY3RvcldpbmRvdygpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViSW5zcGVjdG9yUHJveHlFZmwuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2VmbC9XZWJJbnNwZWN0b3JQcm94eUVmbC5jcHAKaW5kZXggNTM4MzU2
NjEwNDU5MjVhZDQ1NDEwOTlkZGI0ZTVhOTNhNzllZWY3Mi4uNTgwYzVhNmM3ZmQ4MTFmZDBlOWRj
N2IyNjNkNjZjMzFmNDYxNTg4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2VmbC9XZWJJbnNwZWN0b3JQcm94eUVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2VmbC9XZWJJbnNwZWN0b3JQcm94eUVmbC5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBF
TkFCTEUoSU5TUEVDVE9SKQogCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5LmgiCisjaW5jbHVk
ZSAiZXdrX3NldHRpbmdzLmgiCiAjaW5jbHVkZSAiZXdrX3ZpZXcuaCIKICNpbmNsdWRlICJld2tf
dmlld19wcml2YXRlLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgpAQCAt
MzgsMjcgKzM5LDc5IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCitzdGF0aWMgdm9pZCByZXNp
emVJbnNwZWN0b3JXaW5kb3coRWNvcmVfRXZhcyogaW5zcGVjdG9yV2luZG93KQoreworICAgIGlu
dCB3aWR0aCwgaGVpZ2h0OworICAgIGVjb3JlX2V2YXNfZ2VvbWV0cnlfZ2V0KGluc3BlY3Rvcldp
bmRvdywgMCwgMCwgJndpZHRoLCAmaGVpZ2h0KTsKKworICAgIEV2YXNfT2JqZWN0KiBpbnNwZWN0
b3JWaWV3ID0gZXZhc19vYmplY3RfbmFtZV9maW5kKGVjb3JlX2V2YXNfZ2V0KGluc3BlY3Rvcldp
bmRvdyksICJpbnNwZWN0b3IiKTsKKyAgICBpZiAoaW5zcGVjdG9yVmlldykgeworICAgICAgICBl
dmFzX29iamVjdF9tb3ZlKGluc3BlY3RvclZpZXcsIDAsIDApOworICAgICAgICBldmFzX29iamVj
dF9yZXNpemUoaW5zcGVjdG9yVmlldywgd2lkdGgsIGhlaWdodCk7CisgICAgfQorfQorCitzdGF0
aWMgdm9pZCBkZXN0b3J5SW5zcGVjdG9yV2luZG93KEVjb3JlX0V2YXMqIGluc3BlY3RvcldpbmRv
dykKK3sKKyAgICBFdmFzX09iamVjdCogaW5zcGVjdG9yVmlldyA9IGV2YXNfb2JqZWN0X25hbWVf
ZmluZChlY29yZV9ldmFzX2dldChpbnNwZWN0b3JXaW5kb3cpLCAiaW5zcGVjdG9yIik7CisgICAg
aWYgKGluc3BlY3RvclZpZXcpCisgICAgICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2Nh
bGwoaW5zcGVjdG9yVmlldywgImluc3BlY3Rvcix2aWV3LGNsb3NlIiwgMCk7Cit9CisKK3N0YXRp
YyB2b2lkIGNsb3NlSW5zcGVjdG9yV2luZG93KHZvaWQqIHVzZXJEYXRhLCBFdmFzX09iamVjdCos
IHZvaWQqKQoreworICAgIFdlYkluc3BlY3RvclByb3h5KiBpbnNwZWN0b3JQcm94eSA9IHN0YXRp
Y19jYXN0PFdlYkluc3BlY3RvclByb3h5Kj4odXNlckRhdGEpOworCisgICAgaW5zcGVjdG9yUHJv
eHktPmNsb3NlKCk7Cit9CisKK3ZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OmNyZWF0ZUluc3BlY3Rv
cldpbmRvdygpCit7CisgICAgZWNvcmVfZXZhc190aXRsZV9zZXQobV9pbnNwZWN0b3JXaW5kb3cs
ICJXZWIgSW5zcGVjdG9yIik7CisgICAgZWNvcmVfZXZhc19jYWxsYmFja19yZXNpemVfc2V0KG1f
aW5zcGVjdG9yV2luZG93LCByZXNpemVJbnNwZWN0b3JXaW5kb3cpOworICAgIGVjb3JlX2V2YXNf
Y2FsbGJhY2tfZGVsZXRlX3JlcXVlc3Rfc2V0KG1faW5zcGVjdG9yV2luZG93LCBkZXN0b3J5SW5z
cGVjdG9yV2luZG93KTsKKyAgICBlY29yZV9ldmFzX3Nob3cobV9pbnNwZWN0b3JXaW5kb3cpOwor
CisgICAgZXZhc19vYmplY3RfbmFtZV9zZXQobV9pbnNwZWN0b3JWaWV3LCAiaW5zcGVjdG9yIik7
CisgICAgZXZhc19vYmplY3RfbW92ZShtX2luc3BlY3RvclZpZXcsIDAsIDApOworICAgIGV2YXNf
b2JqZWN0X3Jlc2l6ZShtX2luc3BlY3RvclZpZXcsIGluaXRpYWxXaW5kb3dXaWR0aCwgaW5pdGlh
bFdpbmRvd0hlaWdodCk7CisgICAgZXZhc19vYmplY3Rfc2hvdyhtX2luc3BlY3RvclZpZXcpOwor
CisgICAgZXZhc19vYmplY3RfZm9jdXNfc2V0KG1faW5zcGVjdG9yVmlldywgdHJ1ZSk7Cit9CisK
IFdlYlBhZ2VQcm94eSogV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQ3JlYXRlSW5zcGVjdG9y
UGFnZSgpCiB7CiAgICAgQVNTRVJUKG1fcGFnZSk7CiAKLSAgICBtX2luc3BlY3RvcldpbmRvdyA9
IGVjb3JlX2V2YXNfYnVmZmVyX25ldyhpbml0aWFsV2luZG93V2lkdGgsIGluaXRpYWxXaW5kb3dI
ZWlnaHQpOworICAgIG1faW5zcGVjdG9yV2luZG93ID0gZWNvcmVfZXZhc19uZXcoMCwgMCwgMCwg
aW5pdGlhbFdpbmRvd1dpZHRoLCBpbml0aWFsV2luZG93SGVpZ2h0LCAwKTsKICAgICBpZiAoIW1f
aW5zcGVjdG9yV2luZG93KQogICAgICAgICByZXR1cm4gMDsKIAogICAgIG1faW5zcGVjdG9yVmll
dyA9IGV3a192aWV3X2Jhc2VfYWRkKGVjb3JlX2V2YXNfZ2V0KG1faW5zcGVjdG9yV2luZG93KSwg
dG9BUEkocGFnZSgpLT5wcm9jZXNzKCktPmNvbnRleHQoKSksIHRvQVBJKGluc3BlY3RvclBhZ2VH
cm91cCgpKSk7CiAgICAgZXdrX3ZpZXdfdGhlbWVfc2V0KG1faW5zcGVjdG9yVmlldywgVEVTVF9U
SEVNRV9ESVIiL2RlZmF1bHQuZWRqIik7CisKKyAgICBFd2tfU2V0dGluZ3MqIHNldHRpbmdzID0g
ZXdrX3ZpZXdfc2V0dGluZ3NfZ2V0KG1faW5zcGVjdG9yVmlldyk7CisgICAgZXdrX3NldHRpbmdz
X2ZpbGVfYWNjZXNzX2Zyb21fZmlsZV91cmxzX2FsbG93ZWRfc2V0KHNldHRpbmdzLCB0cnVlKTsK
KwogICAgIHJldHVybiBld2tfdmlld19wYWdlX2dldChtX2luc3BlY3RvclZpZXcpOwogfQogCiB2
b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybU9wZW4oKQogewotICAgIG5vdEltcGxlbWVu
dGVkKCk7CisgICAgaWYgKG1faXNBdHRhY2hlZCkKKyAgICAgICAgcGxhdGZvcm1BdHRhY2goKTsK
KyAgICBlbHNlCisgICAgICAgIGNyZWF0ZUluc3BlY3RvcldpbmRvdygpOworCisgICAgZXZhc19v
YmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKG1faW5zcGVjdG9yVmlldywgImluc3BlY3Rvcix2aWV3
LGNsb3NlIiwgY2xvc2VJbnNwZWN0b3JXaW5kb3csIHRoaXMpOwogfQogCiB2b2lkIFdlYkluc3Bl
Y3RvclByb3h5OjpwbGF0Zm9ybURpZENsb3NlKCkKIHsKICAgICBpZiAobV9pbnNwZWN0b3JWaWV3
KSB7CisgICAgICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2RlbChtX2luc3BlY3RvclZp
ZXcsICJpbnNwZWN0b3IsdmlldyxjbG9zZSIsIGNsb3NlSW5zcGVjdG9yV2luZG93KTsKKwogICAg
ICAgICBldmFzX29iamVjdF9kZWwobV9pbnNwZWN0b3JWaWV3KTsKICAgICAgICAgbV9pbnNwZWN0
b3JWaWV3ID0gMDsKICAgICB9CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9D
aGFuZ2VMb2cKaW5kZXggOTNkNjA3MTQ2Mjc5MmQyMWJkMmVlZGJhMWFkZjk0MzYyMjU2MDVjMi4u
MmNiMjdmNzEzZWIzMGI0NDE0ODM2NWFmOGEyODdkMWJhNGU2MmQ0OCAxMDA2NDQKLS0tIGEvVG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEy
LTEwLTA5ICBTZW9ranUgS3dvbiAgPHNlb2tqdS5rd29uQHNhbXN1bmcuY29tPgorCisgICAgICAg
IFtFRkxdW1dLMl0gQWRkIHN1cHBvcnQgZm9yIEluc3BlY3RvcgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg2MzkKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbmFibGUgZGV2ZWxvcGVyIGV4dGVuc2lvbnMg
d2hlbiBicm93c2VyIGlzIGNyZWF0ZWQuCisgICAgICAgIEFuZCBJbnNwZWN0b3IgY2FuIGJlIG9w
ZW5lZCBieSBwcmVzc2luZyBDdHJsK2kgb24gYnJvd3Nlci4KKworICAgICAgICAqIE1pbmlCcm93
c2VyL2VmbC9tYWluLmM6CisgICAgICAgIChvbl9rZXlfZG93bik6CisgICAgICAgICh3aW5kb3df
Y3JlYXRlKToKKwogMjAxMi0xMC0wOCAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICByZXN1bHRzLmh0bWwgYW5kIGdhcmRlbi1vLW1hdGljIGFyZSBpZ25vcmlu
ZyBJTUFHRSBmYWlsdXJlcyB3aGVuIGV4cGVjdGVkIHRvIEZBSUwKZGlmZiAtLWdpdCBhL1Rvb2xz
L01pbmlCcm93c2VyL2VmbC9tYWluLmMgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvbWFpbi5jCmlu
ZGV4IDA1MzE0ODEzOTAzYzJlOThlMzg4MDhhYzIyYmRiYzQyNGNlMTVmNjcuLjhhNjNlZDRmMDVk
ZThjYTY4MzJkOGU0OThlYjFlNWE4ODZiZDQxYzcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93
c2VyL2VmbC9tYWluLmMKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvZWZsL21haW4uYwpAQCAtMTc1
LDYgKzE3NSw5IEBAIG9uX2tleV9kb3duKHZvaWQgKmRhdGEsIEV2YXMgKmUsIEV2YXNfT2JqZWN0
ICpvYmosIHZvaWQgKmV2ZW50X2luZm8pCiAgICAgICAgIGluZm8oIkNyZWF0ZSBuZXcgd2luZG93
IChDdHJsK24pIHdhcyBwcmVzc2VkLlxuIik7CiAgICAgICAgIEJyb3dzZXJfV2luZG93ICp3aW5k
b3cgPSB3aW5kb3dfY3JlYXRlKERFRkFVTFRfVVJMKTsKICAgICAgICAgd2luZG93cyA9IGVpbmFf
bGlzdF9hcHBlbmQod2luZG93cywgd2luZG93KTsKKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAoZXYt
PmtleSwgImkiKSAmJiBjdHJsUHJlc3NlZCkgeworICAgICAgICBpbmZvKCJTaG93IEluc3BlY3Rv
ciAoQ3RybCtpKSB3YXMgcHJlc3NlZC5cbiIpOworICAgICAgICBld2tfdmlld19pbnNwZWN0b3Jf
c2hvdyhvYmopOwogICAgIH0KIH0KIApAQCAtMzQ4LDYgKzM1MSw3IEBAIHN0YXRpYyBCcm93c2Vy
X1dpbmRvdyAqd2luZG93X2NyZWF0ZShjb25zdCBjaGFyICp1cmwpCiAKICAgICBFd2tfU2V0dGlu
Z3MgKnNldHRpbmdzID0gZXdrX3ZpZXdfc2V0dGluZ3NfZ2V0KHdpbmRvdy0+d2Vidmlldyk7CiAg
ICAgZXdrX3NldHRpbmdzX2ZpbGVfYWNjZXNzX2Zyb21fZmlsZV91cmxzX2FsbG93ZWRfc2V0KHNl
dHRpbmdzLCBFSU5BX1RSVUUpOworICAgIGV3a19zZXR0aW5nc19kZXZlbG9wZXJfZXh0cmFzX2Vu
YWJsZWRfc2V0KHNldHRpbmdzLCBFSU5BX1RSVUUpOwogCiAgICAgZXZhc19vYmplY3Rfc21hcnRf
Y2FsbGJhY2tfYWRkKHdpbmRvdy0+d2VidmlldywgImNsb3NlLHdpbmRvdyIsIG9uX2Nsb3NlX3dp
bmRvdywgd2luZG93KTsKICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQod2luZG93
LT53ZWJ2aWV3LCAiY3JlYXRlLHdpbmRvdyIsIG9uX25ld193aW5kb3csIHdpbmRvdyk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168100</attachid>
            <date>2012-10-10 17:04:08 -0700</date>
            <delta_ts>2012-10-10 23:55:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98639-20121011090307.patch</filename>
            <type>text/plain</type>
            <size>9262</size>
            <attacher name="Seokju Kwon">seokju.kwon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwNzE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYWE5NjU1ODU4ZGY3NmYx
NmE2YWNiOTYxYmUwMDRiN2UzYmYzM2YzNy4uMTI1YzY0YTVhYmI5YWY5NDA3NzkxNmI5NDJjY2Ni
MDNmYWY2ZGM1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTEwLTA5ICBTZW9r
anUgS3dvbiAgPHNlb2tqdS5rd29uQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdW1dLMl0g
QWRkIHN1cHBvcnQgZm9yIEluc3BlY3RvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9OTg2MzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTdXBwb3J0IGluc3BlY3RvciBvbiBXZWJLaXQyL0VmbCBhbmQgYWRk
IEFQSXMgdG8gc2hvdyBhbmQgY2xvc2UgdGhlIGluc3BlY3Rvci4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcDoKKyAgICAgICAgKGV3a192aWV3X2luc3BlY3Rvcl9z
aG93KToKKyAgICAgICAgKGV3a192aWV3X2luc3BlY3Rvcl9jbG9zZSk6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViSW5zcGVj
dG9yUHJveHkuaDoKKyAgICAgICAgKFdlYkluc3BlY3RvclByb3h5KToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvZWZsL1dlYkluc3BlY3RvclByb3h5RWZsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6cmVz
aXplSW5zcGVjdG9yV2luZG93KToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6
OmRlc3RvcnlJbnNwZWN0b3JXaW5kb3cpOgorICAgICAgICAoV2ViS2l0OjpjbG9zZUluc3BlY3Rv
cldpbmRvdyk6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpjcmVhdGVJbnNw
ZWN0b3JXaW5kb3cpOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZv
cm1DcmVhdGVJbnNwZWN0b3JQYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJv
eHk6OnBsYXRmb3JtT3Blbik6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5Ojpw
bGF0Zm9ybURpZENsb3NlKToKKwogMjAxMi0xMC0wOCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJh
c2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBUcnkgdG8gZml4IFdpbmRvd3MgYnVpbGQgYnkgZXhw
b3J0aW5nIEZyYW1lOjpsYXllclRyZWVBc1RleHQoKS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcAppbmRleCBjMTU3Yzc4MjlmMDYyZjgyYjFlOTgzZjE5
NTc4OWY3MjRlOGI2NzU3Li5iZDI1MTUwNzI0NWQ2ZGZhNmUxNWUxYTNlNDMxMmFmZTc5NWY1MmUy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCkBA
IC02NCw2ICs2NCwxMCBAQAogI2luY2x1ZGUgIldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkuaCIK
ICNlbmRpZgogCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyNpbmNsdWRlICJXZWJJbnNwZWN0b3JQ
cm94eS5oIgorI2VuZGlmCisKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAjaW5j
bHVkZSA8RXZhc19HTC5oPgogI2VuZGlmCkBAIC0xOTAxLDMgKzE5MDUsMjcgQEAgRWluYV9Cb29s
IGV3a192aWV3X3RvdWNoX2V2ZW50c19lbmFibGVkX2dldChjb25zdCBFdmFzX09iamVjdCogZXdr
VmlldykKICAgICByZXR1cm4gZmFsc2U7CiAjZW5kaWYKIH0KKwordm9pZCBld2tfdmlld19pbnNw
ZWN0b3Jfc2hvdyhFdmFzX09iamVjdCogZXdrVmlldykKK3sKKyNpZiBFTkFCTEUoSU5TUEVDVE9S
KQorICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21hcnREYXRhKTsKKyAg
ICBFV0tfVklFV19QUklWX0dFVF9PUl9SRVRVUk4oc21hcnREYXRhLCBwcml2KTsKKworICAgIFdl
Ykluc3BlY3RvclByb3h5KiBpbnNwZWN0b3IgPSBwcml2LT5wYWdlUHJveHktPmluc3BlY3Rvcigp
OworICAgIGlmIChpbnNwZWN0b3IpCisgICAgICAgIGluc3BlY3Rvci0+c2hvdygpOworI2VuZGlm
Cit9CisKK3ZvaWQgZXdrX3ZpZXdfaW5zcGVjdG9yX2Nsb3NlKEV2YXNfT2JqZWN0KiBld2tWaWV3
KQoreworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVS
Tihld2tWaWV3LCBzbWFydERhdGEpOworICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihz
bWFydERhdGEsIHByaXYpOworCisgICAgV2ViSW5zcGVjdG9yUHJveHkqIGluc3BlY3RvciA9IHBy
aXYtPnBhZ2VQcm94eS0+aW5zcGVjdG9yKCk7CisgICAgaWYgKGluc3BlY3RvcikKKyAgICAgICAg
aW5zcGVjdG9yLT5jbG9zZSgpOworI2VuZGlmCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvZXdrX3ZpZXcuaAppbmRleCBiN2E2ODVkYmU3MjFlYjYyMjk3NWMwN2M5MDYyNTE4
NmM0OTk3YzQ0Li44MWU1OWU3YTUwN2MzNDA5NGYwNDg1M2U1ZjEzMjk1NDc1MWIxOWIyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmgKQEAgLTc1Nyw2ICs3
NTcsMjQgQEAgRUFQSSBFaW5hX0Jvb2wgZXdrX3ZpZXdfdG91Y2hfZXZlbnRzX2VuYWJsZWRfc2V0
KEV2YXNfT2JqZWN0ICpvLCBFaW5hX0Jvb2wgZW5hYmwKICAqLwogRUFQSSBFaW5hX0Jvb2wgZXdr
X3ZpZXdfdG91Y2hfZXZlbnRzX2VuYWJsZWRfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKIAor
LyoqCisgKiBTaG93IHRoZSBpbnNwZWN0b3IgdG8gZGVidWcgYSB3ZWIgcGFnZS4KKyAqCisgKiBA
cGFyYW0gbyBUaGUgdmlldyB0byBzaG93IHRoZSBpbnNwZWN0b3IuCisgKgorICogQHNlZSBld2tf
dmlld19pbnNwZWN0b3JfY2xvc2UoKQorICovCitFQVBJIHZvaWQgZXdrX3ZpZXdfaW5zcGVjdG9y
X3Nob3coRXZhc19PYmplY3QgKm8pOworCisvKioKKyAqIENsb3NlIHRoZSBpbnNwZWN0b3IKKyAq
CisgKiBAcGFyYW0gbyBUaGUgdmlldyB0byBjbG9zZSB0aGUgaW5zcGVjdG9yLgorICoKKyAqIEBz
ZWUgZXdrX3ZpZXdfaW5zcGVjdG9yX3Nob3coKQorICovCitFQVBJIHZvaWQgZXdrX3ZpZXdfaW5z
cGVjdG9yX2Nsb3NlKEV2YXNfT2JqZWN0ICpvKTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQ
cm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmgKaW5k
ZXggYjgwNzAwNDI5NzExNDcxNDExZmMxYWM3ZTRiZWIwMmM3NTMzNWYwNC4uNjkyMmI3ZDczNTEx
YWE2MWY5MjQzZWM2MTA5ZWMzMmIxOTZjOWViZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYkluc3BlY3RvclByb3h5LmgKQEAgLTE4OSw3ICsxODksNyBAQCBwcml2YXRlOgogICAg
IHZpcnR1YWwgdm9pZCB3aW5kb3dSZWNlaXZlZE1lc3NhZ2UoSFdORCwgVUlOVCBtZXNzYWdlLCBX
UEFSQU0sIExQQVJBTSk7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKEdUSykKKyNpZiBQTEFURk9S
TShHVEspIHx8IFBMQVRGT1JNKEVGTCkKICAgICB2b2lkIGNyZWF0ZUluc3BlY3RvcldpbmRvdygp
OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2Vi
SW5zcGVjdG9yUHJveHlFZmwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJJ
bnNwZWN0b3JQcm94eUVmbC5jcHAKaW5kZXggNTM4MzU2NjEwNDU5MjVhZDQ1NDEwOTlkZGI0ZTVh
OTNhNzllZWY3Mi4uNTgwYzVhNmM3ZmQ4MTFmZDBlOWRjN2IyNjNkNjZjMzFmNDYxNTg4YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJJbnNwZWN0b3JQcm94eUVm
bC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJJbnNwZWN0b3JQcm94
eUVmbC5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogCiAjaW5j
bHVkZSAiV2ViUHJvY2Vzc1Byb3h5LmgiCisjaW5jbHVkZSAiZXdrX3NldHRpbmdzLmgiCiAjaW5j
bHVkZSAiZXdrX3ZpZXcuaCIKICNpbmNsdWRlICJld2tfdmlld19wcml2YXRlLmgiCiAjaW5jbHVk
ZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgpAQCAtMzgsMjcgKzM5LDc5IEBACiAKIG5hbWVz
cGFjZSBXZWJLaXQgewogCitzdGF0aWMgdm9pZCByZXNpemVJbnNwZWN0b3JXaW5kb3coRWNvcmVf
RXZhcyogaW5zcGVjdG9yV2luZG93KQoreworICAgIGludCB3aWR0aCwgaGVpZ2h0OworICAgIGVj
b3JlX2V2YXNfZ2VvbWV0cnlfZ2V0KGluc3BlY3RvcldpbmRvdywgMCwgMCwgJndpZHRoLCAmaGVp
Z2h0KTsKKworICAgIEV2YXNfT2JqZWN0KiBpbnNwZWN0b3JWaWV3ID0gZXZhc19vYmplY3RfbmFt
ZV9maW5kKGVjb3JlX2V2YXNfZ2V0KGluc3BlY3RvcldpbmRvdyksICJpbnNwZWN0b3IiKTsKKyAg
ICBpZiAoaW5zcGVjdG9yVmlldykgeworICAgICAgICBldmFzX29iamVjdF9tb3ZlKGluc3BlY3Rv
clZpZXcsIDAsIDApOworICAgICAgICBldmFzX29iamVjdF9yZXNpemUoaW5zcGVjdG9yVmlldywg
d2lkdGgsIGhlaWdodCk7CisgICAgfQorfQorCitzdGF0aWMgdm9pZCBkZXN0b3J5SW5zcGVjdG9y
V2luZG93KEVjb3JlX0V2YXMqIGluc3BlY3RvcldpbmRvdykKK3sKKyAgICBFdmFzX09iamVjdCog
aW5zcGVjdG9yVmlldyA9IGV2YXNfb2JqZWN0X25hbWVfZmluZChlY29yZV9ldmFzX2dldChpbnNw
ZWN0b3JXaW5kb3cpLCAiaW5zcGVjdG9yIik7CisgICAgaWYgKGluc3BlY3RvclZpZXcpCisgICAg
ICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2NhbGwoaW5zcGVjdG9yVmlldywgImluc3Bl
Y3Rvcix2aWV3LGNsb3NlIiwgMCk7Cit9CisKK3N0YXRpYyB2b2lkIGNsb3NlSW5zcGVjdG9yV2lu
ZG93KHZvaWQqIHVzZXJEYXRhLCBFdmFzX09iamVjdCosIHZvaWQqKQoreworICAgIFdlYkluc3Bl
Y3RvclByb3h5KiBpbnNwZWN0b3JQcm94eSA9IHN0YXRpY19jYXN0PFdlYkluc3BlY3RvclByb3h5
Kj4odXNlckRhdGEpOworCisgICAgaW5zcGVjdG9yUHJveHktPmNsb3NlKCk7Cit9CisKK3ZvaWQg
V2ViSW5zcGVjdG9yUHJveHk6OmNyZWF0ZUluc3BlY3RvcldpbmRvdygpCit7CisgICAgZWNvcmVf
ZXZhc190aXRsZV9zZXQobV9pbnNwZWN0b3JXaW5kb3csICJXZWIgSW5zcGVjdG9yIik7CisgICAg
ZWNvcmVfZXZhc19jYWxsYmFja19yZXNpemVfc2V0KG1faW5zcGVjdG9yV2luZG93LCByZXNpemVJ
bnNwZWN0b3JXaW5kb3cpOworICAgIGVjb3JlX2V2YXNfY2FsbGJhY2tfZGVsZXRlX3JlcXVlc3Rf
c2V0KG1faW5zcGVjdG9yV2luZG93LCBkZXN0b3J5SW5zcGVjdG9yV2luZG93KTsKKyAgICBlY29y
ZV9ldmFzX3Nob3cobV9pbnNwZWN0b3JXaW5kb3cpOworCisgICAgZXZhc19vYmplY3RfbmFtZV9z
ZXQobV9pbnNwZWN0b3JWaWV3LCAiaW5zcGVjdG9yIik7CisgICAgZXZhc19vYmplY3RfbW92ZSht
X2luc3BlY3RvclZpZXcsIDAsIDApOworICAgIGV2YXNfb2JqZWN0X3Jlc2l6ZShtX2luc3BlY3Rv
clZpZXcsIGluaXRpYWxXaW5kb3dXaWR0aCwgaW5pdGlhbFdpbmRvd0hlaWdodCk7CisgICAgZXZh
c19vYmplY3Rfc2hvdyhtX2luc3BlY3RvclZpZXcpOworCisgICAgZXZhc19vYmplY3RfZm9jdXNf
c2V0KG1faW5zcGVjdG9yVmlldywgdHJ1ZSk7Cit9CisKIFdlYlBhZ2VQcm94eSogV2ViSW5zcGVj
dG9yUHJveHk6OnBsYXRmb3JtQ3JlYXRlSW5zcGVjdG9yUGFnZSgpCiB7CiAgICAgQVNTRVJUKG1f
cGFnZSk7CiAKLSAgICBtX2luc3BlY3RvcldpbmRvdyA9IGVjb3JlX2V2YXNfYnVmZmVyX25ldyhp
bml0aWFsV2luZG93V2lkdGgsIGluaXRpYWxXaW5kb3dIZWlnaHQpOworICAgIG1faW5zcGVjdG9y
V2luZG93ID0gZWNvcmVfZXZhc19uZXcoMCwgMCwgMCwgaW5pdGlhbFdpbmRvd1dpZHRoLCBpbml0
aWFsV2luZG93SGVpZ2h0LCAwKTsKICAgICBpZiAoIW1faW5zcGVjdG9yV2luZG93KQogICAgICAg
ICByZXR1cm4gMDsKIAogICAgIG1faW5zcGVjdG9yVmlldyA9IGV3a192aWV3X2Jhc2VfYWRkKGVj
b3JlX2V2YXNfZ2V0KG1faW5zcGVjdG9yV2luZG93KSwgdG9BUEkocGFnZSgpLT5wcm9jZXNzKCkt
PmNvbnRleHQoKSksIHRvQVBJKGluc3BlY3RvclBhZ2VHcm91cCgpKSk7CiAgICAgZXdrX3ZpZXdf
dGhlbWVfc2V0KG1faW5zcGVjdG9yVmlldywgVEVTVF9USEVNRV9ESVIiL2RlZmF1bHQuZWRqIik7
CisKKyAgICBFd2tfU2V0dGluZ3MqIHNldHRpbmdzID0gZXdrX3ZpZXdfc2V0dGluZ3NfZ2V0KG1f
aW5zcGVjdG9yVmlldyk7CisgICAgZXdrX3NldHRpbmdzX2ZpbGVfYWNjZXNzX2Zyb21fZmlsZV91
cmxzX2FsbG93ZWRfc2V0KHNldHRpbmdzLCB0cnVlKTsKKwogICAgIHJldHVybiBld2tfdmlld19w
YWdlX2dldChtX2luc3BlY3RvclZpZXcpOwogfQogCiB2b2lkIFdlYkluc3BlY3RvclByb3h5Ojpw
bGF0Zm9ybU9wZW4oKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgaWYgKG1faXNBdHRh
Y2hlZCkKKyAgICAgICAgcGxhdGZvcm1BdHRhY2goKTsKKyAgICBlbHNlCisgICAgICAgIGNyZWF0
ZUluc3BlY3RvcldpbmRvdygpOworCisgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRk
KG1faW5zcGVjdG9yVmlldywgImluc3BlY3Rvcix2aWV3LGNsb3NlIiwgY2xvc2VJbnNwZWN0b3JX
aW5kb3csIHRoaXMpOwogfQogCiB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybURpZENs
b3NlKCkKIHsKICAgICBpZiAobV9pbnNwZWN0b3JWaWV3KSB7CisgICAgICAgIGV2YXNfb2JqZWN0
X3NtYXJ0X2NhbGxiYWNrX2RlbChtX2luc3BlY3RvclZpZXcsICJpbnNwZWN0b3IsdmlldyxjbG9z
ZSIsIGNsb3NlSW5zcGVjdG9yV2luZG93KTsKKwogICAgICAgICBldmFzX29iamVjdF9kZWwobV9p
bnNwZWN0b3JWaWV3KTsKICAgICAgICAgbV9pbnNwZWN0b3JWaWV3ID0gMDsKICAgICB9CmRpZmYg
LS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOTNkNjA3MTQ2
Mjc5MmQyMWJkMmVlZGJhMWFkZjk0MzYyMjU2MDVjMi4uMmNiMjdmNzEzZWIzMGI0NDE0ODM2NWFm
OGEyODdkMWJhNGU2MmQ0OCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTEwLTA5ICBTZW9ranUgS3dvbiAgPHNl
b2tqdS5rd29uQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdW1dLMl0gQWRkIHN1cHBvcnQg
Zm9yIEluc3BlY3RvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTg2MzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBFbmFibGUgZGV2ZWxvcGVyIGV4dGVuc2lvbnMgd2hlbiBicm93c2VyIGlzIGNyZWF0ZWQu
CisgICAgICAgIEFuZCBJbnNwZWN0b3IgY2FuIGJlIG9wZW5lZCBieSBwcmVzc2luZyBDdHJsK2kg
b24gYnJvd3Nlci4KKworICAgICAgICAqIE1pbmlCcm93c2VyL2VmbC9tYWluLmM6CisgICAgICAg
IChvbl9rZXlfZG93bik6CisgICAgICAgICh3aW5kb3dfY3JlYXRlKToKKwogMjAxMi0xMC0wOCAg
RGlyayBQcmFua2UgIDxkcHJhbmtlQGNocm9taXVtLm9yZz4KIAogICAgICAgICByZXN1bHRzLmh0
bWwgYW5kIGdhcmRlbi1vLW1hdGljIGFyZSBpZ25vcmluZyBJTUFHRSBmYWlsdXJlcyB3aGVuIGV4
cGVjdGVkIHRvIEZBSUwKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9tYWluLmMg
Yi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvbWFpbi5jCmluZGV4IDA1MzE0ODEzOTAzYzJlOThlMzg4
MDhhYzIyYmRiYzQyNGNlMTVmNjcuLjhhNjNlZDRmMDVkZThjYTY4MzJkOGU0OThlYjFlNWE4ODZi
ZDQxYzcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9tYWluLmMKKysrIGIvVG9v
bHMvTWluaUJyb3dzZXIvZWZsL21haW4uYwpAQCAtMTc1LDYgKzE3NSw5IEBAIG9uX2tleV9kb3du
KHZvaWQgKmRhdGEsIEV2YXMgKmUsIEV2YXNfT2JqZWN0ICpvYmosIHZvaWQgKmV2ZW50X2luZm8p
CiAgICAgICAgIGluZm8oIkNyZWF0ZSBuZXcgd2luZG93IChDdHJsK24pIHdhcyBwcmVzc2VkLlxu
Iik7CiAgICAgICAgIEJyb3dzZXJfV2luZG93ICp3aW5kb3cgPSB3aW5kb3dfY3JlYXRlKERFRkFV
TFRfVVJMKTsKICAgICAgICAgd2luZG93cyA9IGVpbmFfbGlzdF9hcHBlbmQod2luZG93cywgd2lu
ZG93KTsKKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAoZXYtPmtleSwgImkiKSAmJiBjdHJsUHJlc3Nl
ZCkgeworICAgICAgICBpbmZvKCJTaG93IEluc3BlY3RvciAoQ3RybCtpKSB3YXMgcHJlc3NlZC5c
biIpOworICAgICAgICBld2tfdmlld19pbnNwZWN0b3Jfc2hvdyhvYmopOwogICAgIH0KIH0KIApA
QCAtMzQ4LDYgKzM1MSw3IEBAIHN0YXRpYyBCcm93c2VyX1dpbmRvdyAqd2luZG93X2NyZWF0ZShj
b25zdCBjaGFyICp1cmwpCiAKICAgICBFd2tfU2V0dGluZ3MgKnNldHRpbmdzID0gZXdrX3ZpZXdf
c2V0dGluZ3NfZ2V0KHdpbmRvdy0+d2Vidmlldyk7CiAgICAgZXdrX3NldHRpbmdzX2ZpbGVfYWNj
ZXNzX2Zyb21fZmlsZV91cmxzX2FsbG93ZWRfc2V0KHNldHRpbmdzLCBFSU5BX1RSVUUpOworICAg
IGV3a19zZXR0aW5nc19kZXZlbG9wZXJfZXh0cmFzX2VuYWJsZWRfc2V0KHNldHRpbmdzLCBFSU5B
X1RSVUUpOwogCiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHdpbmRvdy0+d2Vi
dmlldywgImNsb3NlLHdpbmRvdyIsIG9uX2Nsb3NlX3dpbmRvdywgd2luZG93KTsKICAgICBldmFz
X29iamVjdF9zbWFydF9jYWxsYmFja19hZGQod2luZG93LT53ZWJ2aWV3LCAiY3JlYXRlLHdpbmRv
dyIsIG9uX25ld193aW5kb3csIHdpbmRvdyk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168149</attachid>
            <date>2012-10-10 23:55:38 -0700</date>
            <delta_ts>2012-10-11 15:53:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98639-20121011155437.patch</filename>
            <type>text/plain</type>
            <size>10328</size>
            <attacher name="Seokju Kwon">seokju.kwon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwOTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYzM0Mzk4NDc2NDQ3ZjU1
OGFlNWY3ZjhjNjA4YzhkNTU3OTViYzM1Ni4uNjIxZjcyOGMxOTMwZjMwODZjZjMwZjUyNmQ4MzI3
MmQ2YjZmNTllNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTEwLTEwICBTZW9r
anUgS3dvbiAgPHNlb2tqdS5rd29uQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdW1dLMl0g
QWRkIHN1cHBvcnQgZm9yIEluc3BlY3RvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9OTg2MzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTdXBwb3J0IGluc3BlY3RvciBvbiBXZWJLaXQyL0VmbCBhbmQgYWRk
IEFQSXMgdG8gc2hvdyBhbmQgY2xvc2UgdGhlIGluc3BlY3Rvci4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcDoKKyAgICAgICAgKGV3a192aWV3X2luc3BlY3Rvcl9z
aG93KToKKyAgICAgICAgKGV3a192aWV3X2luc3BlY3Rvcl9jbG9zZSk6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViSW5zcGVj
dG9yUHJveHkuaDoKKyAgICAgICAgKFdlYkluc3BlY3RvclByb3h5KToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvZWZsL1dlYkluc3BlY3RvclByb3h5RWZsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6cmVz
aXplSW5zcGVjdG9yV2luZG93KToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6
OmRlc3Ryb3lJbnNwZWN0b3JXaW5kb3cpOgorICAgICAgICAoV2ViS2l0OjpjbG9zZUluc3BlY3Rv
cldpbmRvdyk6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpjcmVhdGVJbnNw
ZWN0b3JXaW5kb3cpOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZv
cm1DcmVhdGVJbnNwZWN0b3JQYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJv
eHk6OnBsYXRmb3JtT3Blbik6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5Ojpw
bGF0Zm9ybURpZENsb3NlKToKKwogMjAxMi0xMC0xMCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJz
Y2FAYXBwbGUuY29tPgogCiAgICAgICAgIFN0b3AgY3Jhc2hpbmcgbGVmdCBhbmQgcmlnaHQuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAKaW5kZXggNTk1
OWFiMDFmMmE5NjAzNTg2NThhNWY5OTJkM2FlZjUxOWNhOWVhNy4uMTkxMTM4NzVlZmI3ZDRmY2M3
NTE2MTU0ZmM1OTQzNWMxZmM5MTgwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL2V3a192aWV3LmNwcApAQCAtNjQsNiArNjQsMTAgQEAKICNpbmNsdWRlICJXZWJGdWxs
U2NyZWVuTWFuYWdlclByb3h5LmgiCiAjZW5kaWYKIAorI2lmIEVOQUJMRShJTlNQRUNUT1IpCisj
aW5jbHVkZSAiV2ViSW5zcGVjdG9yUHJveHkuaCIKKyNlbmRpZgorCiAjaWYgVVNFKEFDQ0VMRVJB
VEVEX0NPTVBPU0lUSU5HKQogI2luY2x1ZGUgPEV2YXNfR0wuaD4KICNlbmRpZgpAQCAtMTk2Nywz
ICsxOTcxLDM2IEBAIEVpbmFfQm9vbCBld2tfdmlld190b3VjaF9ldmVudHNfZW5hYmxlZF9nZXQo
Y29uc3QgRXZhc19PYmplY3QqIGV3a1ZpZXcpCiAgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCiB9
CisKK0VpbmFfQm9vbCBld2tfdmlld19pbnNwZWN0b3Jfc2hvdyhFdmFzX09iamVjdCogZXdrVmll
dykKK3sKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRV
Uk4oZXdrVmlldywgc21hcnREYXRhLCBmYWxzZSk7CisgICAgRVdLX1ZJRVdfUFJJVl9HRVRfT1Jf
UkVUVVJOKHNtYXJ0RGF0YSwgcHJpdiwgZmFsc2UpOworCisgICAgV2ViSW5zcGVjdG9yUHJveHkq
IGluc3BlY3RvciA9IHByaXYtPnBhZ2VQcm94eS0+aW5zcGVjdG9yKCk7CisgICAgaWYgKGluc3Bl
Y3RvcikKKyAgICAgICAgaW5zcGVjdG9yLT5zaG93KCk7CisKKyAgICByZXR1cm4gdHJ1ZTsKKyNl
bHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKK0VpbmFfQm9vbCBld2tfdmlld19p
bnNwZWN0b3JfY2xvc2UoRXZhc19PYmplY3QqIGV3a1ZpZXcpCit7CisjaWYgRU5BQkxFKElOU1BF
Q1RPUikKKyAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSwg
ZmFsc2UpOworICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIHByaXYs
IGZhbHNlKTsKKworICAgIFdlYkluc3BlY3RvclByb3h5KiBpbnNwZWN0b3IgPSBwcml2LT5wYWdl
UHJveHktPmluc3BlY3RvcigpOworICAgIGlmIChpbnNwZWN0b3IpCisgICAgICAgIGluc3BlY3Rv
ci0+Y2xvc2UoKTsKKworICAgIHJldHVybiB0cnVlOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7
CisjZW5kaWYKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX3ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3
LmgKaW5kZXggMzUwMWU4NjZkYTI5Zjg2NTE0MTgyY2I3MzU5NWVmMGNlYzc4YzZlYy4uZTljYmU0
ZTFmMDBmZDMwNjBhOWVhZDk4MzRjM2I3MzU2YjE3YmVjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5oCkBAIC03NTgsNiArNzU4LDI2IEBAIEVBUEkgRWlu
YV9Cb29sIGV3a192aWV3X3RvdWNoX2V2ZW50c19lbmFibGVkX3NldChFdmFzX09iamVjdCAqbywg
RWluYV9Cb29sIGVuYWJsCiAgKi8KIEVBUEkgRWluYV9Cb29sIGV3a192aWV3X3RvdWNoX2V2ZW50
c19lbmFibGVkX2dldChjb25zdCBFdmFzX09iamVjdCAqbyk7CiAKKy8qKgorICogU2hvdyB0aGUg
aW5zcGVjdG9yIHRvIGRlYnVnIGEgd2ViIHBhZ2UuCisgKgorICogQHBhcmFtIG8gVGhlIHZpZXcg
dG8gc2hvdyB0aGUgaW5zcGVjdG9yLgorICoKKyAqIEByZXR1cm4gQGMgRUlOQV9UUlVFIG9uIHN1
Y2Nlc3Mgb3IgQGMgRUlOQV9GQUxTRSBvbiBmYWlsdXJlCisgKgorICogQHNlZSBld2tfc2V0dGlu
Z3NfZGV2ZWxvcGVyX2V4dHJhc19lbmFibGVkX3NldCgpCisgKi8KK0VBUEkgRWluYV9Cb29sIGV3
a192aWV3X2luc3BlY3Rvcl9zaG93KEV2YXNfT2JqZWN0ICpvKTsKKworLyoqCisgKiBDbG9zZSB0
aGUgaW5zcGVjdG9yCisgKgorICogQHBhcmFtIG8gVGhlIHZpZXcgdG8gY2xvc2UgdGhlIGluc3Bl
Y3Rvci4KKyAqCisgKiBAcmV0dXJuIEBjIEVJTkFfVFJVRSBvbiBzdWNjZXNzIG9yIEBjIEVJTkFf
RkFMU0Ugb24gZmFpbHVyZQorICovCitFQVBJIEVpbmFfQm9vbCBld2tfdmlld19pbnNwZWN0b3Jf
Y2xvc2UoRXZhc19PYmplY3QgKm8pOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9l
d2syX3ZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVz
dF9ld2syX3ZpZXcuY3BwCmluZGV4IDgxNmYzMmZkMTZhMjQ1MDY5YjI5YzBmODgwNjYzYzA3ZjBi
ZmE5NjQuLjBhYjBjOTEyZTQ4YjBjN2JlMjE1MWFlZDdlNjljN2YyMjNhYjE5OGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl92aWV3
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3
azJfdmlldy5jcHAKQEAgLTkyNywzICs5MjcsMTQgQEAgVEVTVF9GKEVXSzJVbml0VGVzdEJhc2Us
IHdpbmRvd19tb3ZlX3Jlc2l6ZSkKICAgICBFWFBFQ1RfRVEoMjAwLCB3aWR0aCk7CiAgICAgRVhQ
RUNUX0VRKDEwMCwgaGVpZ2h0KTsKIH0KKworVEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3a192
aWV3X2luc3BlY3RvcikKK3sKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgIEFTU0VSVF9UUlVF
KGV3a192aWV3X2luc3BlY3Rvcl9zaG93KHdlYlZpZXcoKSkpOworICAgIEFTU0VSVF9UUlVFKGV3
a192aWV3X2luc3BlY3Rvcl9jbG9zZSh3ZWJWaWV3KCkpKTsKKyNlbHNlCisgICAgQVNTRVJUX0ZB
TFNFKGV3a192aWV3X2luc3BlY3Rvcl9zaG93KHdlYlZpZXcoKSkpOworICAgIEFTU0VSVF9GQUxT
RShld2tfdmlld19pbnNwZWN0b3JfY2xvc2Uod2ViVmlldygpKSk7CisjZW5kaWYKK30KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmgKaW5kZXggYjgwNzAwNDI5
NzExNDcxNDExZmMxYWM3ZTRiZWIwMmM3NTMzNWYwNC4uNjkyMmI3ZDczNTExYWE2MWY5MjQzZWM2
MTA5ZWMzMmIxOTZjOWViZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
Ykluc3BlY3RvclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3Bl
Y3RvclByb3h5LmgKQEAgLTE4OSw3ICsxODksNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9p
ZCB3aW5kb3dSZWNlaXZlZE1lc3NhZ2UoSFdORCwgVUlOVCBtZXNzYWdlLCBXUEFSQU0sIExQQVJB
TSk7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKEdUSykKKyNpZiBQTEFURk9STShHVEspIHx8IFBM
QVRGT1JNKEVGTCkKICAgICB2b2lkIGNyZWF0ZUluc3BlY3RvcldpbmRvdygpOwogI2VuZGlmCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViSW5zcGVjdG9yUHJv
eHlFZmwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJJbnNwZWN0b3JQcm94
eUVmbC5jcHAKaW5kZXggNTM4MzU2NjEwNDU5MjVhZDQ1NDEwOTlkZGI0ZTVhOTNhNzllZWY3Mi4u
MmZiMTFiZmRmZmY1NjI3NDI1OWVlNjg5ZTk5ZDBiYTMyNTI0YWIxNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJJbnNwZWN0b3JQcm94eUVmbC5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJJbnNwZWN0b3JQcm94eUVmbC5jcHAKQEAg
LTI5LDYgKzI5LDcgQEAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogCiAjaW5jbHVkZSAiV2ViUHJv
Y2Vzc1Byb3h5LmgiCisjaW5jbHVkZSAiZXdrX3NldHRpbmdzLmgiCiAjaW5jbHVkZSAiZXdrX3Zp
ZXcuaCIKICNpbmNsdWRlICJld2tfdmlld19wcml2YXRlLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9O
b3RJbXBsZW1lbnRlZC5oPgpAQCAtMzgsMjcgKzM5LDgwIEBACiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCitzdGF0aWMgdm9pZCByZXNpemVJbnNwZWN0b3JXaW5kb3coRWNvcmVfRXZhcyogaW5zcGVj
dG9yV2luZG93KQoreworICAgIEV2YXNfT2JqZWN0KiBpbnNwZWN0b3JWaWV3ID0gZXZhc19vYmpl
Y3RfbmFtZV9maW5kKGVjb3JlX2V2YXNfZ2V0KGluc3BlY3RvcldpbmRvdyksICJpbnNwZWN0b3Ii
KTsKKyAgICBpZiAoIWluc3BlY3RvclZpZXcpCisgICAgICAgIHJldHVybjsKKworICAgIGludCB3
aWR0aCwgaGVpZ2h0OworICAgIGVjb3JlX2V2YXNfZ2VvbWV0cnlfZ2V0KGluc3BlY3RvcldpbmRv
dywgMCwgMCwgJndpZHRoLCAmaGVpZ2h0KTsKKworICAgIGV2YXNfb2JqZWN0X21vdmUoaW5zcGVj
dG9yVmlldywgMCwgMCk7CisgICAgZXZhc19vYmplY3RfcmVzaXplKGluc3BlY3RvclZpZXcsIHdp
ZHRoLCBoZWlnaHQpOworfQorCitzdGF0aWMgdm9pZCBkZXN0cm95SW5zcGVjdG9yV2luZG93KEVj
b3JlX0V2YXMqIGluc3BlY3RvcldpbmRvdykKK3sKKyAgICBFdmFzX09iamVjdCogaW5zcGVjdG9y
VmlldyA9IGV2YXNfb2JqZWN0X25hbWVfZmluZChlY29yZV9ldmFzX2dldChpbnNwZWN0b3JXaW5k
b3cpLCAiaW5zcGVjdG9yIik7CisgICAgaWYgKGluc3BlY3RvclZpZXcpCisgICAgICAgIGV2YXNf
b2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2NhbGwoaW5zcGVjdG9yVmlldywgImluc3BlY3Rvcix2aWV3
LGNsb3NlIiwgMCk7Cit9CisKK3N0YXRpYyB2b2lkIGNsb3NlSW5zcGVjdG9yV2luZG93KHZvaWQq
IHVzZXJEYXRhLCBFdmFzX09iamVjdCosIHZvaWQqKQoreworICAgIFdlYkluc3BlY3RvclByb3h5
KiBpbnNwZWN0b3JQcm94eSA9IHN0YXRpY19jYXN0PFdlYkluc3BlY3RvclByb3h5Kj4odXNlckRh
dGEpOworCisgICAgaW5zcGVjdG9yUHJveHktPmNsb3NlKCk7Cit9CisKK3ZvaWQgV2ViSW5zcGVj
dG9yUHJveHk6OmNyZWF0ZUluc3BlY3RvcldpbmRvdygpCit7CisgICAgZWNvcmVfZXZhc190aXRs
ZV9zZXQobV9pbnNwZWN0b3JXaW5kb3csICJXZWIgSW5zcGVjdG9yIik7CisgICAgZWNvcmVfZXZh
c19jYWxsYmFja19yZXNpemVfc2V0KG1faW5zcGVjdG9yV2luZG93LCByZXNpemVJbnNwZWN0b3JX
aW5kb3cpOworICAgIGVjb3JlX2V2YXNfY2FsbGJhY2tfZGVsZXRlX3JlcXVlc3Rfc2V0KG1faW5z
cGVjdG9yV2luZG93LCBkZXN0cm95SW5zcGVjdG9yV2luZG93KTsKKyAgICBlY29yZV9ldmFzX3No
b3cobV9pbnNwZWN0b3JXaW5kb3cpOworCisgICAgZXZhc19vYmplY3RfbmFtZV9zZXQobV9pbnNw
ZWN0b3JWaWV3LCAiaW5zcGVjdG9yIik7CisgICAgZXZhc19vYmplY3RfbW92ZShtX2luc3BlY3Rv
clZpZXcsIDAsIDApOworICAgIGV2YXNfb2JqZWN0X3Jlc2l6ZShtX2luc3BlY3RvclZpZXcsIGlu
aXRpYWxXaW5kb3dXaWR0aCwgaW5pdGlhbFdpbmRvd0hlaWdodCk7CisgICAgZXZhc19vYmplY3Rf
c2hvdyhtX2luc3BlY3RvclZpZXcpOworCisgICAgZXZhc19vYmplY3RfZm9jdXNfc2V0KG1faW5z
cGVjdG9yVmlldywgdHJ1ZSk7Cit9CisKIFdlYlBhZ2VQcm94eSogV2ViSW5zcGVjdG9yUHJveHk6
OnBsYXRmb3JtQ3JlYXRlSW5zcGVjdG9yUGFnZSgpCiB7CiAgICAgQVNTRVJUKG1fcGFnZSk7CiAK
LSAgICBtX2luc3BlY3RvcldpbmRvdyA9IGVjb3JlX2V2YXNfYnVmZmVyX25ldyhpbml0aWFsV2lu
ZG93V2lkdGgsIGluaXRpYWxXaW5kb3dIZWlnaHQpOworICAgIG1faW5zcGVjdG9yV2luZG93ID0g
ZWNvcmVfZXZhc19uZXcoMCwgMCwgMCwgaW5pdGlhbFdpbmRvd1dpZHRoLCBpbml0aWFsV2luZG93
SGVpZ2h0LCAwKTsKICAgICBpZiAoIW1faW5zcGVjdG9yV2luZG93KQogICAgICAgICByZXR1cm4g
MDsKIAogICAgIG1faW5zcGVjdG9yVmlldyA9IGV3a192aWV3X2Jhc2VfYWRkKGVjb3JlX2V2YXNf
Z2V0KG1faW5zcGVjdG9yV2luZG93KSwgdG9BUEkocGFnZSgpLT5wcm9jZXNzKCktPmNvbnRleHQo
KSksIHRvQVBJKGluc3BlY3RvclBhZ2VHcm91cCgpKSk7CiAgICAgZXdrX3ZpZXdfdGhlbWVfc2V0
KG1faW5zcGVjdG9yVmlldywgVEVTVF9USEVNRV9ESVIiL2RlZmF1bHQuZWRqIik7CisKKyAgICBF
d2tfU2V0dGluZ3MqIHNldHRpbmdzID0gZXdrX3ZpZXdfc2V0dGluZ3NfZ2V0KG1faW5zcGVjdG9y
Vmlldyk7CisgICAgZXdrX3NldHRpbmdzX2ZpbGVfYWNjZXNzX2Zyb21fZmlsZV91cmxzX2FsbG93
ZWRfc2V0KHNldHRpbmdzLCB0cnVlKTsKKwogICAgIHJldHVybiBld2tfdmlld19wYWdlX2dldCht
X2luc3BlY3RvclZpZXcpOwogfQogCiB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybU9w
ZW4oKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgaWYgKG1faXNBdHRhY2hlZCkKKyAg
ICAgICAgcGxhdGZvcm1BdHRhY2goKTsKKyAgICBlbHNlCisgICAgICAgIGNyZWF0ZUluc3BlY3Rv
cldpbmRvdygpOworCisgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKG1faW5zcGVj
dG9yVmlldywgImluc3BlY3Rvcix2aWV3LGNsb3NlIiwgY2xvc2VJbnNwZWN0b3JXaW5kb3csIHRo
aXMpOwogfQogCiB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybURpZENsb3NlKCkKIHsK
ICAgICBpZiAobV9pbnNwZWN0b3JWaWV3KSB7CisgICAgICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2Nh
bGxiYWNrX2RlbChtX2luc3BlY3RvclZpZXcsICJpbnNwZWN0b3IsdmlldyxjbG9zZSIsIGNsb3Nl
SW5zcGVjdG9yV2luZG93KTsKKwogICAgICAgICBldmFzX29iamVjdF9kZWwobV9pbnNwZWN0b3JW
aWV3KTsKICAgICAgICAgbV9pbnNwZWN0b3JWaWV3ID0gMDsKICAgICB9CmRpZmYgLS1naXQgYS9U
b29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMTE0ZGI0ZDQ0ZTU4NDdjNzgy
YzYyYThlOTc4ODU1ODI0Nzk0Y2I4ZC4uNjFmMzFhODQxZmNlOTc2YWU4YTUzMWFlMWYwNzk5YzQw
YTYwNDVhMiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTEwLTEwICBTZW9ranUgS3dvbiAgPHNlb2tqdS5rd29u
QHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdW1dLMl0gQWRkIHN1cHBvcnQgZm9yIEluc3Bl
Y3RvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg2
MzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbmFi
bGUgZGV2ZWxvcGVyIGV4dGVuc2lvbnMgd2hlbiBicm93c2VyIGlzIGNyZWF0ZWQuCisgICAgICAg
IEFuZCBJbnNwZWN0b3IgY2FuIGJlIG9wZW5lZCBieSBwcmVzc2luZyBDdHJsK2kgb24gYnJvd3Nl
ci4KKworICAgICAgICAqIE1pbmlCcm93c2VyL2VmbC9tYWluLmM6CisgICAgICAgIChvbl9rZXlf
ZG93bik6CisgICAgICAgICh3aW5kb3dfY3JlYXRlKToKKwogMjAxMi0xMC0xMCAgTHVjYXMgRm9y
c2NobGVyICA8bGZvcnNjaGxlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIEFwcGxlIE1h
YyBTbm93IExlb3BhcmQgYm90cy4KZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9t
YWluLmMgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvbWFpbi5jCmluZGV4IDFjODdhYjk3MmQxYWNl
M2MyZGM0YzQ5YzVhZTY3OTE4OTdmMjQ5ZWUuLmExMTA0NGRhZWZjOGRhZDJiNTk2Mjk1ZTUwOTQx
ZmFjN2M5MTJlNjAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9tYWluLmMKKysr
IGIvVG9vbHMvTWluaUJyb3dzZXIvZWZsL21haW4uYwpAQCAtMTQ1LDYgKzE0NSw5IEBAIG9uX2tl
eV9kb3duKHZvaWQgKmRhdGEsIEV2YXMgKmUsIEV2YXNfT2JqZWN0ICpvYmosIHZvaWQgKmV2ZW50
X2luZm8pCiAgICAgICAgIGluZm8oIkNyZWF0ZSBuZXcgd2luZG93IChDdHJsK24pIHdhcyBwcmVz
c2VkLlxuIik7CiAgICAgICAgIEJyb3dzZXJfV2luZG93ICp3aW5kb3cgPSB3aW5kb3dfY3JlYXRl
KERFRkFVTFRfVVJMKTsKICAgICAgICAgd2luZG93cyA9IGVpbmFfbGlzdF9hcHBlbmQod2luZG93
cywgd2luZG93KTsKKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAoZXYtPmtleSwgImkiKSAmJiBjdHJs
UHJlc3NlZCkgeworICAgICAgICBpbmZvKCJTaG93IEluc3BlY3RvciAoQ3RybCtpKSB3YXMgcHJl
c3NlZC5cbiIpOworICAgICAgICBld2tfdmlld19pbnNwZWN0b3Jfc2hvdyhvYmopOwogICAgIH0K
IH0KIApAQCAtNDkyLDYgKzQ5NSw3IEBAIHN0YXRpYyBCcm93c2VyX1dpbmRvdyAqd2luZG93X2Ny
ZWF0ZShjb25zdCBjaGFyICp1cmwpCiAgICAgRXdrX1NldHRpbmdzICpzZXR0aW5ncyA9IGV3a192
aWV3X3NldHRpbmdzX2dldChhcHBfZGF0YS0+d2Vidmlldyk7CiAgICAgZXdrX3NldHRpbmdzX2Zp
bGVfYWNjZXNzX2Zyb21fZmlsZV91cmxzX2FsbG93ZWRfc2V0KHNldHRpbmdzLCBFSU5BX1RSVUUp
OwogICAgIGV3a19zZXR0aW5nc19lbmFibGVfZnJhbWVfZmxhdHRlbmluZ19zZXQoc2V0dGluZ3Ms
IGZyYW1lX2ZsYXR0ZW5pbmdfZW5hYmxlZCk7CisgICAgZXdrX3NldHRpbmdzX2RldmVsb3Blcl9l
eHRyYXNfZW5hYmxlZF9zZXQoc2V0dGluZ3MsIEVJTkFfVFJVRSk7CiAKICAgICBldmFzX29iamVj
dF9zbWFydF9jYWxsYmFja19hZGQoYXBwX2RhdGEtPndlYnZpZXcsICJjbG9zZSx3aW5kb3ciLCBv
bl9jbG9zZV93aW5kb3csIGFwcF9kYXRhKTsKICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFj
a19hZGQoYXBwX2RhdGEtPndlYnZpZXcsICJjcmVhdGUsd2luZG93Iiwgb25fbmV3X3dpbmRvdywg
YXBwX2RhdGEpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168298</attachid>
            <date>2012-10-11 15:53:16 -0700</date>
            <delta_ts>2012-10-11 16:52:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98639-20121012075214.patch</filename>
            <type>text/plain</type>
            <size>10111</size>
            <attacher name="Seokju Kwon">seokju.kwon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwOTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYzM0Mzk4NDc2NDQ3ZjU1
OGFlNWY3ZjhjNjA4YzhkNTU3OTViYzM1Ni4uNjIxZjcyOGMxOTMwZjMwODZjZjMwZjUyNmQ4MzI3
MmQ2YjZmNTllNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTEwLTEwICBTZW9r
anUgS3dvbiAgPHNlb2tqdS5rd29uQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdW1dLMl0g
QWRkIHN1cHBvcnQgZm9yIEluc3BlY3RvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9OTg2MzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTdXBwb3J0IGluc3BlY3RvciBvbiBXZWJLaXQyL0VmbCBhbmQgYWRk
IEFQSXMgdG8gc2hvdyBhbmQgY2xvc2UgdGhlIGluc3BlY3Rvci4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcDoKKyAgICAgICAgKGV3a192aWV3X2luc3BlY3Rvcl9z
aG93KToKKyAgICAgICAgKGV3a192aWV3X2luc3BlY3Rvcl9jbG9zZSk6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViSW5zcGVj
dG9yUHJveHkuaDoKKyAgICAgICAgKFdlYkluc3BlY3RvclByb3h5KToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvZWZsL1dlYkluc3BlY3RvclByb3h5RWZsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6cmVz
aXplSW5zcGVjdG9yV2luZG93KToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6
OmRlc3Ryb3lJbnNwZWN0b3JXaW5kb3cpOgorICAgICAgICAoV2ViS2l0OjpjbG9zZUluc3BlY3Rv
cldpbmRvdyk6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpjcmVhdGVJbnNw
ZWN0b3JXaW5kb3cpOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZv
cm1DcmVhdGVJbnNwZWN0b3JQYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJv
eHk6OnBsYXRmb3JtT3Blbik6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5Ojpw
bGF0Zm9ybURpZENsb3NlKToKKwogMjAxMi0xMC0xMCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJz
Y2FAYXBwbGUuY29tPgogCiAgICAgICAgIFN0b3AgY3Jhc2hpbmcgbGVmdCBhbmQgcmlnaHQuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAKaW5kZXggNTk1
OWFiMDFmMmE5NjAzNTg2NThhNWY5OTJkM2FlZjUxOWNhOWVhNy4uMTkxMTM4NzVlZmI3ZDRmY2M3
NTE2MTU0ZmM1OTQzNWMxZmM5MTgwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL2V3a192aWV3LmNwcApAQCAtNjQsNiArNjQsMTAgQEAKICNpbmNsdWRlICJXZWJGdWxs
U2NyZWVuTWFuYWdlclByb3h5LmgiCiAjZW5kaWYKIAorI2lmIEVOQUJMRShJTlNQRUNUT1IpCisj
aW5jbHVkZSAiV2ViSW5zcGVjdG9yUHJveHkuaCIKKyNlbmRpZgorCiAjaWYgVVNFKEFDQ0VMRVJB
VEVEX0NPTVBPU0lUSU5HKQogI2luY2x1ZGUgPEV2YXNfR0wuaD4KICNlbmRpZgpAQCAtMTk2Nywz
ICsxOTcxLDM2IEBAIEVpbmFfQm9vbCBld2tfdmlld190b3VjaF9ldmVudHNfZW5hYmxlZF9nZXQo
Y29uc3QgRXZhc19PYmplY3QqIGV3a1ZpZXcpCiAgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCiB9
CisKK0VpbmFfQm9vbCBld2tfdmlld19pbnNwZWN0b3Jfc2hvdyhFdmFzX09iamVjdCogZXdrVmll
dykKK3sKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRV
Uk4oZXdrVmlldywgc21hcnREYXRhLCBmYWxzZSk7CisgICAgRVdLX1ZJRVdfUFJJVl9HRVRfT1Jf
UkVUVVJOKHNtYXJ0RGF0YSwgcHJpdiwgZmFsc2UpOworCisgICAgV2ViSW5zcGVjdG9yUHJveHkq
IGluc3BlY3RvciA9IHByaXYtPnBhZ2VQcm94eS0+aW5zcGVjdG9yKCk7CisgICAgaWYgKGluc3Bl
Y3RvcikKKyAgICAgICAgaW5zcGVjdG9yLT5zaG93KCk7CisKKyAgICByZXR1cm4gdHJ1ZTsKKyNl
bHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKK0VpbmFfQm9vbCBld2tfdmlld19p
bnNwZWN0b3JfY2xvc2UoRXZhc19PYmplY3QqIGV3a1ZpZXcpCit7CisjaWYgRU5BQkxFKElOU1BF
Q1RPUikKKyAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSwg
ZmFsc2UpOworICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIHByaXYs
IGZhbHNlKTsKKworICAgIFdlYkluc3BlY3RvclByb3h5KiBpbnNwZWN0b3IgPSBwcml2LT5wYWdl
UHJveHktPmluc3BlY3RvcigpOworICAgIGlmIChpbnNwZWN0b3IpCisgICAgICAgIGluc3BlY3Rv
ci0+Y2xvc2UoKTsKKworICAgIHJldHVybiB0cnVlOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7
CisjZW5kaWYKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX3ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3
LmgKaW5kZXggMzUwMWU4NjZkYTI5Zjg2NTE0MTgyY2I3MzU5NWVmMGNlYzc4YzZlYy4uZTljYmU0
ZTFmMDBmZDMwNjBhOWVhZDk4MzRjM2I3MzU2YjE3YmVjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5oCkBAIC03NTgsNiArNzU4LDI2IEBAIEVBUEkgRWlu
YV9Cb29sIGV3a192aWV3X3RvdWNoX2V2ZW50c19lbmFibGVkX3NldChFdmFzX09iamVjdCAqbywg
RWluYV9Cb29sIGVuYWJsCiAgKi8KIEVBUEkgRWluYV9Cb29sIGV3a192aWV3X3RvdWNoX2V2ZW50
c19lbmFibGVkX2dldChjb25zdCBFdmFzX09iamVjdCAqbyk7CiAKKy8qKgorICogU2hvdyB0aGUg
aW5zcGVjdG9yIHRvIGRlYnVnIGEgd2ViIHBhZ2UuCisgKgorICogQHBhcmFtIG8gVGhlIHZpZXcg
dG8gc2hvdyB0aGUgaW5zcGVjdG9yLgorICoKKyAqIEByZXR1cm4gQGMgRUlOQV9UUlVFIG9uIHN1
Y2Nlc3Mgb3IgQGMgRUlOQV9GQUxTRSBvbiBmYWlsdXJlCisgKgorICogQHNlZSBld2tfc2V0dGlu
Z3NfZGV2ZWxvcGVyX2V4dHJhc19lbmFibGVkX3NldCgpCisgKi8KK0VBUEkgRWluYV9Cb29sIGV3
a192aWV3X2luc3BlY3Rvcl9zaG93KEV2YXNfT2JqZWN0ICpvKTsKKworLyoqCisgKiBDbG9zZSB0
aGUgaW5zcGVjdG9yCisgKgorICogQHBhcmFtIG8gVGhlIHZpZXcgdG8gY2xvc2UgdGhlIGluc3Bl
Y3Rvci4KKyAqCisgKiBAcmV0dXJuIEBjIEVJTkFfVFJVRSBvbiBzdWNjZXNzIG9yIEBjIEVJTkFf
RkFMU0Ugb24gZmFpbHVyZQorICovCitFQVBJIEVpbmFfQm9vbCBld2tfdmlld19pbnNwZWN0b3Jf
Y2xvc2UoRXZhc19PYmplY3QgKm8pOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9l
d2syX3ZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVz
dF9ld2syX3ZpZXcuY3BwCmluZGV4IDgxNmYzMmZkMTZhMjQ1MDY5YjI5YzBmODgwNjYzYzA3ZjBi
ZmE5NjQuLjBhYjBjOTEyZTQ4YjBjN2JlMjE1MWFlZDdlNjljN2YyMjNhYjE5OGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl92aWV3
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3
azJfdmlldy5jcHAKQEAgLTkyNywzICs5MjcsMTQgQEAgVEVTVF9GKEVXSzJVbml0VGVzdEJhc2Us
IHdpbmRvd19tb3ZlX3Jlc2l6ZSkKICAgICBFWFBFQ1RfRVEoMjAwLCB3aWR0aCk7CiAgICAgRVhQ
RUNUX0VRKDEwMCwgaGVpZ2h0KTsKIH0KKworVEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3a192
aWV3X2luc3BlY3RvcikKK3sKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgIEFTU0VSVF9UUlVF
KGV3a192aWV3X2luc3BlY3Rvcl9zaG93KHdlYlZpZXcoKSkpOworICAgIEFTU0VSVF9UUlVFKGV3
a192aWV3X2luc3BlY3Rvcl9jbG9zZSh3ZWJWaWV3KCkpKTsKKyNlbHNlCisgICAgQVNTRVJUX0ZB
TFNFKGV3a192aWV3X2luc3BlY3Rvcl9zaG93KHdlYlZpZXcoKSkpOworICAgIEFTU0VSVF9GQUxT
RShld2tfdmlld19pbnNwZWN0b3JfY2xvc2Uod2ViVmlldygpKSk7CisjZW5kaWYKK30KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmgKaW5kZXggYjgwNzAwNDI5
NzExNDcxNDExZmMxYWM3ZTRiZWIwMmM3NTMzNWYwNC4uNjkyMmI3ZDczNTExYWE2MWY5MjQzZWM2
MTA5ZWMzMmIxOTZjOWViZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
Ykluc3BlY3RvclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3Bl
Y3RvclByb3h5LmgKQEAgLTE4OSw3ICsxODksNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9p
ZCB3aW5kb3dSZWNlaXZlZE1lc3NhZ2UoSFdORCwgVUlOVCBtZXNzYWdlLCBXUEFSQU0sIExQQVJB
TSk7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKEdUSykKKyNpZiBQTEFURk9STShHVEspIHx8IFBM
QVRGT1JNKEVGTCkKICAgICB2b2lkIGNyZWF0ZUluc3BlY3RvcldpbmRvdygpOwogI2VuZGlmCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViSW5zcGVjdG9yUHJv
eHlFZmwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJJbnNwZWN0b3JQcm94
eUVmbC5jcHAKaW5kZXggNTM4MzU2NjEwNDU5MjVhZDQ1NDEwOTlkZGI0ZTVhOTNhNzllZWY3Mi4u
N2Y2OWMyZWZiNDI2YTg0NDg4MjA0NmIwMGU3ZmE0NWI4NDFjNGUyZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJJbnNwZWN0b3JQcm94eUVmbC5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJJbnNwZWN0b3JQcm94eUVmbC5jcHAKQEAg
LTI5LDYgKzI5LDcgQEAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogCiAjaW5jbHVkZSAiV2ViUHJv
Y2Vzc1Byb3h5LmgiCisjaW5jbHVkZSAiZXdrX3NldHRpbmdzLmgiCiAjaW5jbHVkZSAiZXdrX3Zp
ZXcuaCIKICNpbmNsdWRlICJld2tfdmlld19wcml2YXRlLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9O
b3RJbXBsZW1lbnRlZC5oPgpAQCAtMzgsMjIgKzM5LDczIEBACiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCitzdGF0aWMgdm9pZCByZXNpemVJbnNwZWN0b3JXaW5kb3coRWNvcmVfRXZhcyogaW5zcGVj
dG9yV2luZG93KQoreworICAgIEV2YXNfT2JqZWN0KiBpbnNwZWN0b3JWaWV3ID0gZXZhc19vYmpl
Y3RfbmFtZV9maW5kKGVjb3JlX2V2YXNfZ2V0KGluc3BlY3RvcldpbmRvdyksICJpbnNwZWN0b3Ii
KTsKKyAgICBpZiAoIWluc3BlY3RvclZpZXcpCisgICAgICAgIHJldHVybjsKKworICAgIGludCB3
aWR0aCwgaGVpZ2h0OworICAgIGVjb3JlX2V2YXNfZ2VvbWV0cnlfZ2V0KGluc3BlY3RvcldpbmRv
dywgMCwgMCwgJndpZHRoLCAmaGVpZ2h0KTsKKworICAgIGV2YXNfb2JqZWN0X21vdmUoaW5zcGVj
dG9yVmlldywgMCwgMCk7CisgICAgZXZhc19vYmplY3RfcmVzaXplKGluc3BlY3RvclZpZXcsIHdp
ZHRoLCBoZWlnaHQpOworfQorCitzdGF0aWMgdm9pZCBkZXN0cm95SW5zcGVjdG9yV2luZG93KEVj
b3JlX0V2YXMqIGluc3BlY3RvcldpbmRvdykKK3sKKyAgICBFdmFzX09iamVjdCogaW5zcGVjdG9y
VmlldyA9IGV2YXNfb2JqZWN0X25hbWVfZmluZChlY29yZV9ldmFzX2dldChpbnNwZWN0b3JXaW5k
b3cpLCAiaW5zcGVjdG9yIik7CisgICAgaWYgKGluc3BlY3RvclZpZXcpCisgICAgICAgIGV2YXNf
b2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2NhbGwoaW5zcGVjdG9yVmlldywgImluc3BlY3Rvcix2aWV3
LGNsb3NlIiwgMCk7Cit9CisKK3N0YXRpYyB2b2lkIGNsb3NlSW5zcGVjdG9yV2luZG93KHZvaWQq
IHVzZXJEYXRhLCBFdmFzX09iamVjdCosIHZvaWQqKQoreworICAgIFdlYkluc3BlY3RvclByb3h5
KiBpbnNwZWN0b3JQcm94eSA9IHN0YXRpY19jYXN0PFdlYkluc3BlY3RvclByb3h5Kj4odXNlckRh
dGEpOworCisgICAgaW5zcGVjdG9yUHJveHktPmNsb3NlKCk7Cit9CisKK3ZvaWQgV2ViSW5zcGVj
dG9yUHJveHk6OmNyZWF0ZUluc3BlY3RvcldpbmRvdygpCit7CisgICAgZWNvcmVfZXZhc190aXRs
ZV9zZXQobV9pbnNwZWN0b3JXaW5kb3csICJXZWIgSW5zcGVjdG9yIik7CisgICAgZWNvcmVfZXZh
c19jYWxsYmFja19yZXNpemVfc2V0KG1faW5zcGVjdG9yV2luZG93LCByZXNpemVJbnNwZWN0b3JX
aW5kb3cpOworICAgIGVjb3JlX2V2YXNfY2FsbGJhY2tfZGVsZXRlX3JlcXVlc3Rfc2V0KG1faW5z
cGVjdG9yV2luZG93LCBkZXN0cm95SW5zcGVjdG9yV2luZG93KTsKKyAgICBlY29yZV9ldmFzX3No
b3cobV9pbnNwZWN0b3JXaW5kb3cpOworCisgICAgZXZhc19vYmplY3RfbmFtZV9zZXQobV9pbnNw
ZWN0b3JWaWV3LCAiaW5zcGVjdG9yIik7CisgICAgZXZhc19vYmplY3RfbW92ZShtX2luc3BlY3Rv
clZpZXcsIDAsIDApOworICAgIGV2YXNfb2JqZWN0X3Jlc2l6ZShtX2luc3BlY3RvclZpZXcsIGlu
aXRpYWxXaW5kb3dXaWR0aCwgaW5pdGlhbFdpbmRvd0hlaWdodCk7CisgICAgZXZhc19vYmplY3Rf
c2hvdyhtX2luc3BlY3RvclZpZXcpOworCisgICAgZXZhc19vYmplY3RfZm9jdXNfc2V0KG1faW5z
cGVjdG9yVmlldywgdHJ1ZSk7Cit9CisKIFdlYlBhZ2VQcm94eSogV2ViSW5zcGVjdG9yUHJveHk6
OnBsYXRmb3JtQ3JlYXRlSW5zcGVjdG9yUGFnZSgpCiB7CiAgICAgQVNTRVJUKG1fcGFnZSk7CiAK
LSAgICBtX2luc3BlY3RvcldpbmRvdyA9IGVjb3JlX2V2YXNfYnVmZmVyX25ldyhpbml0aWFsV2lu
ZG93V2lkdGgsIGluaXRpYWxXaW5kb3dIZWlnaHQpOworICAgIG1faW5zcGVjdG9yV2luZG93ID0g
ZWNvcmVfZXZhc19uZXcoMCwgMCwgMCwgaW5pdGlhbFdpbmRvd1dpZHRoLCBpbml0aWFsV2luZG93
SGVpZ2h0LCAwKTsKICAgICBpZiAoIW1faW5zcGVjdG9yV2luZG93KQogICAgICAgICByZXR1cm4g
MDsKIAogICAgIG1faW5zcGVjdG9yVmlldyA9IGV3a192aWV3X2Jhc2VfYWRkKGVjb3JlX2V2YXNf
Z2V0KG1faW5zcGVjdG9yV2luZG93KSwgdG9BUEkocGFnZSgpLT5wcm9jZXNzKCktPmNvbnRleHQo
KSksIHRvQVBJKGluc3BlY3RvclBhZ2VHcm91cCgpKSk7CiAgICAgZXdrX3ZpZXdfdGhlbWVfc2V0
KG1faW5zcGVjdG9yVmlldywgVEVTVF9USEVNRV9ESVIiL2RlZmF1bHQuZWRqIik7CisKKyAgICBF
d2tfU2V0dGluZ3MqIHNldHRpbmdzID0gZXdrX3ZpZXdfc2V0dGluZ3NfZ2V0KG1faW5zcGVjdG9y
Vmlldyk7CisgICAgZXdrX3NldHRpbmdzX2ZpbGVfYWNjZXNzX2Zyb21fZmlsZV91cmxzX2FsbG93
ZWRfc2V0KHNldHRpbmdzLCB0cnVlKTsKKwogICAgIHJldHVybiBld2tfdmlld19wYWdlX2dldCht
X2luc3BlY3RvclZpZXcpOwogfQogCiB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybU9w
ZW4oKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgaWYgKG1faXNBdHRhY2hlZCkKKyAg
ICAgICAgcGxhdGZvcm1BdHRhY2goKTsKKyAgICBlbHNlCisgICAgICAgIGNyZWF0ZUluc3BlY3Rv
cldpbmRvdygpOworCisgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKG1faW5zcGVj
dG9yVmlldywgImluc3BlY3Rvcix2aWV3LGNsb3NlIiwgY2xvc2VJbnNwZWN0b3JXaW5kb3csIHRo
aXMpOwogfQogCiB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybURpZENsb3NlKCkKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxMTRkYjRk
NDRlNTg0N2M3ODJjNjJhOGU5Nzg4NTU4MjQ3OTRjYjhkLi42MWYzMWE4NDFmY2U5NzZhZThhNTMx
YWUxZjA3OTljNDBhNjA0NWEyIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9v
bHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTAtMTAgIFNlb2tqdSBLd29uICA8
c2Vva2p1Lmt3b25Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0VGTF1bV0syXSBBZGQgc3VwcG9y
dCBmb3IgSW5zcGVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD05ODYzOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEVuYWJsZSBkZXZlbG9wZXIgZXh0ZW5zaW9ucyB3aGVuIGJyb3dzZXIgaXMgY3JlYXRl
ZC4KKyAgICAgICAgQW5kIEluc3BlY3RvciBjYW4gYmUgb3BlbmVkIGJ5IHByZXNzaW5nIEN0cmwr
aSBvbiBicm93c2VyLgorCisgICAgICAgICogTWluaUJyb3dzZXIvZWZsL21haW4uYzoKKyAgICAg
ICAgKG9uX2tleV9kb3duKToKKyAgICAgICAgKHdpbmRvd19jcmVhdGUpOgorCiAyMDEyLTEwLTEw
ICBMdWNhcyBGb3JzY2hsZXIgIDxsZm9yc2NobGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1v
dmUgQXBwbGUgTWFjIFNub3cgTGVvcGFyZCBib3RzLgpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJy
b3dzZXIvZWZsL21haW4uYyBiL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9tYWluLmMKaW5kZXggMWM4
N2FiOTcyZDFhY2UzYzJkYzRjNDljNWFlNjc5MTg5N2YyNDllZS4uYTExMDQ0ZGFlZmM4ZGFkMmI1
OTYyOTVlNTA5NDFmYWM3YzkxMmU2MCAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvZWZs
L21haW4uYworKysgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvbWFpbi5jCkBAIC0xNDUsNiArMTQ1
LDkgQEAgb25fa2V5X2Rvd24odm9pZCAqZGF0YSwgRXZhcyAqZSwgRXZhc19PYmplY3QgKm9iaiwg
dm9pZCAqZXZlbnRfaW5mbykKICAgICAgICAgaW5mbygiQ3JlYXRlIG5ldyB3aW5kb3cgKEN0cmwr
bikgd2FzIHByZXNzZWQuXG4iKTsKICAgICAgICAgQnJvd3Nlcl9XaW5kb3cgKndpbmRvdyA9IHdp
bmRvd19jcmVhdGUoREVGQVVMVF9VUkwpOwogICAgICAgICB3aW5kb3dzID0gZWluYV9saXN0X2Fw
cGVuZCh3aW5kb3dzLCB3aW5kb3cpOworICAgIH0gZWxzZSBpZiAoIXN0cmNtcChldi0+a2V5LCAi
aSIpICYmIGN0cmxQcmVzc2VkKSB7CisgICAgICAgIGluZm8oIlNob3cgSW5zcGVjdG9yIChDdHJs
K2kpIHdhcyBwcmVzc2VkLlxuIik7CisgICAgICAgIGV3a192aWV3X2luc3BlY3Rvcl9zaG93KG9i
aik7CiAgICAgfQogfQogCkBAIC00OTIsNiArNDk1LDcgQEAgc3RhdGljIEJyb3dzZXJfV2luZG93
ICp3aW5kb3dfY3JlYXRlKGNvbnN0IGNoYXIgKnVybCkKICAgICBFd2tfU2V0dGluZ3MgKnNldHRp
bmdzID0gZXdrX3ZpZXdfc2V0dGluZ3NfZ2V0KGFwcF9kYXRhLT53ZWJ2aWV3KTsKICAgICBld2tf
c2V0dGluZ3NfZmlsZV9hY2Nlc3NfZnJvbV9maWxlX3VybHNfYWxsb3dlZF9zZXQoc2V0dGluZ3Ms
IEVJTkFfVFJVRSk7CiAgICAgZXdrX3NldHRpbmdzX2VuYWJsZV9mcmFtZV9mbGF0dGVuaW5nX3Nl
dChzZXR0aW5ncywgZnJhbWVfZmxhdHRlbmluZ19lbmFibGVkKTsKKyAgICBld2tfc2V0dGluZ3Nf
ZGV2ZWxvcGVyX2V4dHJhc19lbmFibGVkX3NldChzZXR0aW5ncywgRUlOQV9UUlVFKTsKIAogICAg
IGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZChhcHBfZGF0YS0+d2VidmlldywgImNsb3Nl
LHdpbmRvdyIsIG9uX2Nsb3NlX3dpbmRvdywgYXBwX2RhdGEpOwogICAgIGV2YXNfb2JqZWN0X3Nt
YXJ0X2NhbGxiYWNrX2FkZChhcHBfZGF0YS0+d2VidmlldywgImNyZWF0ZSx3aW5kb3ciLCBvbl9u
ZXdfd2luZG93LCBhcHBfZGF0YSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168318</attachid>
            <date>2012-10-11 16:52:18 -0700</date>
            <delta_ts>2012-10-11 19:09:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98639-20121012085116.patch</filename>
            <type>text/plain</type>
            <size>10158</size>
            <attacher name="Seokju Kwon">seokju.kwon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxMTA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYWMyYjM4Y2M0NDhjNmRm
N2VlMWVlMzNhOGM3MTM2ZDI5MWY4MTMxZi4uMGRiMzFiNWNlZGM0NTRhZmExNDdlODZlNWVjZmY1
YzZjZDRhZGU5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTEwLTExICBTZW9r
anUgS3dvbiAgPHNlb2tqdS5rd29uQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdW1dLMl0g
QWRkIHN1cHBvcnQgZm9yIEluc3BlY3RvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9OTg2MzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTdXBwb3J0IGluc3BlY3RvciBvbiBXZWJLaXQyL0VmbCBhbmQgYWRk
IEFQSXMgdG8gc2hvdyBhbmQgY2xvc2UgdGhlIGluc3BlY3Rvci4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcDoKKyAgICAgICAgKGV3a192aWV3X2luc3BlY3Rvcl9z
aG93KToKKyAgICAgICAgKGV3a192aWV3X2luc3BlY3Rvcl9jbG9zZSk6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC90
ZXN0cy90ZXN0X2V3azJfdmlldy5jcHA6CisgICAgICAgIChURVNUX0YpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5oOgorICAgICAgICAoV2ViSW5zcGVjdG9yUHJveHkp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9lZmwvV2ViSW5zcGVjdG9yUHJveHlFZmwuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpyZXNpemVJbnNwZWN0b3JXaW5kb3cpOgorICAgICAgICAoV2ViS2l0KToK
KyAgICAgICAgKFdlYktpdDo6ZGVzdHJveUluc3BlY3RvcldpbmRvdyk6CisgICAgICAgIChXZWJL
aXQ6OmNsb3NlSW5zcGVjdG9yV2luZG93KToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9y
UHJveHk6OmNyZWF0ZUluc3BlY3RvcldpbmRvdyk6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3Bl
Y3RvclByb3h5OjpwbGF0Zm9ybUNyZWF0ZUluc3BlY3RvclBhZ2UpOgorICAgICAgICAoV2ViS2l0
OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1PcGVuKToKKwogMjAxMi0xMC0xMSAgUmVnaW5h
IENodW5nICA8aGVlamluLnIuY2h1bmdAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF1bV0sy
XSBXZWJQcm9jZXNzIGtlZXBzIG9uIHdhaXRpbmcgZm9yIFVJUHJvY2VzcwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCmluZGV4IDVhZjA3MGMxOTI5M2Jl
NzFkN2VlZjJiMzQ4ZDJhYzAxOGYyMWJmZmIuLjA3YTk0MjI2NGIzZjI2MDVkYmNiYTY5NjM3N2Mx
MTRlMDU5NzM2OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L2V3a192aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tf
dmlldy5jcHAKQEAgLTY0LDYgKzY0LDEwIEBACiAjaW5jbHVkZSAiV2ViRnVsbFNjcmVlbk1hbmFn
ZXJQcm94eS5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorI2luY2x1ZGUgIldl
Ykluc3BlY3RvclByb3h5LmgiCisjZW5kaWYKKwogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJ
VElORykKICNpbmNsdWRlIDxFdmFzX0dMLmg+CiAjZW5kaWYKQEAgLTE5NjgsMyArMTk3MiwzNSBA
QCBFaW5hX0Jvb2wgZXdrX3ZpZXdfdG91Y2hfZXZlbnRzX2VuYWJsZWRfZ2V0KGNvbnN0IEV2YXNf
T2JqZWN0KiBld2tWaWV3KQogICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgogfQorCitFaW5hX0Jv
b2wgZXdrX3ZpZXdfaW5zcGVjdG9yX3Nob3coRXZhc19PYmplY3QqIGV3a1ZpZXcpCit7CisjaWYg
RU5BQkxFKElOU1BFQ1RPUikKKyAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcs
IHNtYXJ0RGF0YSwgZmFsc2UpOworICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihzbWFy
dERhdGEsIHByaXYsIGZhbHNlKTsKKworICAgIFdlYkluc3BlY3RvclByb3h5KiBpbnNwZWN0b3Ig
PSBwcml2LT5wYWdlUHJveHktPmluc3BlY3RvcigpOworICAgIGlmIChpbnNwZWN0b3IpCisgICAg
ICAgIGluc3BlY3Rvci0+c2hvdygpOworCisgICAgcmV0dXJuIHRydWU7CisjZWxzZQorICAgIHJl
dHVybiBmYWxzZTsKKyNlbmRpZgorfQorCitFaW5hX0Jvb2wgZXdrX3ZpZXdfaW5zcGVjdG9yX2Ns
b3NlKEV2YXNfT2JqZWN0KiBld2tWaWV3KQoreworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAg
RVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEsIGZhbHNlKTsKKyAg
ICBFV0tfVklFV19QUklWX0dFVF9PUl9SRVRVUk4oc21hcnREYXRhLCBwcml2LCBmYWxzZSk7CisK
KyAgICBXZWJJbnNwZWN0b3JQcm94eSogaW5zcGVjdG9yID0gcHJpdi0+cGFnZVByb3h5LT5pbnNw
ZWN0b3IoKTsKKyAgICBpZiAoaW5zcGVjdG9yKQorICAgICAgICBpbnNwZWN0b3ItPmNsb3NlKCk7
CisKKyAgICByZXR1cm4gdHJ1ZTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaAppbmRleCAzNTAx
ZTg2NmRhMjlmODY1MTQxODJjYjczNTk1ZWYwY2VjNzhjNmVjLi5lOWNiZTRlMWYwMGZkMzA2MGE5
ZWFkOTgzNGMzYjczNTZiMTdiZWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9ld2tfdmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a192aWV3LmgKQEAgLTc1OCw2ICs3NTgsMjYgQEAgRUFQSSBFaW5hX0Jvb2wgZXdrX3Zp
ZXdfdG91Y2hfZXZlbnRzX2VuYWJsZWRfc2V0KEV2YXNfT2JqZWN0ICpvLCBFaW5hX0Jvb2wgZW5h
YmwKICAqLwogRUFQSSBFaW5hX0Jvb2wgZXdrX3ZpZXdfdG91Y2hfZXZlbnRzX2VuYWJsZWRfZ2V0
KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKIAorLyoqCisgKiBTaG93IHRoZSBpbnNwZWN0b3IgdG8g
ZGVidWcgYSB3ZWIgcGFnZS4KKyAqCisgKiBAcGFyYW0gbyBUaGUgdmlldyB0byBzaG93IHRoZSBp
bnNwZWN0b3IuCisgKgorICogQHJldHVybiBAYyBFSU5BX1RSVUUgb24gc3VjY2VzcyBvciBAYyBF
SU5BX0ZBTFNFIG9uIGZhaWx1cmUKKyAqCisgKiBAc2VlIGV3a19zZXR0aW5nc19kZXZlbG9wZXJf
ZXh0cmFzX2VuYWJsZWRfc2V0KCkKKyAqLworRUFQSSBFaW5hX0Jvb2wgZXdrX3ZpZXdfaW5zcGVj
dG9yX3Nob3coRXZhc19PYmplY3QgKm8pOworCisvKioKKyAqIENsb3NlIHRoZSBpbnNwZWN0b3IK
KyAqCisgKiBAcGFyYW0gbyBUaGUgdmlldyB0byBjbG9zZSB0aGUgaW5zcGVjdG9yLgorICoKKyAq
IEByZXR1cm4gQGMgRUlOQV9UUlVFIG9uIHN1Y2Nlc3Mgb3IgQGMgRUlOQV9GQUxTRSBvbiBmYWls
dXJlCisgKi8KK0VBUEkgRWluYV9Cb29sIGV3a192aWV3X2luc3BlY3Rvcl9jbG9zZShFdmFzX09i
amVjdCAqbyk7CisKICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdmlldy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdmlldy5j
cHAKaW5kZXggODE2ZjMyZmQxNmEyNDUwNjliMjljMGY4ODA2NjNjMDdmMGJmYTk2NC4uMGFiMGM5
MTJlNDhiMGM3YmUyMTUxYWVkN2U2OWM3ZjIyM2FiMTk4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX3ZpZXcuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl92aWV3LmNwcApA
QCAtOTI3LDMgKzkyNywxNCBAQCBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgd2luZG93X21vdmVf
cmVzaXplKQogICAgIEVYUEVDVF9FUSgyMDAsIHdpZHRoKTsKICAgICBFWFBFQ1RfRVEoMTAwLCBo
ZWlnaHQpOwogfQorCitURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdrX3ZpZXdfaW5zcGVjdG9y
KQoreworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgQVNTRVJUX1RSVUUoZXdrX3ZpZXdfaW5z
cGVjdG9yX3Nob3cod2ViVmlldygpKSk7CisgICAgQVNTRVJUX1RSVUUoZXdrX3ZpZXdfaW5zcGVj
dG9yX2Nsb3NlKHdlYlZpZXcoKSkpOworI2Vsc2UKKyAgICBBU1NFUlRfRkFMU0UoZXdrX3ZpZXdf
aW5zcGVjdG9yX3Nob3cod2ViVmlldygpKSk7CisgICAgQVNTRVJUX0ZBTFNFKGV3a192aWV3X2lu
c3BlY3Rvcl9jbG9zZSh3ZWJWaWV3KCkpKTsKKyNlbmRpZgorfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaAppbmRleCBiODA3MDA0Mjk3MTE0NzE0MTFmYzFh
YzdlNGJlYjAyYzc1MzM1ZjA0Li42OTIyYjdkNzM1MTFhYTYxZjkyNDNlYzYxMDllYzMyYjE5NmM5
ZWJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJv
eHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaApA
QCAtMTg5LDcgKzE4OSw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHdpbmRvd1JlY2Vp
dmVkTWVzc2FnZShIV05ELCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSwgTFBBUkFNKTsKICNlbmRpZgog
Ci0jaWYgUExBVEZPUk0oR1RLKQorI2lmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKQog
ICAgIHZvaWQgY3JlYXRlSW5zcGVjdG9yV2luZG93KCk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJJbnNwZWN0b3JQcm94eUVmbC5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYkluc3BlY3RvclByb3h5RWZsLmNwcAppbmRl
eCA1MzgzNTY2MTA0NTkyNWFkNDU0MTA5OWRkYjRlNWE5M2E3OWVlZjcyLi43ZjY5YzJlZmI0MjZh
ODQ0ODgyMDQ2YjAwZTdmYTQ1Yjg0MWM0ZTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvZWZsL1dlYkluc3BlY3RvclByb3h5RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvZWZsL1dlYkluc3BlY3RvclByb3h5RWZsLmNwcApAQCAtMjksNiArMjksNyBA
QAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAKICNpbmNsdWRlICJXZWJQcm9jZXNzUHJveHkuaCIK
KyNpbmNsdWRlICJld2tfc2V0dGluZ3MuaCIKICNpbmNsdWRlICJld2tfdmlldy5oIgogI2luY2x1
ZGUgImV3a192aWV3X3ByaXZhdGUuaCIKICNpbmNsdWRlIDxXZWJDb3JlL05vdEltcGxlbWVudGVk
Lmg+CkBAIC0zOCwyMiArMzksNzMgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKK3N0YXRpYyB2
b2lkIHJlc2l6ZUluc3BlY3RvcldpbmRvdyhFY29yZV9FdmFzKiBpbnNwZWN0b3JXaW5kb3cpCit7
CisgICAgRXZhc19PYmplY3QqIGluc3BlY3RvclZpZXcgPSBldmFzX29iamVjdF9uYW1lX2ZpbmQo
ZWNvcmVfZXZhc19nZXQoaW5zcGVjdG9yV2luZG93KSwgImluc3BlY3RvciIpOworICAgIGlmICgh
aW5zcGVjdG9yVmlldykKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50IHdpZHRoLCBoZWlnaHQ7
CisgICAgZWNvcmVfZXZhc19nZW9tZXRyeV9nZXQoaW5zcGVjdG9yV2luZG93LCAwLCAwLCAmd2lk
dGgsICZoZWlnaHQpOworCisgICAgZXZhc19vYmplY3RfbW92ZShpbnNwZWN0b3JWaWV3LCAwLCAw
KTsKKyAgICBldmFzX29iamVjdF9yZXNpemUoaW5zcGVjdG9yVmlldywgd2lkdGgsIGhlaWdodCk7
Cit9CisKK3N0YXRpYyB2b2lkIGRlc3Ryb3lJbnNwZWN0b3JXaW5kb3coRWNvcmVfRXZhcyogaW5z
cGVjdG9yV2luZG93KQoreworICAgIEV2YXNfT2JqZWN0KiBpbnNwZWN0b3JWaWV3ID0gZXZhc19v
YmplY3RfbmFtZV9maW5kKGVjb3JlX2V2YXNfZ2V0KGluc3BlY3RvcldpbmRvdyksICJpbnNwZWN0
b3IiKTsKKyAgICBpZiAoaW5zcGVjdG9yVmlldykKKyAgICAgICAgZXZhc19vYmplY3Rfc21hcnRf
Y2FsbGJhY2tfY2FsbChpbnNwZWN0b3JWaWV3LCAiaW5zcGVjdG9yLHZpZXcsY2xvc2UiLCAwKTsK
K30KKworc3RhdGljIHZvaWQgY2xvc2VJbnNwZWN0b3JXaW5kb3codm9pZCogdXNlckRhdGEsIEV2
YXNfT2JqZWN0Kiwgdm9pZCopCit7CisgICAgV2ViSW5zcGVjdG9yUHJveHkqIGluc3BlY3RvclBy
b3h5ID0gc3RhdGljX2Nhc3Q8V2ViSW5zcGVjdG9yUHJveHkqPih1c2VyRGF0YSk7CisKKyAgICBp
bnNwZWN0b3JQcm94eS0+Y2xvc2UoKTsKK30KKwordm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6Y3Jl
YXRlSW5zcGVjdG9yV2luZG93KCkKK3sKKyAgICBlY29yZV9ldmFzX3RpdGxlX3NldChtX2luc3Bl
Y3RvcldpbmRvdywgIldlYiBJbnNwZWN0b3IiKTsKKyAgICBlY29yZV9ldmFzX2NhbGxiYWNrX3Jl
c2l6ZV9zZXQobV9pbnNwZWN0b3JXaW5kb3csIHJlc2l6ZUluc3BlY3RvcldpbmRvdyk7CisgICAg
ZWNvcmVfZXZhc19jYWxsYmFja19kZWxldGVfcmVxdWVzdF9zZXQobV9pbnNwZWN0b3JXaW5kb3cs
IGRlc3Ryb3lJbnNwZWN0b3JXaW5kb3cpOworICAgIGVjb3JlX2V2YXNfc2hvdyhtX2luc3BlY3Rv
cldpbmRvdyk7CisKKyAgICBldmFzX29iamVjdF9uYW1lX3NldChtX2luc3BlY3RvclZpZXcsICJp
bnNwZWN0b3IiKTsKKyAgICBldmFzX29iamVjdF9tb3ZlKG1faW5zcGVjdG9yVmlldywgMCwgMCk7
CisgICAgZXZhc19vYmplY3RfcmVzaXplKG1faW5zcGVjdG9yVmlldywgaW5pdGlhbFdpbmRvd1dp
ZHRoLCBpbml0aWFsV2luZG93SGVpZ2h0KTsKKyAgICBldmFzX29iamVjdF9zaG93KG1faW5zcGVj
dG9yVmlldyk7CisKKyAgICBldmFzX29iamVjdF9mb2N1c19zZXQobV9pbnNwZWN0b3JWaWV3LCB0
cnVlKTsKK30KKwogV2ViUGFnZVByb3h5KiBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1DcmVh
dGVJbnNwZWN0b3JQYWdlKCkKIHsKICAgICBBU1NFUlQobV9wYWdlKTsKIAotICAgIG1faW5zcGVj
dG9yV2luZG93ID0gZWNvcmVfZXZhc19idWZmZXJfbmV3KGluaXRpYWxXaW5kb3dXaWR0aCwgaW5p
dGlhbFdpbmRvd0hlaWdodCk7CisgICAgbV9pbnNwZWN0b3JXaW5kb3cgPSBlY29yZV9ldmFzX25l
dygwLCAwLCAwLCBpbml0aWFsV2luZG93V2lkdGgsIGluaXRpYWxXaW5kb3dIZWlnaHQsIDApOwog
ICAgIGlmICghbV9pbnNwZWN0b3JXaW5kb3cpCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgbV9p
bnNwZWN0b3JWaWV3ID0gZXdrX3ZpZXdfYmFzZV9hZGQoZWNvcmVfZXZhc19nZXQobV9pbnNwZWN0
b3JXaW5kb3cpLCB0b0FQSShwYWdlKCktPnByb2Nlc3MoKS0+Y29udGV4dCgpKSwgdG9BUEkoaW5z
cGVjdG9yUGFnZUdyb3VwKCkpKTsKICAgICBld2tfdmlld190aGVtZV9zZXQobV9pbnNwZWN0b3JW
aWV3LCBURVNUX1RIRU1FX0RJUiIvZGVmYXVsdC5lZGoiKTsKKworICAgIEV3a19TZXR0aW5ncyog
c2V0dGluZ3MgPSBld2tfdmlld19zZXR0aW5nc19nZXQobV9pbnNwZWN0b3JWaWV3KTsKKyAgICBl
d2tfc2V0dGluZ3NfZmlsZV9hY2Nlc3NfZnJvbV9maWxlX3VybHNfYWxsb3dlZF9zZXQoc2V0dGlu
Z3MsIHRydWUpOworCiAgICAgcmV0dXJuIGV3a192aWV3X3BhZ2VfZ2V0KG1faW5zcGVjdG9yVmll
dyk7CiB9CiAKIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtT3BlbigpCiB7Ci0gICAg
bm90SW1wbGVtZW50ZWQoKTsKKyAgICBpZiAobV9pc0F0dGFjaGVkKQorICAgICAgICBwbGF0Zm9y
bUF0dGFjaCgpOworICAgIGVsc2UKKyAgICAgICAgY3JlYXRlSW5zcGVjdG9yV2luZG93KCk7CisK
KyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQobV9pbnNwZWN0b3JWaWV3LCAiaW5z
cGVjdG9yLHZpZXcsY2xvc2UiLCBjbG9zZUluc3BlY3RvcldpbmRvdywgdGhpcyk7CiB9CiAKIHZv
aWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtRGlkQ2xvc2UoKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDFmZWM1ODBiZjdkZjNmYTNhNjlm
OTY2NTg4MTQ5ZTQ3YjkwNjUyNTAuLjBjZWVkYmZkMzY1YTBmOTk4ZGJmYTZjNTQ3OTg4ZWFjMWFl
MDcxMjkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMC0xMSAgU2Vva2p1IEt3b24gIDxzZW9ranUua3dvbkBz
YW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIEFkZCBzdXBwb3J0IGZvciBJbnNwZWN0
b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4NjM5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW5hYmxl
IGRldmVsb3BlciBleHRlbnNpb25zIHdoZW4gYnJvd3NlciBpcyBjcmVhdGVkLgorICAgICAgICBB
bmQgSW5zcGVjdG9yIGNhbiBiZSBvcGVuZWQgYnkgcHJlc3NpbmcgQ3RybCtpIG9uIGJyb3dzZXIu
CisKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9lZmwvbWFpbi5jOgorICAgICAgICAob25fa2V5X2Rv
d24pOgorICAgICAgICAod2luZG93X2NyZWF0ZSk6CisKIDIwMTItMTAtMTEgIERpcmsgUHJhbmtl
ICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgdGVzdC13ZWJraXRweSBydW5zIGlu
ZGl2aWR1YWwgdGVzdHMgdHdpY2UKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9t
YWluLmMgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvbWFpbi5jCmluZGV4IDJiMjUzODEwMGEwZmQ1
MWZjYmM3NDkxMTdmNmZjNzE3NzQ4MWUyMDkuLmVlMDNiODg1NzkwNWUxOGVhODg3MzY5Mjk1ZjU3
MGNkYTFlNzdmYjYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9tYWluLmMKKysr
IGIvVG9vbHMvTWluaUJyb3dzZXIvZWZsL21haW4uYwpAQCAtMTY3LDYgKzE2Nyw5IEBAIG9uX2tl
eV9kb3duKHZvaWQgKmRhdGEsIEV2YXMgKmUsIEV2YXNfT2JqZWN0ICpvYmosIHZvaWQgKmV2ZW50
X2luZm8pCiAgICAgICAgIGluZm8oIkNyZWF0ZSBuZXcgd2luZG93IChDdHJsK24pIHdhcyBwcmVz
c2VkLlxuIik7CiAgICAgICAgIEJyb3dzZXJfV2luZG93ICp3aW5kb3cgPSB3aW5kb3dfY3JlYXRl
KERFRkFVTFRfVVJMKTsKICAgICAgICAgd2luZG93cyA9IGVpbmFfbGlzdF9hcHBlbmQod2luZG93
cywgd2luZG93KTsKKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAoZXYtPmtleSwgImkiKSAmJiBjdHJs
UHJlc3NlZCkgeworICAgICAgICBpbmZvKCJTaG93IEluc3BlY3RvciAoQ3RybCtpKSB3YXMgcHJl
c3NlZC5cbiIpOworICAgICAgICBld2tfdmlld19pbnNwZWN0b3Jfc2hvdyhvYmopOwogICAgIH0K
IH0KIApAQCAtNjQ3LDYgKzY1MCw3IEBAIHN0YXRpYyBCcm93c2VyX1dpbmRvdyAqd2luZG93X2Ny
ZWF0ZShjb25zdCBjaGFyICp1cmwpCiAgICAgRXdrX1NldHRpbmdzICpzZXR0aW5ncyA9IGV3a192
aWV3X3NldHRpbmdzX2dldChhcHBfZGF0YS0+d2Vidmlldyk7CiAgICAgZXdrX3NldHRpbmdzX2Zp
bGVfYWNjZXNzX2Zyb21fZmlsZV91cmxzX2FsbG93ZWRfc2V0KHNldHRpbmdzLCBFSU5BX1RSVUUp
OwogICAgIGV3a19zZXR0aW5nc19mcmFtZV9mbGF0dGVuaW5nX2VuYWJsZWRfc2V0KHNldHRpbmdz
LCBmcmFtZV9mbGF0dGVuaW5nX2VuYWJsZWQpOworICAgIGV3a19zZXR0aW5nc19kZXZlbG9wZXJf
ZXh0cmFzX2VuYWJsZWRfc2V0KHNldHRpbmdzLCBFSU5BX1RSVUUpOwogCiAgICAgZXZhc19vYmpl
Y3Rfc21hcnRfY2FsbGJhY2tfYWRkKGFwcF9kYXRhLT53ZWJ2aWV3LCAiY2xvc2Usd2luZG93Iiwg
b25fY2xvc2Vfd2luZG93LCBhcHBfZGF0YSk7CiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJh
Y2tfYWRkKGFwcF9kYXRhLT53ZWJ2aWV3LCAiY3JlYXRlLHdpbmRvdyIsIG9uX25ld193aW5kb3cs
IGFwcF9kYXRhKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>