<?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>90107</bug_id>
          
          <creation_ts>2012-06-27 16:06:42 -0700</creation_ts>
          <short_desc>[EFL][WK2] Add APIs to support theme.</short_desc>
          <delta_ts>2012-07-16 20:10:14 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>61838</blocked>
    
    <blocked>89140</blocked>
    
    <blocked>90788</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryuan Choi">ryuan.choi</reporter>
          <assigned_to name="Ryuan Choi">ryuan.choi</assigned_to>
          <cc>abarth</cc>
    
    <cc>d-r</cc>
    
    <cc>eric</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>gyuyoung.kim</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>658941</commentid>
    <comment_count>0</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-06-27 16:06:42 -0700</bug_when>
    <thetext>WebKit/Efl can set or change native theme using edj.
To support theme in WebKit2/Efl, ewk_view_theme_{get|set} should be added.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>663400</commentid>
    <comment_count>1</comment_count>
      <attachid>150895</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-07-05 01:59:01 -0700</bug_when>
    <thetext>Created attachment 150895
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>663452</commentid>
    <comment_count>2</comment_count>
      <attachid>150895</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-07-05 03:21:44 -0700</bug_when>
    <thetext>Comment on attachment 150895
Patch

Attachment 150895 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/13138909</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>663456</commentid>
    <comment_count>3</comment_count>
      <attachid>150895</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-07-05 03:26:50 -0700</bug_when>
    <thetext>Comment on attachment 150895
Patch

Attachment 150895 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/13137957</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>663566</commentid>
    <comment_count>4</comment_count>
      <attachid>150941</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-07-05 08:09:12 -0700</bug_when>
    <thetext>Created attachment 150941
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>663933</commentid>
    <comment_count>5</comment_count>
      <attachid>151033</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-07-06 01:16:40 -0700</bug_when>
    <thetext>Created attachment 151033
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>663939</commentid>
    <comment_count>6</comment_count>
      <attachid>151033</attachid>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2012-07-06 01:23:20 -0700</bug_when>
    <thetext>Comment on attachment 151033
Patch

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

&gt; Tools/WebKitTestRunner/efl/PlatformWebViewEfl.cpp:51
&gt; +    ewk_view_theme_set(m_view, DATA_DIR&quot;/default.edj&quot;);

Shouldn&apos;t this be done in ewk_view_base_add in ewk_view.cpp? - A view is not fully functional without a default theme - that&apos;s why I don&apos;t think it should be required to do this explicitly after WkViewCreate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>663941</commentid>
    <comment_count>7</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-07-06 01:32:43 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 151033 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=151033&amp;action=review
&gt; 
&gt; &gt; Tools/WebKitTestRunner/efl/PlatformWebViewEfl.cpp:51
&gt; &gt; +    ewk_view_theme_set(m_view, DATA_DIR&quot;/default.edj&quot;);
&gt; 
&gt; Shouldn&apos;t this be done in ewk_view_base_add in ewk_view.cpp? - A view is not fully functional without a default theme - that&apos;s why I don&apos;t think it should be required to do this explicitly after WkViewCreate.

Make sense, we can make default.edc as a default.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>663957</commentid>
    <comment_count>8</comment_count>
      <attachid>151039</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-07-06 01:58:17 -0700</bug_when>
    <thetext>Created attachment 151039
Take Dominik&apos;s suggestion</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>664086</commentid>
    <comment_count>9</comment_count>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2012-07-06 06:58:53 -0700</bug_when>
    <thetext>LGTM &amp; works as advertised.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>664089</commentid>
    <comment_count>10</comment_count>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2012-07-06 07:02:21 -0700</bug_when>
    <thetext>Could one of you kindly r(s)+ this one? Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>664321</commentid>
    <comment_count>11</comment_count>
      <attachid>151039</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-07-06 17:58:48 -0700</bug_when>
    <thetext>Comment on attachment 151039
Take Dominik&apos;s suggestion

While thinking little bit more, I realize that it looks wrong.

For MiniBrowser, WebKitTestRunner, it will be fine.
However applications using installed webkit2 is not useful.

If we don&apos;t provide a way to find installed theme path, previous one looks more reasonable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>664860</commentid>
    <comment_count>12</comment_count>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2012-07-09 07:36:31 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 151039 [details])
&gt; While thinking little bit more, I realize that it looks wrong.
&gt; 
&gt; For MiniBrowser, WebKitTestRunner, it will be fine.
&gt; However applications using installed webkit2 is not useful.
&gt; 
&gt; If we don&apos;t provide a way to find installed theme path, previous one looks more reasonable.

Can you explain what you think is wrong? I think the patch is alright since we just set a reasonable default for the default theme (which works for MiniBrowser and WTR) - still, an embedding application can override the theme setting using the ewk_view_theme_set again if the embedder finds a different theme path more suitable. I&apos;d say, let&apos;s land this - since it&apos;s an important part to improve WTR pass rate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>665242</commentid>
    <comment_count>13</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-07-09 15:38:54 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #11)
&gt; &gt; (From update of attachment 151039 [details] [details])
&gt; &gt; While thinking little bit more, I realize that it looks wrong.
&gt; &gt; 
&gt; &gt; For MiniBrowser, WebKitTestRunner, it will be fine.
&gt; &gt; However applications using installed webkit2 is not useful.
&gt; &gt; 
&gt; &gt; If we don&apos;t provide a way to find installed theme path, previous one looks more reasonable.
&gt; 
&gt; Can you explain what you think is wrong? I think the patch is alright since we just set a reasonable default for the default theme (which works for MiniBrowser and WTR) - still, an embedding application can override the theme setting using the ewk_view_theme_set again if the embedder finds a different theme path more suitable. I&apos;d say, let&apos;s land this - since it&apos;s an important part to improve WTR pass rate.

I agree with you about default theme concept, but my patch is wrong.
This patch set the compiled path as default theme path.

For example, applications can get package publisher&apos;s directory such as {webkit path}/WebKitBuild/Release/WebKit/efl/DefaultTheme/default.edj when application calls ewk_view_theme_get without overriding default theme.
Of course, this default theme will not work for applications.

So, the theme path should not be a compiled path.
It should be a path which will be installed.

And it means that test programs such as MiniBrowser and WebKitTestRunner should override theme path to compiled path because they can run without installation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>665251</commentid>
    <comment_count>14</comment_count>
      <attachid>151335</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-07-09 15:50:23 -0700</bug_when>
    <thetext>Created attachment 151335
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670339</commentid>
    <comment_count>15</comment_count>
      <attachid>151335</attachid>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2012-07-16 07:56:40 -0700</bug_when>
    <thetext>Comment on attachment 151335
Patch

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

Looks good to me overall with the variable naming nit + I&apos;d like to clarify whether the default would work on a regular EFL installation.

&gt; Source/WebKit2/PlatformEfl.cmake:150
&gt; +ADD_DEFINITIONS(-DDEFAULT_THEME_PATH=\&quot;${CMAKE_INSTALL_PREFIX}/${DATA_INSTALL_DIR}/themes\&quot;)

Looks like a good default. So this would map to /usr/share/themes on a regular system? Is this where desktop EFL would store themes? Can &quot;default.edj&quot; be found there on a regular installation?

&gt; Tools/MiniBrowser/efl/CMakeLists.txt:58
&gt; +ADD_DEFINITIONS(-DDATA_DIR=\&quot;${THEME_BINARY_DIR}\&quot;)

I see that DATA_DIR is used in the other cases, but I don&apos;t think it&apos;s a good name, can we change it here, and for EWebLauncher and DRT (DumpRenderTree/efl/CMakeLists.txt &amp; EWebLauncher/CMakeLists.txt) to THEME_DIR?

&gt; Tools/MiniBrowser/efl/main.c:166
&gt; +    ewk_view_theme_set(app-&gt;browser, DATA_DIR&quot;/default.edj&quot;);

Ditto -&gt; THEME_DIR?

&gt; Tools/WebKitTestRunner/efl/PlatformWebViewEfl.cpp:51
&gt; +    ewk_view_theme_set(m_view, DATA_DIR&quot;/default.edj&quot;);

Ditto, THEME_DIR.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670693</commentid>
    <comment_count>16</comment_count>
      <attachid>152619</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-07-16 14:55:22 -0700</bug_when>
    <thetext>Created attachment 152619
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670697</commentid>
    <comment_count>17</comment_count>
      <attachid>152619</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-07-16 15:03:56 -0700</bug_when>
    <thetext>Comment on attachment 152619
Patch

Attachment 152619 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/13261108</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670707</commentid>
    <comment_count>18</comment_count>
      <attachid>152622</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-07-16 15:14:34 -0700</bug_when>
    <thetext>Created attachment 152622
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670709</commentid>
    <comment_count>19</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-07-16 15:17:20 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; (From update of attachment 151335 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=151335&amp;action=review
&gt; 
&gt; Looks good to me overall with the variable naming nit + I&apos;d like to clarify whether the default would work on a regular EFL installation.
&gt; 
&gt; &gt; Source/WebKit2/PlatformEfl.cmake:150
&gt; &gt; +ADD_DEFINITIONS(-DDEFAULT_THEME_PATH=\&quot;${CMAKE_INSTALL_PREFIX}/${DATA_INSTALL_DIR}/themes\&quot;)
&gt; 
&gt; Looks like a good default. So this would map to /usr/share/themes on a regular system? Is this where desktop EFL would store themes? Can &quot;default.edj&quot; be found there on a regular installation?

Thank you for your comment.

CMAKE_INSTALL_PREFIX can be changed by user, but it may be /usr/local in linux system as a default.
And DATA_INSTALL_DIR is defined share/${WebKit_LIBRARY_NAME}-${PROJECT_VERSION_MAJOR} in cmake/OptionsEfl.cmake.
So, DEFAULT_THEME_PATH will be /usr/local/share/ewebkit-0 if we didn&apos;t change.

&gt; 
&gt; &gt; Tools/MiniBrowser/efl/CMakeLists.txt:58
&gt; &gt; +ADD_DEFINITIONS(-DDATA_DIR=\&quot;${THEME_BINARY_DIR}\&quot;)
&gt; 
&gt; I see that DATA_DIR is used in the other cases, but I don&apos;t think it&apos;s a good name, can we change it here, and for EWebLauncher and DRT (DumpRenderTree/efl/CMakeLists.txt &amp; EWebLauncher/CMakeLists.txt) to THEME_DIR?
&gt; 
I fixed like you mentioned.
But, I think that DRT and EWebLuancher are not related to this bug.
I will create new bug for it.

&gt; &gt; Tools/MiniBrowser/efl/main.c:166
&gt; &gt; +    ewk_view_theme_set(app-&gt;browser, DATA_DIR&quot;/default.edj&quot;);
&gt; 
&gt; Ditto -&gt; THEME_DIR?
Done.

&gt; 
&gt; &gt; Tools/WebKitTestRunner/efl/PlatformWebViewEfl.cpp:51
&gt; &gt; +    ewk_view_theme_set(m_view, DATA_DIR&quot;/default.edj&quot;);
&gt; 
&gt; Ditto, THEME_DIR.
Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670741</commentid>
    <comment_count>20</comment_count>
      <attachid>152629</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-07-16 15:52:52 -0700</bug_when>
    <thetext>Created attachment 152629
fix mistake</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670835</commentid>
    <comment_count>21</comment_count>
      <attachid>152629</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-07-16 17:46:17 -0700</bug_when>
    <thetext>Comment on attachment 152629
fix mistake

LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670896</commentid>
    <comment_count>22</comment_count>
      <attachid>152629</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-07-16 19:02:25 -0700</bug_when>
    <thetext>Comment on attachment 152629
fix mistake

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670926</commentid>
    <comment_count>23</comment_count>
      <attachid>152629</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-16 20:10:03 -0700</bug_when>
    <thetext>Comment on attachment 152629
fix mistake

Clearing flags on attachment: 152629

Committed r122799: &lt;http://trac.webkit.org/changeset/122799&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670927</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-16 20:10:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150895</attachid>
            <date>2012-07-05 01:59:01 -0700</date>
            <delta_ts>2012-07-05 08:09:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90107-20120705175859.patch</filename>
            <type>text/plain</type>
            <size>12399</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxODkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMjFjMWI0OTVhYzlkMWVl
ZDI4MDE0M2M0MjM2NWMyMGZjOTE2NjlkZC4uNTRjMWJkMmI3YmY1NmU5ZmI5ZWNmYzM4MjA2M2U5
M2UwYjE1MDAyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMyIEBACiAyMDEyLTA3LTA1ICBSeXVh
biBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KIAorICAgICAgICBbRUZMXVtXSzJdIEFk
ZCBBUElzIHRvIHN1cHBvcnQgdGhlbWUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05MDEwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCBFRkwgQVBJIHRvIHN1cHBvcnQgbmF0aXZlIHRoZW1lIHVzaW5n
IGVkai4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGQgaHRtbC9zaGFkb3cgdG8gV2Vi
S2l0X0lOQ0xVREVfRElSRUNUT1JJRVMuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X3ZpZXcuY3BwOgorICAgICAgICAoX0V3a19WaWV3X1ByaXZhdGVfRGF0YSk6CisgICAgICAgIChl
d2tfdmlld190aGVtZV9zZXQpOgorICAgICAgICAoZXdrX3ZpZXdfdGhlbWVfZ2V0KToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKFdlYlBhZ2VQcm94eSk6CisgICAgICAgICogVUlQcm9j
ZXNzL2VmbC9XZWJQYWdlUHJveHlFZmwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJv
eHk6OnNldFRoZW1lUGF0aCk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgIChXZWJQYWdlKToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvZWZsL1dlYlBhZ2VFZmwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpz
ZXRUaGVtZVBhdGgpOgorICAgICAgICAoV2ViS2l0KToKKworMjAxMi0wNy0wNSAgUnl1YW4gQ2hv
aSAgPHJ5dWFuLmNob2lAc2Ftc3VuZy5jb20+CisKICAgICAgICAgW1drMl1bRUZMXSBFRkwgbmVl
ZHMgYSBXZWJLaXRUZXN0UnVubmVyCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04NzY1OQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxp
c3RzLnR4dCBiL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0CmluZGV4IDAwZTllNTRmNzc0
ZjkyM2Y0NDBjYjkzYmYxOGI2NGVhZDRjYmZhZTUuLjkxZjM2ZDIyYjEwOTJmYWNkMTgzM2VkY2Mx
NDBjNTYzMGVlNjg2NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0
CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0CkBAIC01Myw2ICs1Myw3IEBAIFNF
VChXZWJLaXQyX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtXRUJDT1JFX0RJUn0vZWRpdGlu
ZyIKICAgICAiJHtXRUJDT1JFX0RJUn0vaGlzdG9yeSIKICAgICAiJHtXRUJDT1JFX0RJUn0vaHRt
bCIKKyAgICAiJHtXRUJDT1JFX0RJUn0vaHRtbC9zaGFkb3ciCiAgICAgIiR7V0VCQ09SRV9ESVJ9
L2h0bWwvdHJhY2siCiAgICAgIiR7V0VCQ09SRV9ESVJ9L2luc3BlY3RvciIKICAgICAiJHtXRUJD
T1JFX0RJUn0vbG9hZGVyIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX3ZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X3ZpZXcuY3BwCmluZGV4IDNkODk0YmFiZTQ4MmY2ZjdkMWFjM2UzYzg3YTUxYjUxM2U1OGI3ZGUu
LmYxZDYzMDhmNGMxMDliMDEzM2UxMjMwMmQ5ZTdlNzNiYzNiN2MzNTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAKQEAgLTQ1LDYgKzQ1LDcgQEAg
c3RydWN0IF9Fd2tfVmlld19Qcml2YXRlX0RhdGEgewogICAgIE93blB0cjxQYWdlQ2xpZW50SW1w
bD4gcGFnZUNsaWVudDsKICAgICBjb25zdCBjaGFyKiB1cmk7CiAgICAgY29uc3QgY2hhciogdGl0
bGU7CisgICAgY29uc3QgY2hhciogdGhlbWU7CiB9OwogCiAjZGVmaW5lIEVXS19WSUVXX1RZUEVf
Q0hFQ0soZXdrVmlldywgcmVzdWx0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XApAQCAtNjI3LDYgKzYyOCwyNCBAQCB2b2lkIGV3a192aWV3X2ludGVudF9yZXF1ZXN0X25ldyhF
dmFzX09iamVjdCogZXdrVmlldywgY29uc3QgRXdrX0ludGVudCogZXdrSW50ZQogI2VuZGlmCiB9
CiAKK3ZvaWQgZXdrX3ZpZXdfdGhlbWVfc2V0KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBjb25zdCBj
aGFyKiBwYXRoKQoreworICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21h
cnREYXRhKTsKKyAgICBFV0tfVklFV19QUklWX0dFVF9PUl9SRVRVUk4oc21hcnREYXRhLCBwcml2
KTsKKworICAgIGlmICghZWluYV9zdHJpbmdzaGFyZV9yZXBsYWNlKCZwcml2LT50aGVtZSwgcGF0
aCkpCisgICAgICAgIHJldHVybjsKKworICAgIHByaXYtPnBhZ2VDbGllbnQtPnBhZ2UoKS0+c2V0
VGhlbWVQYXRoKHBhdGgpOworfQorCitjb25zdCBjaGFyKiBld2tfdmlld190aGVtZV9nZXQoY29u
c3QgRXZhc19PYmplY3QqIGV3a1ZpZXcpCit7CisgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVS
Tihld2tWaWV3LCBzbWFydERhdGEsIDApOworICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVS
TihzbWFydERhdGEsIHByaXYsIDApOworICAgIHJldHVybiBwcml2LT50aGVtZTsKK30KKwogdm9p
ZCBld2tfdmlld19kaXNwbGF5KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBjb25zdCBJbnRSZWN0JiBy
ZWN0KQogewogICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21hcnREYXRh
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3
LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5oCmluZGV4IDVm
MDllZWM0MmZkN2M0MTdkYjMyZGRhZTZhNmI0NDNlOTk2NzVjM2EuLjY1MWYyZjUxYjE3MDJlZmZh
ZTZhYmMyZjhjNTJkN2JhZWM1NWIxNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL2V3a192aWV3LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX3ZpZXcuaApAQCAtMzExLDYgKzMxMSwyOSBAQCBFQVBJIGRvdWJsZSBld2tfdmll
d19sb2FkX3Byb2dyZXNzX2dldChjb25zdCBFdmFzX09iamVjdCAqbyk7CiAgKi8KIEVBUEkgRWlu
YV9Cb29sIGV3a192aWV3X2h0bWxfc3RyaW5nX2xvYWQoRXZhc19PYmplY3QgKm8sIGNvbnN0IGNo
YXIgKmh0bWwsIGNvbnN0IGNoYXIgKmJhc2VVcmwsIGNvbnN0IGNoYXIgKnVucmVhY2hhYmxlVXJs
KTsKIAorLyoqCisgKiBTZXRzIHRoZSB0aGVtZSBwYXRoIHRoYXQgd2lsbCBiZSB1c2VkIGJ5IHRo
aXMgdmlldy4KKyAqCisgKiBUaGlzIGFsc28gc2V0cyB0aGUgdGhlbWUgb24gdGhlIG1haW4gZnJh
bWUuIEFzIGZyYW1lcyBpbmhlcml0IHRoZW1lCisgKiBmcm9tIHRoZWlyIHBhcmVudCwgdGhpcyB3
aWxsIGhhdmUgYWxsIGZyYW1lcyB3aXRoIHVuc2V0IHRoZW1lIHRvCisgKiB1c2UgdGhpcyBvbmUu
CisgKgorICogQHBhcmFtIG8gdmlldyBvYmplY3QgdG8gY2hhbmdlIHRoZW1lCisgKiBAcGFyYW0g
cGF0aCB0aGVtZSBwYXRoLCBtYXkgYmUgQGMgMCB0byByZXNldCB0byB0aGUgZGVmYXVsdCB0aGVt
ZQorICovCit2b2lkIGV3a192aWV3X3RoZW1lX3NldChFdmFzX09iamVjdCAqbywgY29uc3QgY2hh
ciAqcGF0aCk7CisKKy8qKgorICogR2V0cyB0aGUgdGhlbWUgc2V0IG9uIHRoaXMgdmlldy4KKyAq
CisgKiBUaGlzIHJldHVybnMgdGhlIHZhbHVlIHNldCBieSBld2tfdmlld190aGVtZV9zZXQoKS4K
KyAqCisgKiBAcGFyYW0gbyB2aWV3IG9iamVjdCB0byBnZXQgdGhlbWUgcGF0aAorICoKKyAqIEBy
ZXR1cm4gdGhlIHRoZW1lIHBhdGgsIG1heSBiZSBAYyAwIGlmIG5vdCBzZXQKKyAqLworY29uc3Qg
Y2hhciAqZXdrX3ZpZXdfdGhlbWVfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKKwogI2lmZGVm
IF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaAppbmRleCA1N2FiODZjMjQyOTNiMWFkMjIyMjQxMmViNThlOWE5ZjU2YzhjNTQ4Li42Yzc4
NWVhNWE3NGE4ODUzNmU1N2QzNGFiOTg0MGU2OTE3N2Q2OWMyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0zNjIsNiArMzYyLDkgQEAgcHVibGljOgogICAgIHZv
aWQgcHJveHlBdXRoZW50aWNhdGlvblJlcXVpcmVkUmVxdWVzdChjb25zdCBTdHJpbmcmIGhvc3Ru
YW1lLCB1aW50MTZfdCBwb3J0LCBjb25zdCBTdHJpbmcmIHByZWZpbGxlZFVzZXJuYW1lLCBTdHJp
bmcmIHVzZXJuYW1lLCBTdHJpbmcmIHBhc3N3b3JkKTsKICAgICB2b2lkIHNldFVzZXJTY3JpcHRz
KGNvbnN0IFZlY3RvcjxTdHJpbmc+Jik7CiAjZW5kaWYgLy8gUExBVEZPUk0oUVQpLgorI2lmIFBM
QVRGT1JNKEVGTCkKKyAgICB2b2lkIHNldFRoZW1lUGF0aChjb25zdCBTdHJpbmcmKTsKKyNlbmRp
ZgogCiAjaWYgUExBVEZPUk0oUVQpCiAgICAgdm9pZCBzZXRDb21wb3NpdGlvbihjb25zdCBTdHJp
bmcmIHRleHQsIFZlY3RvcjxXZWJDb3JlOjpDb21wb3NpdGlvblVuZGVybGluZT4gdW5kZXJsaW5l
cywgdWludDY0X3Qgc2VsZWN0aW9uU3RhcnQsIHVpbnQ2NF90IHNlbGVjdGlvbkVuZCwgdWludDY0
X3QgcmVwbGFjZW1lbnRSYW5nZVN0YXJ0LCB1aW50NjRfdCByZXBsYWNlbWVudFJhbmdlRW5kKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViUGFnZVByb3h5RWZs
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViUGFnZVByb3h5RWZsLmNwcApp
bmRleCBiMDc2YjRlZjY5MzM1OTg0NDVhY2YyN2Q1NzYwMWMxOGFkMTQ3MTE5Li5lMWVkYTEwMzUz
YThjZTVjYzkyN2ZiZjU3Y2U0ZDUwYjYxNWVlZjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvZWZsL1dlYlBhZ2VQcm94eUVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2VmbC9XZWJQYWdlUHJveHlFZmwuY3BwCkBAIC0yOCw2ICsyOCw4IEBACiAKICNp
bmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlBhZ2VDbGllbnRJbXBsLmgiCisj
aW5jbHVkZSAiV2ViUGFnZU1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5Lmgi
CiAKICNpbmNsdWRlIDxzeXMvdXRzbmFtZS5oPgogCkBAIC03Niw0ICs3OCw5IEBAIHZvaWQgV2Vi
UGFnZVByb3h5Ojpsb2FkUmVjZW50U2VhcmNoZXMoY29uc3QgU3RyaW5nJiwgVmVjdG9yPFN0cmlu
Zz4mKQogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5OjpzZXRU
aGVtZVBhdGgoY29uc3QgU3RyaW5nJiB0aGVtZVBhdGgpCit7CisgICAgcHJvY2VzcygpLT5zZW5k
KE1lc3NhZ2VzOjpXZWJQYWdlOjpTZXRUaGVtZVBhdGgodGhlbWVQYXRoKSwgbV9wYWdlSUQsIDAp
OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IDFhMTNiNmNlNzQyNmVhZWI5ODhiZjQxNGJhZDFjNGYw
MTYwMjY1OWYuLjZjZjAzNzU1ZmU4MzAwNmE3Y2M0ODMwZWNiNmNlMWYzYjg1Mjg2NTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtNDAzLDYgKzQw
MywxMCBAQCBwdWJsaWM6CiAKICAgICBTYW5kYm94RXh0ZW5zaW9uVHJhY2tlciYgc2FuZGJveEV4
dGVuc2lvblRyYWNrZXIoKSB7IHJldHVybiBtX3NhbmRib3hFeHRlbnNpb25UcmFja2VyOyB9CiAK
KyNpZiBQTEFURk9STShFRkwpCisgICAgdm9pZCBzZXRUaGVtZVBhdGgoY29uc3QgU3RyaW5nJik7
CisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKFFUKQogICAgIHZvaWQgc2V0Q29tcG9zaXRpb24oY29u
c3QgU3RyaW5nJiB0ZXh0LCBWZWN0b3I8V2ViQ29yZTo6Q29tcG9zaXRpb25VbmRlcmxpbmU+IHVu
ZGVybGluZXMsIHVpbnQ2NF90IHNlbGVjdGlvblN0YXJ0LCB1aW50NjRfdCBzZWxlY3Rpb25FbmQs
IHVpbnQ2NF90IHJlcGxhY2VtZW50UmFuZ2VTdGFydCwgdWludDY0X3QgcmVwbGFjZW1lbnRSYW5n
ZUVuZCk7CiAgICAgdm9pZCBjb25maXJtQ29tcG9zaXRpb24oY29uc3QgU3RyaW5nJiB0ZXh0LCBp
bnQ2NF90IHNlbGVjdGlvblN0YXJ0LCBpbnQ2NF90IHNlbGVjdGlvbkxlbmd0aCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5p
biBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmlu
CmluZGV4IDM4ZjM2YzJiZjhkODM4YTcyZGFhMDMzNTMxMTJiNDA2NWQ2ZmMwYzIuLjIwNmM3ODYy
NjIxMDVlYmI1NjI5ODdmYjg0ZjhjNWM1ODhlNjE4ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC0yMzAsNiAr
MjMwLDEwIEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2UgewogICAgIERlbGl2ZXJJbnRlbnRUb0ZyYW1l
KHVpbnQ2NF90IGZyYW1lSUQsIFdlYktpdDo6SW50ZW50RGF0YSBpbnRlbnREYXRhKTsKICNlbmRp
ZgogCisjaWYgUExBVEZPUk0oRUZMKQorICAgIFNldFRoZW1lUGF0aChXVEY6OlN0cmluZyB0aGVt
ZVBhdGgpCisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKFFUKQogICAgIFNldENvbXBvc2l0aW9uKFdU
Rjo6U3RyaW5nIHRleHQsIFdURjo6VmVjdG9yPFdlYkNvcmU6OkNvbXBvc2l0aW9uVW5kZXJsaW5l
PiB1bmRlcmxpbmVzLCB1aW50NjRfdCBzZWxlY3Rpb25TdGFydCwgdWludDY0X3Qgc2VsZWN0aW9u
RW5kLCB1aW50NjRfdCByZXBsYWNlbWVudFJhbmdlU3RhcnQsIHVpbnQ2NF90IHJlcGxhY2VtZW50
UmFuZ2VFbmQpCiAgICAgQ29uZmlybUNvbXBvc2l0aW9uKFdURjo6U3RyaW5nIHRleHQsIGludDY0
X3Qgc2VsZWN0aW9uU3RhcnQsIGludDY0X3Qgc2VsZWN0aW9uTGVuZ3RoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2VmbC9XZWJQYWdlRWZsLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9lZmwvV2ViUGFnZUVmbC5jcHAKaW5kZXgg
ZGYwZjE3Zjg3YTliZTE3MDE4NzQ2MDdkNDk1ZWI4MzFlMmRhZTdkYS4uNmMxZWM4YmEyZjc3ZjE0
YTFlNmQ1NGQ4MjI0MDAzMmQ5OTRhOWMyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL2VmbC9XZWJQYWdlRWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvZWZsL1dlYlBhZ2VFZmwuY3BwCkBAIC0zNCw5ICszNCwxMSBAQAog
I2luY2x1ZGUgPFdlYkNvcmUvRWZsS2V5Ym9hcmRVdGlsaXRpZXMuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL0ZvY3VzQ29udHJvbGxlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRnJhbWUuaD4KKyNpbmNs
dWRlIDxXZWJDb3JlL0ZyYW1lVmlldy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvS2V5Ym9hcmRFdmVu
dC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGFnZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZv
cm1LZXlib2FyZEV2ZW50Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9SZW5kZXJUaGVtZS5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvU2V0dGluZ3MuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CkBA
IC0xMDQsNCArMTA2LDE3IEBAIGNvbnN0IGNoYXIqIFdlYlBhZ2U6OmludGVycHJldEtleUV2ZW50
KGNvbnN0IEtleWJvYXJkRXZlbnQqIGV2ZW50KQogICAgIHJldHVybiBnZXRLZXlQcmVzc0NvbW1h
bmROYW1lKGV2ZW50KTsKIH0KIAordm9pZCBXZWJQYWdlOjpzZXRUaGVtZVBhdGgoY29uc3QgU3Ry
aW5nJiB0aGVtZVBhdGgpCit7CisgICAgRnJhbWUqIG1haW5GcmFtZSA9IG1fcGFnZS0+bWFpbkZy
YW1lKCk7CisgICAgaWYgKCFtYWluRnJhbWUpCisgICAgICAgIHJldHVybjsKKworICAgIFdlYkNv
cmU6OkZyYW1lVmlldyogdmlldyA9IG1haW5GcmFtZS0+dmlldygpOworICAgIGlmICh2aWV3KSB7
CisgICAgICAgIHZpZXctPnNldEVkamVUaGVtZSh0aGVtZVBhdGgpOworICAgICAgICBtX3BhZ2Ut
PnRoZW1lKCktPnRoZW1lQ2hhbmdlZCgpOworICAgIH0KK30KKwogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXgg
OGNlNjJkZjJhYTIyZWY5ZGQ0MGE1MzhjNjA5ZDY4N2E0YmEzZmYyNy4uMzI1MTNjZDlhZmE2NWZh
NTE2YjE0NWViNDIxMTFjYjkyNTUyZTcxOCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisr
KyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIxIEBACiAyMDEyLTA3LTA1ICBSeXVhbiBD
aG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KIAorICAgICAgICBbRUZMXVtXSzJdIEFkZCBB
UElzIHRvIHN1cHBvcnQgdGhlbWUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05MDEwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFVwZGF0ZSBFRkwgTWluaUJyb3dzZXIgdG8gc3VwcG9ydCBkZWZhdWx0IHRo
ZW1lLgorCisgICAgICAgICogTWluaUJyb3dzZXIvZWZsL0NNYWtlTGlzdHMudHh0OgorICAgICAg
ICAqIE1pbmlCcm93c2VyL2VmbC9tYWluLmM6CisgICAgICAgIChfTWluaUJyb3dzZXIpOgorICAg
ICAgICAoZmluZFRoZW1lUGF0aCk6CisgICAgICAgIChicm93c2VyQ3JlYXRlKToKKyAgICAgICAg
KG1haW4pOgorCisyMDEyLTA3LTA1ICBSeXVhbiBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNv
bT4KKwogICAgICAgICBbV2syXVtFRkxdIEVGTCBuZWVkcyBhIFdlYktpdFRlc3RSdW5uZXIKICAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3NjU5CiAKZGlm
ZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzLnR4dCBiL1Rvb2xzL01p
bmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzLnR4dAppbmRleCBhNmZkMmQ1N2UwZmY2MTlkNGJkNDcx
NTE2ZTk4ZDVjZTdiNzQxM2Q2Li44MDliNzQ4YmY2NjQxNjE3ZmExMzM5ODE2ODhhMDIxNjNhYmI4
NjY4IDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0cy50eHQKKysr
IGIvVG9vbHMvTWluaUJyb3dzZXIvZWZsL0NNYWtlTGlzdHMudHh0CkBAIC01NSw2ICs1NSw4IEBA
IEFERF9DVVNUT01fVEFSR0VUKGZvcndhcmRpbmctaGVhZGVyTWluaUJyb3dzZXJTb3VwCiAgICAg
Q09NTUFORCAke1BFUkxfRVhFQ1VUQUJMRX0gJHtXRUJLSVQyX0RJUn0vU2NyaXB0cy9nZW5lcmF0
ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwgJHtNaW5pQnJvd3Nlcl9ESVJ9ICR7REVSSVZFRF9TT1VS
Q0VTX1dFQktJVDJfRElSfS9pbmNsdWRlIHNvdXAKICkKIAorQUREX0RFRklOSVRJT05TKC1EREFU
QV9ESVI9XCIke1RIRU1FX0JJTkFSWV9ESVJ9XCIpCisKIElOQ0xVREVfRElSRUNUT1JJRVMoJHtN
aW5pQnJvd3Nlcl9JTkNMVURFX0RJUkVDVE9SSUVTfSkKIAogQUREX0VYRUNVVEFCTEUoTWluaUJy
b3dzZXIgJHtNaW5pQnJvd3Nlcl9TT1VSQ0VTfSkKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93
c2VyL2VmbC9tYWluLmMgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvbWFpbi5jCmluZGV4IGYxNjE0
YWEzNTllNWMyYjc2NDUxYjBkYmQyOGEwMWVjNzBiMWUwZTguLmY0MzVkZWUwODUwODA1ZTA1NGEw
ODhmZTZkZDQzNmI5ZTg0ZjNiNjMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9t
YWluLmMKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvZWZsL21haW4uYwpAQCAtMjAsNiArMjAsNyBA
QAogI2luY2x1ZGUgIkVXZWJLaXQyLmgiCiAjaW5jbHVkZSA8RWNvcmUuaD4KICNpbmNsdWRlIDxF
Y29yZV9FdmFzLmg+CisjaW5jbHVkZSA8RWNvcmVfRmlsZS5oPgogI2luY2x1ZGUgPEVpbmEuaD4K
ICNpbmNsdWRlIDxFdmFzLmg+CiAKQEAgLTQxLDYgKzQyLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX01p
bmlCcm93c2VyIHsKICAgICBFdmFzICpldmFzOwogICAgIEV2YXNfT2JqZWN0ICpiZzsKICAgICBF
dmFzX09iamVjdCAqYnJvd3NlcjsKKyAgICBjb25zdCBjaGFyICp0aGVtZTsKIH0gTWluaUJyb3dz
ZXI7CiAKIHN0YXRpYyBFaW5hX0Jvb2wgbWFpbl9zaWduYWxfZXhpdCh2b2lkICpkYXRhLCBpbnQg
ZXZfdHlwZSwgdm9pZCAqZXYpCkBAIC0xMzksNyArMTQxLDI3IEBAIG9uX2Vycm9yKHZvaWQgKnVz
ZXJfZGF0YSwgRXZhc19PYmplY3QgKndlYnZpZXcsIHZvaWQgKmV2ZW50X2luZm8pCiAgICAgZWlu
YV9zdHJidWZfZnJlZShidWZmZXIpOwogfQogCi1zdGF0aWMgTWluaUJyb3dzZXIgKmJyb3dzZXJD
cmVhdGUoY29uc3QgY2hhciAqdXJsKQorc3RhdGljIGNoYXIgKgorZmluZFRoZW1lUGF0aChjb25z
dCBjaGFyICp0aGVtZSkKK3sKKyAgICBjb25zdCBjaGFyICpkZWZhdWx0VGhlbWUgPSBEQVRBX0RJ
UiIvZGVmYXVsdC5lZGoiOworICAgIGNoYXIgKnJwYXRoOworICAgIHN0cnVjdCBzdGF0IHN0Owor
CisgICAgaWYgKCF0aGVtZSkKKyAgICAgICAgdGhlbWUgPSBkZWZhdWx0VGhlbWU7CisKKyAgICBy
cGF0aCA9IGVjb3JlX2ZpbGVfcmVhbHBhdGgodGhlbWUpOworICAgIGlmICghc3RybGVuKHJwYXRo
KSB8fCBzdGF0KHJwYXRoLCAmc3QpKSB7CisgICAgICAgIGZyZWUocnBhdGgpOworICAgICAgICBy
ZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICByZXR1cm4gcnBhdGg7Cit9CisKK3N0YXRpYyBNaW5p
QnJvd3NlciAqCiticm93c2VyQ3JlYXRlKGNvbnN0IGNoYXIgKnVybCwgY29uc3QgY2hhciAqdGhl
bWUpCiB7CiAgICAgTWluaUJyb3dzZXIgKmFwcCA9IG1hbGxvYyhzaXplb2YoTWluaUJyb3dzZXIp
KTsKIApAQCAtMTYzLDYgKzE4NSw3IEBAIHN0YXRpYyBNaW5pQnJvd3NlciAqYnJvd3NlckNyZWF0
ZShjb25zdCBjaGFyICp1cmwpCiAKICAgICAvKiBDcmVhdGUgd2VidmlldyAqLwogICAgIGFwcC0+
YnJvd3NlciA9IGV3a192aWV3X2FkZChhcHAtPmV2YXMpOworICAgIGV3a192aWV3X3RoZW1lX3Nl
dChhcHAtPmJyb3dzZXIsIHRoZW1lKTsKICAgICBldmFzX29iamVjdF9uYW1lX3NldChhcHAtPmJy
b3dzZXIsICJicm93c2VyIik7CiAKICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQo
YXBwLT5icm93c2VyLCAibG9hZCxlcnJvciIsIG9uX2Vycm9yLCBhcHApOwpAQCAtMTg0LDYgKzIw
Nyw3IEBAIHN0YXRpYyBNaW5pQnJvd3NlciAqYnJvd3NlckNyZWF0ZShjb25zdCBjaGFyICp1cmwp
CiBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQogewogICAgIGNvbnN0IGNoYXIgKnVy
bDsKKyAgICBjb25zdCBjaGFyICp0aGVtZVBhdGg7CiAgICAgaW50IGFyZ3MgPSAxOwogCiAgICAg
aWYgKCFlY29yZV9ldmFzX2luaXQoKSkKQEAgLTE5NCw3ICsyMTgsOCBAQCBpbnQgbWFpbihpbnQg
YXJnYywgY2hhciAqYXJndltdKQogICAgIGVsc2UKICAgICAgICAgdXJsID0gREVGQVVMVF9VUkw7
CiAKLSAgICBNaW5pQnJvd3NlciAqYnJvd3NlciA9IGJyb3dzZXJDcmVhdGUodXJsKTsKKyAgICB0
aGVtZVBhdGggPSBmaW5kVGhlbWVQYXRoKE5VTEwpOworICAgIE1pbmlCcm93c2VyICpicm93c2Vy
ID0gYnJvd3NlckNyZWF0ZSh1cmwsIHRoZW1lUGF0aCk7CiAKICAgICBFY29yZV9FdmVudF9IYW5k
bGVyICpoYW5kbGUgPSBlY29yZV9ldmVudF9oYW5kbGVyX2FkZChFQ09SRV9FVkVOVF9TSUdOQUxf
RVhJVCwgbWFpbl9zaWduYWxfZXhpdCwgMCk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150941</attachid>
            <date>2012-07-05 08:09:12 -0700</date>
            <delta_ts>2012-07-06 01:16:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90107-20120706000909.patch</filename>
            <type>text/plain</type>
            <size>11771</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxOTAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMWZlMjQyNjRlMmVjMTMx
YjNlNTg2NzQxNTM2Y2JjYmQyZWFjYjE2My4uNWI0MmYzYzY2OTg0ZGVmMjExNTY1Njk3OGIyNmE4
ODk4NDZjMTQwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTA3LTA1ICBSeXVh
biBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIEFk
ZCBBUElzIHRvIHN1cHBvcnQgdGhlbWUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05MDEwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFJlbmRlclRoZW1lRWZsIHVzZXMgZWRqIGZpbGUgdG8gcmVuZGVyIG5h
dGl2ZSB0aGVtZSBvZiBmb3JtIGVsZW1lbnRzLgorICAgICAgICBUaGlzIHBhdGNoIHByb3ZpZGVz
IGEgd2F5IHRvIGNoYW5nZSBlZGogdGhlbWUgZmlsZSBmb3IgV2ViS2l0Mi9FZmwuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHA6CisgICAgICAgIChfRXdrX1ZpZXdf
UHJpdmF0ZV9EYXRhKToKKyAgICAgICAgKGV3a192aWV3X3RoZW1lX3NldCk6CisgICAgICAgIChl
d2tfdmlld190aGVtZV9nZXQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAoV2ViUGFn
ZVByb3h5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1dlYlBhZ2VQcm94eUVmbC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c2V0VGhlbWVQYXRoKToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9lZmwv
V2ViUGFnZUVmbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldFRoZW1lUGF0aCk6
CisKIDIwMTItMDctMDUgIEJhbGF6cyBLZWxlbWVuICA8a2JhbGF6c0B3ZWJraXQub3JnPgogCiAg
ICAgICAgIFtRdF0gV1RSIGNyYXNoZXMgaWYgYSBVUkwgaXMgcGFzc2VkIGFzIGEgcGFyYW1ldGVy
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAKaW5kZXgg
M2Q4OTRiYWJlNDgyZjZmN2QxYWMzZTNjODdhNTFiNTEzZTU4YjdkZS4uZjFkNjMwOGY0YzEwOWIw
MTMzZTEyMzAyZDllN2U3M2JjM2I3YzM1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a192aWV3LmNwcApAQCAtNDUsNiArNDUsNyBAQCBzdHJ1Y3QgX0V3a19WaWV3
X1ByaXZhdGVfRGF0YSB7CiAgICAgT3duUHRyPFBhZ2VDbGllbnRJbXBsPiBwYWdlQ2xpZW50Owog
ICAgIGNvbnN0IGNoYXIqIHVyaTsKICAgICBjb25zdCBjaGFyKiB0aXRsZTsKKyAgICBjb25zdCBj
aGFyKiB0aGVtZTsKIH07CiAKICNkZWZpbmUgRVdLX1ZJRVdfVFlQRV9DSEVDSyhld2tWaWV3LCBy
ZXN1bHQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCkBAIC02MjcsNiArNjI4
LDI0IEBAIHZvaWQgZXdrX3ZpZXdfaW50ZW50X3JlcXVlc3RfbmV3KEV2YXNfT2JqZWN0KiBld2tW
aWV3LCBjb25zdCBFd2tfSW50ZW50KiBld2tJbnRlCiAjZW5kaWYKIH0KIAordm9pZCBld2tfdmll
d190aGVtZV9zZXQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGNvbnN0IGNoYXIqIHBhdGgpCit7Cisg
ICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEpOworICAgIEVX
S19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIHByaXYpOworCisgICAgaWYgKCFl
aW5hX3N0cmluZ3NoYXJlX3JlcGxhY2UoJnByaXYtPnRoZW1lLCBwYXRoKSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgcHJpdi0+cGFnZUNsaWVudC0+cGFnZSgpLT5zZXRUaGVtZVBhdGgocGF0aCk7
Cit9CisKK2NvbnN0IGNoYXIqIGV3a192aWV3X3RoZW1lX2dldChjb25zdCBFdmFzX09iamVjdCog
ZXdrVmlldykKK3sKKyAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIHNtYXJ0
RGF0YSwgMCk7CisgICAgRVdLX1ZJRVdfUFJJVl9HRVRfT1JfUkVUVVJOKHNtYXJ0RGF0YSwgcHJp
diwgMCk7CisgICAgcmV0dXJuIHByaXYtPnRoZW1lOworfQorCiB2b2lkIGV3a192aWV3X2Rpc3Bs
YXkoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGNvbnN0IEludFJlY3QmIHJlY3QpCiB7CiAgICAgRVdL
X1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmgKaW5kZXggNWYwOWVlYzQyZmQ3YzQxN2Ri
MzJkZGFlNmE2YjQ0M2U5OTY3NWMzYS4uYmRhMzY1YTQxMjgxYTUzOTJkN2NjNTFmOGY2MTNjY2Rm
NjA3NmI4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X3ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5o
CkBAIC0zMTEsNiArMzExLDI5IEBAIEVBUEkgZG91YmxlIGV3a192aWV3X2xvYWRfcHJvZ3Jlc3Nf
Z2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKICAqLwogRUFQSSBFaW5hX0Jvb2wgZXdrX3ZpZXdf
aHRtbF9zdHJpbmdfbG9hZChFdmFzX09iamVjdCAqbywgY29uc3QgY2hhciAqaHRtbCwgY29uc3Qg
Y2hhciAqYmFzZVVybCwgY29uc3QgY2hhciAqdW5yZWFjaGFibGVVcmwpOwogCisvKioKKyAqIFNl
dHMgdGhlIHRoZW1lIHBhdGggdGhhdCB3aWxsIGJlIHVzZWQgYnkgdGhpcyB2aWV3LgorICoKKyAq
IFRoaXMgYWxzbyBzZXRzIHRoZSB0aGVtZSBvbiB0aGUgbWFpbiBmcmFtZS4gQXMgZnJhbWVzIGlu
aGVyaXQgdGhlbWUKKyAqIGZyb20gdGhlaXIgcGFyZW50LCB0aGlzIHdpbGwgaGF2ZSBhbGwgZnJh
bWVzIHdpdGggdW5zZXQgdGhlbWUgdG8KKyAqIHVzZSB0aGlzIG9uZS4KKyAqCisgKiBAcGFyYW0g
byB2aWV3IG9iamVjdCB0byBjaGFuZ2UgdGhlbWUKKyAqIEBwYXJhbSBwYXRoIHRoZW1lIHBhdGgs
IG1heSBiZSBAYyAwIHRvIHJlc2V0IHRvIHRoZSBkZWZhdWx0IHRoZW1lCisgKi8KK0VBUEkgdm9p
ZCBld2tfdmlld190aGVtZV9zZXQoRXZhc19PYmplY3QgKm8sIGNvbnN0IGNoYXIgKnBhdGgpOwor
CisvKioKKyAqIEdldHMgdGhlIHRoZW1lIHNldCBvbiB0aGlzIHZpZXcuCisgKgorICogVGhpcyBy
ZXR1cm5zIHRoZSB2YWx1ZSBzZXQgYnkgZXdrX3ZpZXdfdGhlbWVfc2V0KCkuCisgKgorICogQHBh
cmFtIG8gdmlldyBvYmplY3QgdG8gZ2V0IHRoZW1lIHBhdGgKKyAqCisgKiBAcmV0dXJuIHRoZSB0
aGVtZSBwYXRoLCBtYXkgYmUgQGMgMCBpZiBub3Qgc2V0CisgKi8KK0VBUEkgY29uc3QgY2hhciAq
ZXdrX3ZpZXdfdGhlbWVfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKKwogI2lmZGVmIF9fY3Bs
dXNwbHVzCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApp
bmRleCA1N2FiODZjMjQyOTNiMWFkMjIyMjQxMmViNThlOWE5ZjU2YzhjNTQ4Li42Yzc4NWVhNWE3
NGE4ODUzNmU1N2QzNGFiOTg0MGU2OTE3N2Q2OWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oCkBAIC0zNjIsNiArMzYyLDkgQEAgcHVibGljOgogICAgIHZvaWQgcHJv
eHlBdXRoZW50aWNhdGlvblJlcXVpcmVkUmVxdWVzdChjb25zdCBTdHJpbmcmIGhvc3RuYW1lLCB1
aW50MTZfdCBwb3J0LCBjb25zdCBTdHJpbmcmIHByZWZpbGxlZFVzZXJuYW1lLCBTdHJpbmcmIHVz
ZXJuYW1lLCBTdHJpbmcmIHBhc3N3b3JkKTsKICAgICB2b2lkIHNldFVzZXJTY3JpcHRzKGNvbnN0
IFZlY3RvcjxTdHJpbmc+Jik7CiAjZW5kaWYgLy8gUExBVEZPUk0oUVQpLgorI2lmIFBMQVRGT1JN
KEVGTCkKKyAgICB2b2lkIHNldFRoZW1lUGF0aChjb25zdCBTdHJpbmcmKTsKKyNlbmRpZgogCiAj
aWYgUExBVEZPUk0oUVQpCiAgICAgdm9pZCBzZXRDb21wb3NpdGlvbihjb25zdCBTdHJpbmcmIHRl
eHQsIFZlY3RvcjxXZWJDb3JlOjpDb21wb3NpdGlvblVuZGVybGluZT4gdW5kZXJsaW5lcywgdWlu
dDY0X3Qgc2VsZWN0aW9uU3RhcnQsIHVpbnQ2NF90IHNlbGVjdGlvbkVuZCwgdWludDY0X3QgcmVw
bGFjZW1lbnRSYW5nZVN0YXJ0LCB1aW50NjRfdCByZXBsYWNlbWVudFJhbmdlRW5kKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViUGFnZVByb3h5RWZsLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViUGFnZVByb3h5RWZsLmNwcAppbmRleCBi
MDc2YjRlZjY5MzM1OTg0NDVhY2YyN2Q1NzYwMWMxOGFkMTQ3MTE5Li5lMWVkYTEwMzUzYThjZTVj
YzkyN2ZiZjU3Y2U0ZDUwYjYxNWVlZjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvZWZsL1dlYlBhZ2VQcm94eUVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2VmbC9XZWJQYWdlUHJveHlFZmwuY3BwCkBAIC0yOCw2ICsyOCw4IEBACiAKICNpbmNsdWRl
ICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlBhZ2VDbGllbnRJbXBsLmgiCisjaW5jbHVk
ZSAiV2ViUGFnZU1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5LmgiCiAKICNp
bmNsdWRlIDxzeXMvdXRzbmFtZS5oPgogCkBAIC03Niw0ICs3OCw5IEBAIHZvaWQgV2ViUGFnZVBy
b3h5Ojpsb2FkUmVjZW50U2VhcmNoZXMoY29uc3QgU3RyaW5nJiwgVmVjdG9yPFN0cmluZz4mKQog
ICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5OjpzZXRUaGVtZVBh
dGgoY29uc3QgU3RyaW5nJiB0aGVtZVBhdGgpCit7CisgICAgcHJvY2VzcygpLT5zZW5kKE1lc3Nh
Z2VzOjpXZWJQYWdlOjpTZXRUaGVtZVBhdGgodGhlbWVQYXRoKSwgbV9wYWdlSUQsIDApOworfQor
CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5oCmluZGV4IDFhMTNiNmNlNzQyNmVhZWI5ODhiZjQxNGJhZDFjNGYwMTYwMjY1
OWYuLjZjZjAzNzU1ZmU4MzAwNmE3Y2M0ODMwZWNiNmNlMWYzYjg1Mjg2NTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtNDAzLDYgKzQwMywxMCBA
QCBwdWJsaWM6CiAKICAgICBTYW5kYm94RXh0ZW5zaW9uVHJhY2tlciYgc2FuZGJveEV4dGVuc2lv
blRyYWNrZXIoKSB7IHJldHVybiBtX3NhbmRib3hFeHRlbnNpb25UcmFja2VyOyB9CiAKKyNpZiBQ
TEFURk9STShFRkwpCisgICAgdm9pZCBzZXRUaGVtZVBhdGgoY29uc3QgU3RyaW5nJik7CisjZW5k
aWYKKwogI2lmIFBMQVRGT1JNKFFUKQogICAgIHZvaWQgc2V0Q29tcG9zaXRpb24oY29uc3QgU3Ry
aW5nJiB0ZXh0LCBWZWN0b3I8V2ViQ29yZTo6Q29tcG9zaXRpb25VbmRlcmxpbmU+IHVuZGVybGlu
ZXMsIHVpbnQ2NF90IHNlbGVjdGlvblN0YXJ0LCB1aW50NjRfdCBzZWxlY3Rpb25FbmQsIHVpbnQ2
NF90IHJlcGxhY2VtZW50UmFuZ2VTdGFydCwgdWludDY0X3QgcmVwbGFjZW1lbnRSYW5nZUVuZCk7
CiAgICAgdm9pZCBjb25maXJtQ29tcG9zaXRpb24oY29uc3QgU3RyaW5nJiB0ZXh0LCBpbnQ2NF90
IHNlbGVjdGlvblN0YXJ0LCBpbnQ2NF90IHNlbGVjdGlvbkxlbmd0aCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmluZGV4
IDM4ZjM2YzJiZjhkODM4YTcyZGFhMDMzNTMxMTJiNDA2NWQ2ZmMwYzIuLjIwNmM3ODYyNjIxMDVl
YmI1NjI5ODdmYjg0ZjhjNWM1ODhlNjE4ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC0yMzAsNiArMjMwLDEw
IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2UgewogICAgIERlbGl2ZXJJbnRlbnRUb0ZyYW1lKHVpbnQ2
NF90IGZyYW1lSUQsIFdlYktpdDo6SW50ZW50RGF0YSBpbnRlbnREYXRhKTsKICNlbmRpZgogCisj
aWYgUExBVEZPUk0oRUZMKQorICAgIFNldFRoZW1lUGF0aChXVEY6OlN0cmluZyB0aGVtZVBhdGgp
CisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKFFUKQogICAgIFNldENvbXBvc2l0aW9uKFdURjo6U3Ry
aW5nIHRleHQsIFdURjo6VmVjdG9yPFdlYkNvcmU6OkNvbXBvc2l0aW9uVW5kZXJsaW5lPiB1bmRl
cmxpbmVzLCB1aW50NjRfdCBzZWxlY3Rpb25TdGFydCwgdWludDY0X3Qgc2VsZWN0aW9uRW5kLCB1
aW50NjRfdCByZXBsYWNlbWVudFJhbmdlU3RhcnQsIHVpbnQ2NF90IHJlcGxhY2VtZW50UmFuZ2VF
bmQpCiAgICAgQ29uZmlybUNvbXBvc2l0aW9uKFdURjo6U3RyaW5nIHRleHQsIGludDY0X3Qgc2Vs
ZWN0aW9uU3RhcnQsIGludDY0X3Qgc2VsZWN0aW9uTGVuZ3RoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2VmbC9XZWJQYWdlRWZsLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9lZmwvV2ViUGFnZUVmbC5jcHAKaW5kZXggZGYwZjE3
Zjg3YTliZTE3MDE4NzQ2MDdkNDk1ZWI4MzFlMmRhZTdkYS4uNmMxZWM4YmEyZjc3ZjE0YTFlNmQ1
NGQ4MjI0MDAzMmQ5OTRhOWMyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL2VmbC9XZWJQYWdlRWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvZWZsL1dlYlBhZ2VFZmwuY3BwCkBAIC0zNCw5ICszNCwxMSBAQAogI2luY2x1
ZGUgPFdlYkNvcmUvRWZsS2V5Ym9hcmRVdGlsaXRpZXMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Zv
Y3VzQ29udHJvbGxlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRnJhbWUuaD4KKyNpbmNsdWRlIDxX
ZWJDb3JlL0ZyYW1lVmlldy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvS2V5Ym9hcmRFdmVudC5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvUGFnZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1LZXli
b2FyZEV2ZW50Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9SZW5kZXJUaGVtZS5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvU2V0dGluZ3MuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CkBAIC0xMDQs
NCArMTA2LDE3IEBAIGNvbnN0IGNoYXIqIFdlYlBhZ2U6OmludGVycHJldEtleUV2ZW50KGNvbnN0
IEtleWJvYXJkRXZlbnQqIGV2ZW50KQogICAgIHJldHVybiBnZXRLZXlQcmVzc0NvbW1hbmROYW1l
KGV2ZW50KTsKIH0KIAordm9pZCBXZWJQYWdlOjpzZXRUaGVtZVBhdGgoY29uc3QgU3RyaW5nJiB0
aGVtZVBhdGgpCit7CisgICAgRnJhbWUqIG1haW5GcmFtZSA9IG1fcGFnZS0+bWFpbkZyYW1lKCk7
CisgICAgaWYgKCFtYWluRnJhbWUpCisgICAgICAgIHJldHVybjsKKworICAgIFdlYkNvcmU6OkZy
YW1lVmlldyogdmlldyA9IG1haW5GcmFtZS0+dmlldygpOworICAgIGlmICh2aWV3KSB7CisgICAg
ICAgIHZpZXctPnNldEVkamVUaGVtZSh0aGVtZVBhdGgpOworICAgICAgICBtX3BhZ2UtPnRoZW1l
KCktPnRoZW1lQ2hhbmdlZCgpOworICAgIH0KK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRp
ZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTZjNTNl
MDM2ODdmZmY2YzRiMTQ0ODNjZDY0ZmZmNDI3ZjY5ZDVhMC4uZWMwNTI3YjUzYWIyN2ZhODk3NTZk
YTBlYTFkY2FjYTgwNmQwOWJkMSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rv
b2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA3LTA1ICBSeXVhbiBDaG9pICA8
cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIEFkZCBBUElzIHRv
IHN1cHBvcnQgdGhlbWUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD05MDEwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFNldCB0aGUgZGVmYXVsdCB0aGVtZSBwYXRoIGZvciBNaW5pQnJvd3Nlci4KKworICAg
ICAgICAqIE1pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBNaW5pQnJv
d3Nlci9lZmwvbWFpbi5jOgorICAgICAgICAoX01pbmlCcm93c2VyKToKKyAgICAgICAgKGZpbmRU
aGVtZVBhdGgpOgorICAgICAgICAoYnJvd3NlckNyZWF0ZSk6CisgICAgICAgIChtYWluKToKKwog
MjAxMi0wNy0wNSAgVG9yIEFybmUgVmVzdGLDuCAgPHRvci5hcm5lLnZlc3Rib0Bub2tpYS5jb20+
CiAKICAgICAgICAgW1F0XSBSZW1vdmUgcnBhdGgtaGFja3MgaW4gcXRfd2Via2l0LnByaQpkaWZm
IC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvZWZsL0NNYWtlTGlzdHMudHh0IGIvVG9vbHMvTWlu
aUJyb3dzZXIvZWZsL0NNYWtlTGlzdHMudHh0CmluZGV4IGE2ZmQyZDU3ZTBmZjYxOWQ0YmQ0NzE1
MTZlOThkNWNlN2I3NDEzZDYuLjgwOWI3NDhiZjY2NDE2MTdmYTEzMzk4MTY4OGEwMjE2M2FiYjg2
NjggMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzLnR4dAorKysg
Yi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0cy50eHQKQEAgLTU1LDYgKzU1LDggQEAg
QUREX0NVU1RPTV9UQVJHRVQoZm9yd2FyZGluZy1oZWFkZXJNaW5pQnJvd3NlclNvdXAKICAgICBD
T01NQU5EICR7UEVSTF9FWEVDVVRBQkxFfSAke1dFQktJVDJfRElSfS9TY3JpcHRzL2dlbmVyYXRl
LWZvcndhcmRpbmctaGVhZGVycy5wbCAke01pbmlCcm93c2VyX0RJUn0gJHtERVJJVkVEX1NPVVJD
RVNfV0VCS0lUMl9ESVJ9L2luY2x1ZGUgc291cAogKQogCitBRERfREVGSU5JVElPTlMoLUREQVRB
X0RJUj1cIiR7VEhFTUVfQklOQVJZX0RJUn1cIikKKwogSU5DTFVERV9ESVJFQ1RPUklFUygke01p
bmlCcm93c2VyX0lOQ0xVREVfRElSRUNUT1JJRVN9KQogCiBBRERfRVhFQ1VUQUJMRShNaW5pQnJv
d3NlciAke01pbmlCcm93c2VyX1NPVVJDRVN9KQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dz
ZXIvZWZsL21haW4uYyBiL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9tYWluLmMKaW5kZXggZjE2MTRh
YTM1OWU1YzJiNzY0NTFiMGRiZDI4YTAxZWM3MGIxZTBlOC4uZjQzNWRlZTA4NTA4MDVlMDU0YTA4
OGZlNmRkNDM2YjllODRmM2I2MyAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvZWZsL21h
aW4uYworKysgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvbWFpbi5jCkBAIC0yMCw2ICsyMCw3IEBA
CiAjaW5jbHVkZSAiRVdlYktpdDIuaCIKICNpbmNsdWRlIDxFY29yZS5oPgogI2luY2x1ZGUgPEVj
b3JlX0V2YXMuaD4KKyNpbmNsdWRlIDxFY29yZV9GaWxlLmg+CiAjaW5jbHVkZSA8RWluYS5oPgog
I2luY2x1ZGUgPEV2YXMuaD4KIApAQCAtNDEsNiArNDIsNyBAQCB0eXBlZGVmIHN0cnVjdCBfTWlu
aUJyb3dzZXIgewogICAgIEV2YXMgKmV2YXM7CiAgICAgRXZhc19PYmplY3QgKmJnOwogICAgIEV2
YXNfT2JqZWN0ICpicm93c2VyOworICAgIGNvbnN0IGNoYXIgKnRoZW1lOwogfSBNaW5pQnJvd3Nl
cjsKIAogc3RhdGljIEVpbmFfQm9vbCBtYWluX3NpZ25hbF9leGl0KHZvaWQgKmRhdGEsIGludCBl
dl90eXBlLCB2b2lkICpldikKQEAgLTEzOSw3ICsxNDEsMjcgQEAgb25fZXJyb3Iodm9pZCAqdXNl
cl9kYXRhLCBFdmFzX09iamVjdCAqd2Vidmlldywgdm9pZCAqZXZlbnRfaW5mbykKICAgICBlaW5h
X3N0cmJ1Zl9mcmVlKGJ1ZmZlcik7CiB9CiAKLXN0YXRpYyBNaW5pQnJvd3NlciAqYnJvd3NlckNy
ZWF0ZShjb25zdCBjaGFyICp1cmwpCitzdGF0aWMgY2hhciAqCitmaW5kVGhlbWVQYXRoKGNvbnN0
IGNoYXIgKnRoZW1lKQoreworICAgIGNvbnN0IGNoYXIgKmRlZmF1bHRUaGVtZSA9IERBVEFfRElS
Ii9kZWZhdWx0LmVkaiI7CisgICAgY2hhciAqcnBhdGg7CisgICAgc3RydWN0IHN0YXQgc3Q7CisK
KyAgICBpZiAoIXRoZW1lKQorICAgICAgICB0aGVtZSA9IGRlZmF1bHRUaGVtZTsKKworICAgIHJw
YXRoID0gZWNvcmVfZmlsZV9yZWFscGF0aCh0aGVtZSk7CisgICAgaWYgKCFzdHJsZW4ocnBhdGgp
IHx8IHN0YXQocnBhdGgsICZzdCkpIHsKKyAgICAgICAgZnJlZShycGF0aCk7CisgICAgICAgIHJl
dHVybiBOVUxMOworICAgIH0KKworICAgIHJldHVybiBycGF0aDsKK30KKworc3RhdGljIE1pbmlC
cm93c2VyICoKK2Jyb3dzZXJDcmVhdGUoY29uc3QgY2hhciAqdXJsLCBjb25zdCBjaGFyICp0aGVt
ZSkKIHsKICAgICBNaW5pQnJvd3NlciAqYXBwID0gbWFsbG9jKHNpemVvZihNaW5pQnJvd3Nlcikp
OwogCkBAIC0xNjMsNiArMTg1LDcgQEAgc3RhdGljIE1pbmlCcm93c2VyICpicm93c2VyQ3JlYXRl
KGNvbnN0IGNoYXIgKnVybCkKIAogICAgIC8qIENyZWF0ZSB3ZWJ2aWV3ICovCiAgICAgYXBwLT5i
cm93c2VyID0gZXdrX3ZpZXdfYWRkKGFwcC0+ZXZhcyk7CisgICAgZXdrX3ZpZXdfdGhlbWVfc2V0
KGFwcC0+YnJvd3NlciwgdGhlbWUpOwogICAgIGV2YXNfb2JqZWN0X25hbWVfc2V0KGFwcC0+YnJv
d3NlciwgImJyb3dzZXIiKTsKIAogICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZChh
cHAtPmJyb3dzZXIsICJsb2FkLGVycm9yIiwgb25fZXJyb3IsIGFwcCk7CkBAIC0xODQsNiArMjA3
LDcgQEAgc3RhdGljIE1pbmlCcm93c2VyICpicm93c2VyQ3JlYXRlKGNvbnN0IGNoYXIgKnVybCkK
IGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiB7CiAgICAgY29uc3QgY2hhciAqdXJs
OworICAgIGNvbnN0IGNoYXIgKnRoZW1lUGF0aDsKICAgICBpbnQgYXJncyA9IDE7CiAKICAgICBp
ZiAoIWVjb3JlX2V2YXNfaW5pdCgpKQpAQCAtMTk0LDcgKzIxOCw4IEBAIGludCBtYWluKGludCBh
cmdjLCBjaGFyICphcmd2W10pCiAgICAgZWxzZQogICAgICAgICB1cmwgPSBERUZBVUxUX1VSTDsK
IAotICAgIE1pbmlCcm93c2VyICpicm93c2VyID0gYnJvd3NlckNyZWF0ZSh1cmwpOworICAgIHRo
ZW1lUGF0aCA9IGZpbmRUaGVtZVBhdGgoTlVMTCk7CisgICAgTWluaUJyb3dzZXIgKmJyb3dzZXIg
PSBicm93c2VyQ3JlYXRlKHVybCwgdGhlbWVQYXRoKTsKIAogICAgIEVjb3JlX0V2ZW50X0hhbmRs
ZXIgKmhhbmRsZSA9IGVjb3JlX2V2ZW50X2hhbmRsZXJfYWRkKEVDT1JFX0VWRU5UX1NJR05BTF9F
WElULCBtYWluX3NpZ25hbF9leGl0LCAwKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151033</attachid>
            <date>2012-07-06 01:16:40 -0700</date>
            <delta_ts>2012-07-06 01:58:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90107-20120706171639.patch</filename>
            <type>text/plain</type>
            <size>13238</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxOTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOGYwNTJiNzU0NjBlYjMx
M2M0Zjk0MzY5NWNmNjkzYTQ2MzU2MDNhNy4uYTUwNzMzMjc4OTIyN2M3NjgzMjVhOGU4YjgzNTQw
ZDUxM2U5ZTA4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTA3LTA2ICBSeXVh
biBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIEFk
ZCBBUElzIHRvIHN1cHBvcnQgdGhlbWUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05MDEwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFJlbmRlclRoZW1lRWZsIHVzZXMgZWRqIGZpbGUgdG8gcmVuZGVyIG5h
dGl2ZSB0aGVtZSBvZiBmb3JtIGVsZW1lbnRzLgorICAgICAgICBUaGlzIHBhdGNoIHByb3ZpZGVz
IGEgd2F5IHRvIGNoYW5nZSBlZGogdGhlbWUgZmlsZSBmb3IgV2ViS2l0Mi9FZmwuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHA6CisgICAgICAgIChfRXdrX1ZpZXdf
UHJpdmF0ZV9EYXRhKToKKyAgICAgICAgKGV3a192aWV3X3RoZW1lX3NldCk6CisgICAgICAgIChl
d2tfdmlld190aGVtZV9nZXQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAoV2ViUGFn
ZVByb3h5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1dlYlBhZ2VQcm94eUVmbC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c2V0VGhlbWVQYXRoKToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9lZmwv
V2ViUGFnZUVmbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldFRoZW1lUGF0aCk6
CisKIDIwMTItMDctMDUgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVs
LmNvbT4KIAogICAgICAgICBbV0syXVtFRkxdIEV3a19WaWV3IG5lZWRzIHRvIHJlcG9ydCBsb2Fk
IHN0YXR1cyBjaGFuZ2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfdmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tf
dmlldy5jcHAKaW5kZXggZWI2YjE1YmI1ZTFiYzI1MGRhZGM2YzAwOGFiNzA3YzkwNjQ3ZmIzOS4u
MmI3ZjI3MjI2MjRmOGY0MTU4N2Q2YTBlMmQyYzNlMDliMWE0NmZhNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcApAQCAtNDUsNiArNDUsNyBAQCBz
dHJ1Y3QgX0V3a19WaWV3X1ByaXZhdGVfRGF0YSB7CiAgICAgT3duUHRyPFBhZ2VDbGllbnRJbXBs
PiBwYWdlQ2xpZW50OwogICAgIGNvbnN0IGNoYXIqIHVyaTsKICAgICBjb25zdCBjaGFyKiB0aXRs
ZTsKKyAgICBjb25zdCBjaGFyKiB0aGVtZTsKIH07CiAKICNkZWZpbmUgRVdLX1ZJRVdfVFlQRV9D
SEVDSyhld2tWaWV3LCByZXN1bHQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CkBAIC02NDQsNiArNjQ1LDI0IEBAIHZvaWQgZXdrX3ZpZXdfaW50ZW50X3JlcXVlc3RfbmV3KEV2
YXNfT2JqZWN0KiBld2tWaWV3LCBjb25zdCBFd2tfSW50ZW50KiBld2tJbnRlCiAjZW5kaWYKIH0K
IAordm9pZCBld2tfdmlld190aGVtZV9zZXQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGNvbnN0IGNo
YXIqIHBhdGgpCit7CisgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFy
dERhdGEpOworICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIHByaXYp
OworCisgICAgaWYgKCFlaW5hX3N0cmluZ3NoYXJlX3JlcGxhY2UoJnByaXYtPnRoZW1lLCBwYXRo
KSkKKyAgICAgICAgcmV0dXJuOworCisgICAgcHJpdi0+cGFnZUNsaWVudC0+cGFnZSgpLT5zZXRU
aGVtZVBhdGgocGF0aCk7Cit9CisKK2NvbnN0IGNoYXIqIGV3a192aWV3X3RoZW1lX2dldChjb25z
dCBFdmFzX09iamVjdCogZXdrVmlldykKK3sKKyAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJO
KGV3a1ZpZXcsIHNtYXJ0RGF0YSwgMCk7CisgICAgRVdLX1ZJRVdfUFJJVl9HRVRfT1JfUkVUVVJO
KHNtYXJ0RGF0YSwgcHJpdiwgMCk7CisgICAgcmV0dXJuIHByaXYtPnRoZW1lOworfQorCiB2b2lk
IGV3a192aWV3X2Rpc3BsYXkoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGNvbnN0IEludFJlY3QmIHJl
Y3QpCiB7CiAgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcu
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmgKaW5kZXggYTFh
M2E3ZGI3ZTRlMjdlM2E2ZWNiOTQzZjJhMWNjYzg5NTg2NDM0Mi4uMWI3NzM1ZDE1N2EwZDNhYjNl
ZGI5MTY5NzdmNmU3MWM5ZjQyZTAzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfdmlldy5oCkBAIC0zNjMsNiArMzYzLDI5IEBAIEVBUEkgZmxvYXQgZXdrX3ZpZXdf
ZGV2aWNlX3BpeGVsX3JhdGlvX2dldChjb25zdCBFdmFzX09iamVjdCAqbyk7CiAgKi8KIEVBUEkg
RWluYV9Cb29sIGV3a192aWV3X2RldmljZV9waXhlbF9yYXRpb19zZXQoRXZhc19PYmplY3QgKm8s
IGZsb2F0IHJhdGlvKTsKIAorLyoqCisgKiBTZXRzIHRoZSB0aGVtZSBwYXRoIHRoYXQgd2lsbCBi
ZSB1c2VkIGJ5IHRoaXMgdmlldy4KKyAqCisgKiBUaGlzIGFsc28gc2V0cyB0aGUgdGhlbWUgb24g
dGhlIG1haW4gZnJhbWUuIEFzIGZyYW1lcyBpbmhlcml0IHRoZW1lCisgKiBmcm9tIHRoZWlyIHBh
cmVudCwgdGhpcyB3aWxsIGhhdmUgYWxsIGZyYW1lcyB3aXRoIHVuc2V0IHRoZW1lIHRvCisgKiB1
c2UgdGhpcyBvbmUuCisgKgorICogQHBhcmFtIG8gdmlldyBvYmplY3QgdG8gY2hhbmdlIHRoZW1l
CisgKiBAcGFyYW0gcGF0aCB0aGVtZSBwYXRoLCBtYXkgYmUgQGMgMCB0byByZXNldCB0byB0aGUg
ZGVmYXVsdCB0aGVtZQorICovCitFQVBJIHZvaWQgZXdrX3ZpZXdfdGhlbWVfc2V0KEV2YXNfT2Jq
ZWN0ICpvLCBjb25zdCBjaGFyICpwYXRoKTsKKworLyoqCisgKiBHZXRzIHRoZSB0aGVtZSBzZXQg
b24gdGhpcyB2aWV3LgorICoKKyAqIFRoaXMgcmV0dXJucyB0aGUgdmFsdWUgc2V0IGJ5IGV3a192
aWV3X3RoZW1lX3NldCgpLgorICoKKyAqIEBwYXJhbSBvIHZpZXcgb2JqZWN0IHRvIGdldCB0aGVt
ZSBwYXRoCisgKgorICogQHJldHVybiB0aGUgdGhlbWUgcGF0aCwgbWF5IGJlIEBjIDAgaWYgbm90
IHNldAorICovCitFQVBJIGNvbnN0IGNoYXIgKmV3a192aWV3X3RoZW1lX2dldChjb25zdCBFdmFz
X09iamVjdCAqbyk7CisKICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNTdhYjg2YzI0MjkzYjFhZDIyMjI0MTJl
YjU4ZTlhOWY1NmM4YzU0OC4uNmM3ODVlYTVhNzRhODg1MzZlNTdkMzRhYjk4NDBlNjkxNzdkNjlj
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMzYyLDYgKzM2
Miw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHByb3h5QXV0aGVudGljYXRpb25SZXF1aXJlZFJlcXVl
c3QoY29uc3QgU3RyaW5nJiBob3N0bmFtZSwgdWludDE2X3QgcG9ydCwgY29uc3QgU3RyaW5nJiBw
cmVmaWxsZWRVc2VybmFtZSwgU3RyaW5nJiB1c2VybmFtZSwgU3RyaW5nJiBwYXNzd29yZCk7CiAg
ICAgdm9pZCBzZXRVc2VyU2NyaXB0cyhjb25zdCBWZWN0b3I8U3RyaW5nPiYpOwogI2VuZGlmIC8v
IFBMQVRGT1JNKFFUKS4KKyNpZiBQTEFURk9STShFRkwpCisgICAgdm9pZCBzZXRUaGVtZVBhdGgo
Y29uc3QgU3RyaW5nJik7CisjZW5kaWYKIAogI2lmIFBMQVRGT1JNKFFUKQogICAgIHZvaWQgc2V0
Q29tcG9zaXRpb24oY29uc3QgU3RyaW5nJiB0ZXh0LCBWZWN0b3I8V2ViQ29yZTo6Q29tcG9zaXRp
b25VbmRlcmxpbmU+IHVuZGVybGluZXMsIHVpbnQ2NF90IHNlbGVjdGlvblN0YXJ0LCB1aW50NjRf
dCBzZWxlY3Rpb25FbmQsIHVpbnQ2NF90IHJlcGxhY2VtZW50UmFuZ2VTdGFydCwgdWludDY0X3Qg
cmVwbGFjZW1lbnRSYW5nZUVuZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvZWZsL1dlYlBhZ2VQcm94eUVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZs
L1dlYlBhZ2VQcm94eUVmbC5jcHAKaW5kZXggYjA3NmI0ZWY2OTMzNTk4NDQ1YWNmMjdkNTc2MDFj
MThhZDE0NzExOS4uZTFlZGExMDM1M2E4Y2U1Y2M5MjdmYmY1N2NlNGQ1MGI2MTVlZWY1MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJQYWdlUHJveHlFZmwuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViUGFnZVByb3h5RWZsLmNwcApA
QCAtMjgsNiArMjgsOCBAQAogCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRl
ICJQYWdlQ2xpZW50SW1wbC5oIgorI2luY2x1ZGUgIldlYlBhZ2VNZXNzYWdlcy5oIgorI2luY2x1
ZGUgIldlYlByb2Nlc3NQcm94eS5oIgogCiAjaW5jbHVkZSA8c3lzL3V0c25hbWUuaD4KIApAQCAt
NzYsNCArNzgsOSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6bG9hZFJlY2VudFNlYXJjaGVzKGNvbnN0
IFN0cmluZyYsIFZlY3RvcjxTdHJpbmc+JikKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCit2
b2lkIFdlYlBhZ2VQcm94eTo6c2V0VGhlbWVQYXRoKGNvbnN0IFN0cmluZyYgdGhlbWVQYXRoKQor
eworICAgIHByb2Nlc3MoKS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2V0VGhlbWVQYXRoKHRo
ZW1lUGF0aCksIG1fcGFnZUlELCAwKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCAxYTEzYjZjZTc0
MjZlYWViOTg4YmY0MTRiYWQxYzRmMDE2MDI2NTlmLi42Y2YwMzc1NWZlODMwMDZhN2NjNDgzMGVj
YjZjZTFmM2I4NTI4NjU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmgKQEAgLTQwMyw2ICs0MDMsMTAgQEAgcHVibGljOgogCiAgICAgU2FuZGJveEV4dGVu
c2lvblRyYWNrZXImIHNhbmRib3hFeHRlbnNpb25UcmFja2VyKCkgeyByZXR1cm4gbV9zYW5kYm94
RXh0ZW5zaW9uVHJhY2tlcjsgfQogCisjaWYgUExBVEZPUk0oRUZMKQorICAgIHZvaWQgc2V0VGhl
bWVQYXRoKGNvbnN0IFN0cmluZyYpOworI2VuZGlmCisKICNpZiBQTEFURk9STShRVCkKICAgICB2
b2lkIHNldENvbXBvc2l0aW9uKGNvbnN0IFN0cmluZyYgdGV4dCwgVmVjdG9yPFdlYkNvcmU6OkNv
bXBvc2l0aW9uVW5kZXJsaW5lPiB1bmRlcmxpbmVzLCB1aW50NjRfdCBzZWxlY3Rpb25TdGFydCwg
dWludDY0X3Qgc2VsZWN0aW9uRW5kLCB1aW50NjRfdCByZXBsYWNlbWVudFJhbmdlU3RhcnQsIHVp
bnQ2NF90IHJlcGxhY2VtZW50UmFuZ2VFbmQpOwogICAgIHZvaWQgY29uZmlybUNvbXBvc2l0aW9u
KGNvbnN0IFN0cmluZyYgdGV4dCwgaW50NjRfdCBzZWxlY3Rpb25TdGFydCwgaW50NjRfdCBzZWxl
Y3Rpb25MZW5ndGgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5tZXNzYWdlcy5pbgppbmRleCAzOGYzNmMyYmY4ZDgzOGE3MmRhYTAzMzUzMTEy
YjQwNjVkNmZjMGMyLi4yMDZjNzg2MjYyMTA1ZWJiNTYyOTg3ZmI4NGY4YzVjNTg4ZTYxOGQyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNz
YWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5t
ZXNzYWdlcy5pbgpAQCAtMjMwLDYgKzIzMCwxMCBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlIHsKICAg
ICBEZWxpdmVySW50ZW50VG9GcmFtZSh1aW50NjRfdCBmcmFtZUlELCBXZWJLaXQ6OkludGVudERh
dGEgaW50ZW50RGF0YSk7CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKEVGTCkKKyAgICBTZXRUaGVt
ZVBhdGgoV1RGOjpTdHJpbmcgdGhlbWVQYXRoKQorI2VuZGlmCisKICNpZiBQTEFURk9STShRVCkK
ICAgICBTZXRDb21wb3NpdGlvbihXVEY6OlN0cmluZyB0ZXh0LCBXVEY6OlZlY3RvcjxXZWJDb3Jl
OjpDb21wb3NpdGlvblVuZGVybGluZT4gdW5kZXJsaW5lcywgdWludDY0X3Qgc2VsZWN0aW9uU3Rh
cnQsIHVpbnQ2NF90IHNlbGVjdGlvbkVuZCwgdWludDY0X3QgcmVwbGFjZW1lbnRSYW5nZVN0YXJ0
LCB1aW50NjRfdCByZXBsYWNlbWVudFJhbmdlRW5kKQogICAgIENvbmZpcm1Db21wb3NpdGlvbihX
VEY6OlN0cmluZyB0ZXh0LCBpbnQ2NF90IHNlbGVjdGlvblN0YXJ0LCBpbnQ2NF90IHNlbGVjdGlv
bkxlbmd0aCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9l
ZmwvV2ViUGFnZUVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZWZs
L1dlYlBhZ2VFZmwuY3BwCmluZGV4IGRmMGYxN2Y4N2E5YmUxNzAxODc0NjA3ZDQ5NWViODMxZTJk
YWU3ZGEuLjZjMWVjOGJhMmY3N2YxNGExZTZkNTRkODIyNDAwMzJkOTk0YTljMjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9lZmwvV2ViUGFnZUVmbC5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2VmbC9XZWJQYWdlRWZsLmNw
cApAQCAtMzQsOSArMzQsMTEgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0VmbEtleWJvYXJkVXRpbGl0
aWVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Gb2N1c0NvbnRyb2xsZXIuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL0ZyYW1lLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9GcmFtZVZpZXcuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL0tleWJvYXJkRXZlbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BhZ2UuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oPgorI2luY2x1ZGUgPFdlYkNv
cmUvUmVuZGVyVGhlbWUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NldHRpbmdzLmg+CiAKIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwpAQCAtMTA0LDQgKzEwNiwxNyBAQCBjb25zdCBjaGFyKiBXZWJQ
YWdlOjppbnRlcnByZXRLZXlFdmVudChjb25zdCBLZXlib2FyZEV2ZW50KiBldmVudCkKICAgICBy
ZXR1cm4gZ2V0S2V5UHJlc3NDb21tYW5kTmFtZShldmVudCk7CiB9CiAKK3ZvaWQgV2ViUGFnZTo6
c2V0VGhlbWVQYXRoKGNvbnN0IFN0cmluZyYgdGhlbWVQYXRoKQoreworICAgIEZyYW1lKiBtYWlu
RnJhbWUgPSBtX3BhZ2UtPm1haW5GcmFtZSgpOworICAgIGlmICghbWFpbkZyYW1lKQorICAgICAg
ICByZXR1cm47CisKKyAgICBXZWJDb3JlOjpGcmFtZVZpZXcqIHZpZXcgPSBtYWluRnJhbWUtPnZp
ZXcoKTsKKyAgICBpZiAodmlldykgeworICAgICAgICB2aWV3LT5zZXRFZGplVGhlbWUodGhlbWVQ
YXRoKTsKKyAgICAgICAgbV9wYWdlLT50aGVtZSgpLT50aGVtZUNoYW5nZWQoKTsKKyAgICB9Cit9
CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDgwZTI3OGIwMGM5ODQ3NzNmYmZhYzg0ZWEwMTQyZDY1MDEy
ZTgxY2IuLmI2Nzk2MjRhNzIxNTk3YWQwMmM4YTlhODQ2MmVlNjI2MDdlMGUwYTYgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBA
QAorMjAxMi0wNy0wNiAgUnl1YW4gQ2hvaSAgPHJ5dWFuLmNob2lAc2Ftc3VuZy5jb20+CisKKyAg
ICAgICAgW0VGTF1bV0syXSBBZGQgQVBJcyB0byBzdXBwb3J0IHRoZW1lLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAxMDcKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTZXQgdGhlIGRlZmF1bHQgdGhlbWUg
cGF0aCBmb3IgTWluaUJyb3dzZXIgYW5kIFdlYktpdFRlc3RSdW5uZXIuCisKKyAgICAgICAgKiBN
aW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogTWluaUJyb3dzZXIvZWZs
L21haW4uYzoKKyAgICAgICAgKF9NaW5pQnJvd3Nlcik6CisgICAgICAgIChmaW5kVGhlbWVQYXRo
KToKKyAgICAgICAgKGJyb3dzZXJDcmVhdGUpOgorICAgICAgICAobWFpbik6CisgICAgICAgICog
V2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybUVmbC5jbWFrZToKKyAgICAgICAgKiBXZWJLaXRUZXN0
UnVubmVyL2VmbC9QbGF0Zm9ybVdlYlZpZXdFZmwuY3BwOgorICAgICAgICAoV1RSOjpQbGF0Zm9y
bVdlYlZpZXc6OlBsYXRmb3JtV2ViVmlldyk6CisKIDIwMTItMDctMDUgIEphc29uIExpdSAgPGph
c29uLmxpdUB0b3JjaG1vYmlsZS5jb20uY24+CiAKICAgICAgICAgQWRkIEphc29uIExpdSB0byBj
b21taXR0ZXJzLnB5LgpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvZWZsL0NNYWtlTGlz
dHMudHh0IGIvVG9vbHMvTWluaUJyb3dzZXIvZWZsL0NNYWtlTGlzdHMudHh0CmluZGV4IGE2ZmQy
ZDU3ZTBmZjYxOWQ0YmQ0NzE1MTZlOThkNWNlN2I3NDEzZDYuLjgwOWI3NDhiZjY2NDE2MTdmYTEz
Mzk4MTY4OGEwMjE2M2FiYjg2NjggMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9D
TWFrZUxpc3RzLnR4dAorKysgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0cy50eHQK
QEAgLTU1LDYgKzU1LDggQEAgQUREX0NVU1RPTV9UQVJHRVQoZm9yd2FyZGluZy1oZWFkZXJNaW5p
QnJvd3NlclNvdXAKICAgICBDT01NQU5EICR7UEVSTF9FWEVDVVRBQkxFfSAke1dFQktJVDJfRElS
fS9TY3JpcHRzL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbCAke01pbmlCcm93c2VyX0RJ
Un0gJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUMl9ESVJ9L2luY2x1ZGUgc291cAogKQogCitBRERf
REVGSU5JVElPTlMoLUREQVRBX0RJUj1cIiR7VEhFTUVfQklOQVJZX0RJUn1cIikKKwogSU5DTFVE
RV9ESVJFQ1RPUklFUygke01pbmlCcm93c2VyX0lOQ0xVREVfRElSRUNUT1JJRVN9KQogCiBBRERf
RVhFQ1VUQUJMRShNaW5pQnJvd3NlciAke01pbmlCcm93c2VyX1NPVVJDRVN9KQpkaWZmIC0tZ2l0
IGEvVG9vbHMvTWluaUJyb3dzZXIvZWZsL21haW4uYyBiL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9t
YWluLmMKaW5kZXggZjE2MTRhYTM1OWU1YzJiNzY0NTFiMGRiZDI4YTAxZWM3MGIxZTBlOC4uZjQz
NWRlZTA4NTA4MDVlMDU0YTA4OGZlNmRkNDM2YjllODRmM2I2MyAxMDA2NDQKLS0tIGEvVG9vbHMv
TWluaUJyb3dzZXIvZWZsL21haW4uYworKysgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvbWFpbi5j
CkBAIC0yMCw2ICsyMCw3IEBACiAjaW5jbHVkZSAiRVdlYktpdDIuaCIKICNpbmNsdWRlIDxFY29y
ZS5oPgogI2luY2x1ZGUgPEVjb3JlX0V2YXMuaD4KKyNpbmNsdWRlIDxFY29yZV9GaWxlLmg+CiAj
aW5jbHVkZSA8RWluYS5oPgogI2luY2x1ZGUgPEV2YXMuaD4KIApAQCAtNDEsNiArNDIsNyBAQCB0
eXBlZGVmIHN0cnVjdCBfTWluaUJyb3dzZXIgewogICAgIEV2YXMgKmV2YXM7CiAgICAgRXZhc19P
YmplY3QgKmJnOwogICAgIEV2YXNfT2JqZWN0ICpicm93c2VyOworICAgIGNvbnN0IGNoYXIgKnRo
ZW1lOwogfSBNaW5pQnJvd3NlcjsKIAogc3RhdGljIEVpbmFfQm9vbCBtYWluX3NpZ25hbF9leGl0
KHZvaWQgKmRhdGEsIGludCBldl90eXBlLCB2b2lkICpldikKQEAgLTEzOSw3ICsxNDEsMjcgQEAg
b25fZXJyb3Iodm9pZCAqdXNlcl9kYXRhLCBFdmFzX09iamVjdCAqd2Vidmlldywgdm9pZCAqZXZl
bnRfaW5mbykKICAgICBlaW5hX3N0cmJ1Zl9mcmVlKGJ1ZmZlcik7CiB9CiAKLXN0YXRpYyBNaW5p
QnJvd3NlciAqYnJvd3NlckNyZWF0ZShjb25zdCBjaGFyICp1cmwpCitzdGF0aWMgY2hhciAqCitm
aW5kVGhlbWVQYXRoKGNvbnN0IGNoYXIgKnRoZW1lKQoreworICAgIGNvbnN0IGNoYXIgKmRlZmF1
bHRUaGVtZSA9IERBVEFfRElSIi9kZWZhdWx0LmVkaiI7CisgICAgY2hhciAqcnBhdGg7CisgICAg
c3RydWN0IHN0YXQgc3Q7CisKKyAgICBpZiAoIXRoZW1lKQorICAgICAgICB0aGVtZSA9IGRlZmF1
bHRUaGVtZTsKKworICAgIHJwYXRoID0gZWNvcmVfZmlsZV9yZWFscGF0aCh0aGVtZSk7CisgICAg
aWYgKCFzdHJsZW4ocnBhdGgpIHx8IHN0YXQocnBhdGgsICZzdCkpIHsKKyAgICAgICAgZnJlZShy
cGF0aCk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIHJldHVybiBycGF0aDsK
K30KKworc3RhdGljIE1pbmlCcm93c2VyICoKK2Jyb3dzZXJDcmVhdGUoY29uc3QgY2hhciAqdXJs
LCBjb25zdCBjaGFyICp0aGVtZSkKIHsKICAgICBNaW5pQnJvd3NlciAqYXBwID0gbWFsbG9jKHNp
emVvZihNaW5pQnJvd3NlcikpOwogCkBAIC0xNjMsNiArMTg1LDcgQEAgc3RhdGljIE1pbmlCcm93
c2VyICpicm93c2VyQ3JlYXRlKGNvbnN0IGNoYXIgKnVybCkKIAogICAgIC8qIENyZWF0ZSB3ZWJ2
aWV3ICovCiAgICAgYXBwLT5icm93c2VyID0gZXdrX3ZpZXdfYWRkKGFwcC0+ZXZhcyk7CisgICAg
ZXdrX3ZpZXdfdGhlbWVfc2V0KGFwcC0+YnJvd3NlciwgdGhlbWUpOwogICAgIGV2YXNfb2JqZWN0
X25hbWVfc2V0KGFwcC0+YnJvd3NlciwgImJyb3dzZXIiKTsKIAogICAgIGV2YXNfb2JqZWN0X3Nt
YXJ0X2NhbGxiYWNrX2FkZChhcHAtPmJyb3dzZXIsICJsb2FkLGVycm9yIiwgb25fZXJyb3IsIGFw
cCk7CkBAIC0xODQsNiArMjA3LDcgQEAgc3RhdGljIE1pbmlCcm93c2VyICpicm93c2VyQ3JlYXRl
KGNvbnN0IGNoYXIgKnVybCkKIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiB7CiAg
ICAgY29uc3QgY2hhciAqdXJsOworICAgIGNvbnN0IGNoYXIgKnRoZW1lUGF0aDsKICAgICBpbnQg
YXJncyA9IDE7CiAKICAgICBpZiAoIWVjb3JlX2V2YXNfaW5pdCgpKQpAQCAtMTk0LDcgKzIxOCw4
IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAgICAgZWxzZQogICAgICAgICB1
cmwgPSBERUZBVUxUX1VSTDsKIAotICAgIE1pbmlCcm93c2VyICpicm93c2VyID0gYnJvd3NlckNy
ZWF0ZSh1cmwpOworICAgIHRoZW1lUGF0aCA9IGZpbmRUaGVtZVBhdGgoTlVMTCk7CisgICAgTWlu
aUJyb3dzZXIgKmJyb3dzZXIgPSBicm93c2VyQ3JlYXRlKHVybCwgdGhlbWVQYXRoKTsKIAogICAg
IEVjb3JlX0V2ZW50X0hhbmRsZXIgKmhhbmRsZSA9IGVjb3JlX2V2ZW50X2hhbmRsZXJfYWRkKEVD
T1JFX0VWRU5UX1NJR05BTF9FWElULCBtYWluX3NpZ25hbF9leGl0LCAwKTsKIApkaWZmIC0tZ2l0
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybUVmbC5jbWFrZSBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggODQ5NjRjYzhhZTg3Y2YyMjEzNWJi
NDQ3YmUwODhkYzZlZjNlMGEyYy4uNTJhOTk1MTkxZTZmNDlmZjMwNTA0NDg3YTFmZjEzMzQ2NTJh
MjJkNSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybUVmbC5jbWFr
ZQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC0yNiw2
ICsyNiw3IEBAIExJU1QoQVBQRU5EIFdlYktpdFRlc3RSdW5uZXJfU09VUkNFUwogCiBMSVNUKEFQ
UEVORCBXZWJLaXRUZXN0UnVubmVyX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAke1RPT0xTX0RJ
Un0vRHVtcFJlbmRlclRyZWUvZWZsLworICAgICR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9BUEkv
ZWZsCiAgICAgIiR7V1RGX0RJUn0vd3RmL2dvYmplY3QiCiAKICAgICAke0NBSVJPX0lOQ0xVREVf
RElSU30KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZWZsL1BsYXRmb3JtV2Vi
Vmlld0VmbC5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2VmbC9QbGF0Zm9ybVdlYlZpZXdF
ZmwuY3BwCmluZGV4IGYxNzgyMGQ5MWY0ODM4ZjIwZDYxNmJhNmYwZGViMGNiNTNlNTU2MDQuLjcy
M2Y1NGI2ZjYwYWUyZjNiYjlmMDM1M2IyNjkyMGUxMzgxNTI1NzEgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvZWZsL1BsYXRmb3JtV2ViVmlld0VmbC5jcHAKKysrIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9lZmwvUGxhdGZvcm1XZWJWaWV3RWZsLmNwcApAQCAtMjAsNiArMjAs
NyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlBsYXRmb3JtV2ViVmlldy5oIgog
CisjaW5jbHVkZSAiRVdlYktpdDIuaCIKICNpbmNsdWRlICJXZWJLaXQyL1dLQVBJQ2FzdC5oIgog
I2luY2x1ZGUgPEVjb3JlX0V2YXMuaD4KIApAQCAtNDYsNiArNDcsOCBAQCBQbGF0Zm9ybVdlYlZp
ZXc6OlBsYXRmb3JtV2ViVmlldyhXS0NvbnRleHRSZWYgY29udGV4dCwgV0tQYWdlR3JvdXBSZWYg
cGFnZUdyb3VwKQogICAgIG1fd2luZG93ID0gaW5pdEVjb3JlRXZhcygpOwogICAgIEV2YXMqIGV2
YXMgPSBlY29yZV9ldmFzX2dldChtX3dpbmRvdyk7CiAgICAgbV92aWV3ID0gdG9JbXBsKFdLVmll
d0NyZWF0ZShldmFzLCBjb250ZXh0LCBwYWdlR3JvdXApKTsKKworICAgIGV3a192aWV3X3RoZW1l
X3NldChtX3ZpZXcsIERBVEFfRElSIi9kZWZhdWx0LmVkaiIpOwogICAgIG1fd2luZG93SXNLZXkg
PSBmYWxzZTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151039</attachid>
            <date>2012-07-06 01:58:17 -0700</date>
            <delta_ts>2012-07-09 15:50:14 -0700</delta_ts>
            <desc>Take Dominik&apos;s suggestion</desc>
            <filename>bug-90107-20120706175816.patch</filename>
            <type>text/plain</type>
            <size>9217</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxOTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOGYwNTJiNzU0NjBlYjMx
M2M0Zjk0MzY5NWNmNjkzYTQ2MzU2MDNhNy4uMzI1ODQ2NzA1YjNlNGU2NzI0OGJlY2JiODA4NWY2
Y2ZkYjQyMTZmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTA3LTA2ICBSeXVh
biBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIEFk
ZCBBUElzIHRvIHN1cHBvcnQgdGhlbWUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05MDEwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFJlbmRlclRoZW1lRWZsIHVzZXMgZWRqIGZpbGUgdG8gcmVuZGVyIG5h
dGl2ZSB0aGVtZSBvZiBmb3JtIGVsZW1lbnRzLgorICAgICAgICBUaGlzIHBhdGNoIHByb3ZpZGVz
IGRlZmF1bHQgdGhlbWUgYW5kIGEgd2F5IHRvIGNoYW5nZSBlZGogdGhlbWUgZmlsZSBmb3IKKyAg
ICAgICAgV2ViS2l0Mi9FZmwuCisKKyAgICAgICAgKiBQbGF0Zm9ybUVmbC5jbWFrZToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHA6CisgICAgICAgIChfRXdrX1ZpZXdf
UHJpdmF0ZV9EYXRhKToKKyAgICAgICAgKGV3a192aWV3X2Jhc2VfYWRkKToKKyAgICAgICAgKGV3
a192aWV3X3RoZW1lX3NldCk6CisgICAgICAgIChld2tfdmlld190aGVtZV9nZXQpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oOgorICAgICAgICAoV2ViUGFnZVByb3h5KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvZWZsL1dlYlBhZ2VQcm94eUVmbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94
eTo6c2V0VGhlbWVQYXRoKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5o
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9lZmwvV2ViUGFnZUVmbC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2U6OnNldFRoZW1lUGF0aCk6CisKIDIwMTItMDctMDUgIENocmlzdG9waGUg
RHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KIAogICAgICAgICBbV0syXVtFRkxd
IEV3a19WaWV3IG5lZWRzIHRvIHJlcG9ydCBsb2FkIHN0YXR1cyBjaGFuZ2VzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtRWZsLmNtYWtlCmluZGV4IDdkMDYxODRjMWJiOWRkZWI2YTc1ZWVlMjNlYzc1YzdiOTdjOGFi
ZDUuLjIwZWE1MWNjNWY2ZjNhZDgyYTI5NjM0MWQ5YThkYzE4MWJkZWVjYzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtRWZsLmNtYWtlCkBAIC0xNDcsNiArMTQ3LDggQEAgTElTVCAoQVBQRU5EIFdlYlByb2Nl
c3NfTElCUkFSSUVTCiAgICAgJHtTUUxJVEVfTElCUkFSSUVTfQogKQogCitBRERfREVGSU5JVElP
TlMoLURERUZBVUxUX1RIRU1FX1BBVEg9XCIke1RIRU1FX0JJTkFSWV9ESVJ9XCIpCisKIEFERF9D
VVNUT01fVEFSR0VUKGZvcndhcmRpbmctaGVhZGVyRWZsCiAgICAgQ09NTUFORCAke1BFUkxfRVhF
Q1VUQUJMRX0gJHtXRUJLSVQyX0RJUn0vU2NyaXB0cy9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRl
cnMucGwgJHtXRUJLSVQyX0RJUn0gJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUMl9ESVJ9L2luY2x1
ZGUgZWZsCiApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9l
d2tfdmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5j
cHAKaW5kZXggZWI2YjE1YmI1ZTFiYzI1MGRhZGM2YzAwOGFiNzA3YzkwNjQ3ZmIzOS4uMzY0YWJj
MDJhMWRiYjJiZTAwY2JhMDk1YTcwYmMzMGNmMjkzMTc5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcApAQCAtNDUsNiArNDUsNyBAQCBzdHJ1Y3Qg
X0V3a19WaWV3X1ByaXZhdGVfRGF0YSB7CiAgICAgT3duUHRyPFBhZ2VDbGllbnRJbXBsPiBwYWdl
Q2xpZW50OwogICAgIGNvbnN0IGNoYXIqIHVyaTsKICAgICBjb25zdCBjaGFyKiB0aXRsZTsKKyAg
ICBjb25zdCBjaGFyKiB0aGVtZTsKIH07CiAKICNkZWZpbmUgRVdLX1ZJRVdfVFlQRV9DSEVDSyhl
d2tWaWV3LCByZXN1bHQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCkBAIC00
OTcsNiArNDk4LDggQEAgRXZhc19PYmplY3QqIGV3a192aWV3X2Jhc2VfYWRkKEV2YXMqIGNhbnZh
cywgV0tDb250ZXh0UmVmIGNvbnRleHRSZWYsIFdLUGFnZUdyb3UKICAgICBld2tfdmlld19sb2Fk
ZXJfY2xpZW50X2F0dGFjaCh0b0FQSShwcml2LT5wYWdlQ2xpZW50LT5wYWdlKCkpLCBld2tWaWV3
KTsKICAgICBld2tfdmlld19yZXNvdXJjZV9sb2FkX2NsaWVudF9hdHRhY2godG9BUEkocHJpdi0+
cGFnZUNsaWVudC0+cGFnZSgpKSwgZXdrVmlldyk7CiAKKyAgICBld2tfdmlld190aGVtZV9zZXQo
ZXdrVmlldywgREVGQVVMVF9USEVNRV9QQVRIIi9kZWZhdWx0LmVkaiIpOworCiAgICAgcmV0dXJu
IGV3a1ZpZXc7CiB9CiAKQEAgLTY0NCw2ICs2NDcsMjQgQEAgdm9pZCBld2tfdmlld19pbnRlbnRf
cmVxdWVzdF9uZXcoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGNvbnN0IEV3a19JbnRlbnQqIGV3a0lu
dGUKICNlbmRpZgogfQogCit2b2lkIGV3a192aWV3X3RoZW1lX3NldChFdmFzX09iamVjdCogZXdr
VmlldywgY29uc3QgY2hhciogcGF0aCkKK3sKKyAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJO
KGV3a1ZpZXcsIHNtYXJ0RGF0YSk7CisgICAgRVdLX1ZJRVdfUFJJVl9HRVRfT1JfUkVUVVJOKHNt
YXJ0RGF0YSwgcHJpdik7CisKKyAgICBpZiAoIWVpbmFfc3RyaW5nc2hhcmVfcmVwbGFjZSgmcHJp
di0+dGhlbWUsIHBhdGgpKQorICAgICAgICByZXR1cm47CisKKyAgICBwcml2LT5wYWdlQ2xpZW50
LT5wYWdlKCktPnNldFRoZW1lUGF0aChwYXRoKTsKK30KKworY29uc3QgY2hhciogZXdrX3ZpZXdf
dGhlbWVfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0KiBld2tWaWV3KQoreworICAgIEVXS19WSUVXX1NE
X0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21hcnREYXRhLCAwKTsKKyAgICBFV0tfVklFV19QUklW
X0dFVF9PUl9SRVRVUk4oc21hcnREYXRhLCBwcml2LCAwKTsKKyAgICByZXR1cm4gcHJpdi0+dGhl
bWU7Cit9CisKIHZvaWQgZXdrX3ZpZXdfZGlzcGxheShFdmFzX09iamVjdCogZXdrVmlldywgY29u
c3QgSW50UmVjdCYgcmVjdCkKIHsKICAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKGV3a1Zp
ZXcsIHNtYXJ0RGF0YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfdmlldy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3Zp
ZXcuaAppbmRleCBhMWEzYTdkYjdlNGUyN2UzYTZlY2I5NDNmMmExY2NjODk1ODY0MzQyLi4xYjc3
MzVkMTU3YTBkM2FiM2VkYjkxNjk3N2Y2ZTcxYzlmNDJlMDM3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmgKQEAgLTM2Myw2ICszNjMsMjkgQEAgRUFQSSBm
bG9hdCBld2tfdmlld19kZXZpY2VfcGl4ZWxfcmF0aW9fZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpv
KTsKICAqLwogRUFQSSBFaW5hX0Jvb2wgZXdrX3ZpZXdfZGV2aWNlX3BpeGVsX3JhdGlvX3NldChF
dmFzX09iamVjdCAqbywgZmxvYXQgcmF0aW8pOwogCisvKioKKyAqIFNldHMgdGhlIHRoZW1lIHBh
dGggdGhhdCB3aWxsIGJlIHVzZWQgYnkgdGhpcyB2aWV3LgorICoKKyAqIFRoaXMgYWxzbyBzZXRz
IHRoZSB0aGVtZSBvbiB0aGUgbWFpbiBmcmFtZS4gQXMgZnJhbWVzIGluaGVyaXQgdGhlbWUKKyAq
IGZyb20gdGhlaXIgcGFyZW50LCB0aGlzIHdpbGwgaGF2ZSBhbGwgZnJhbWVzIHdpdGggdW5zZXQg
dGhlbWUgdG8KKyAqIHVzZSB0aGlzIG9uZS4KKyAqCisgKiBAcGFyYW0gbyB2aWV3IG9iamVjdCB0
byBjaGFuZ2UgdGhlbWUKKyAqIEBwYXJhbSBwYXRoIHRoZW1lIHBhdGgsIG1heSBiZSBAYyAwIHRv
IHJlc2V0IHRvIHRoZSBkZWZhdWx0IHRoZW1lCisgKi8KK0VBUEkgdm9pZCBld2tfdmlld190aGVt
ZV9zZXQoRXZhc19PYmplY3QgKm8sIGNvbnN0IGNoYXIgKnBhdGgpOworCisvKioKKyAqIEdldHMg
dGhlIHRoZW1lIHNldCBvbiB0aGlzIHZpZXcuCisgKgorICogVGhpcyByZXR1cm5zIHRoZSB2YWx1
ZSBzZXQgYnkgZXdrX3ZpZXdfdGhlbWVfc2V0KCkuCisgKgorICogQHBhcmFtIG8gdmlldyBvYmpl
Y3QgdG8gZ2V0IHRoZW1lIHBhdGgKKyAqCisgKiBAcmV0dXJuIHRoZSB0aGVtZSBwYXRoLCBtYXkg
YmUgQGMgMCBpZiBub3Qgc2V0CisgKi8KK0VBUEkgY29uc3QgY2hhciAqZXdrX3ZpZXdfdGhlbWVf
Z2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA1N2FiODZjMjQy
OTNiMWFkMjIyMjQxMmViNThlOWE5ZjU2YzhjNTQ4Li42Yzc4NWVhNWE3NGE4ODUzNmU1N2QzNGFi
OTg0MGU2OTE3N2Q2OWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
CkBAIC0zNjIsNiArMzYyLDkgQEAgcHVibGljOgogICAgIHZvaWQgcHJveHlBdXRoZW50aWNhdGlv
blJlcXVpcmVkUmVxdWVzdChjb25zdCBTdHJpbmcmIGhvc3RuYW1lLCB1aW50MTZfdCBwb3J0LCBj
b25zdCBTdHJpbmcmIHByZWZpbGxlZFVzZXJuYW1lLCBTdHJpbmcmIHVzZXJuYW1lLCBTdHJpbmcm
IHBhc3N3b3JkKTsKICAgICB2b2lkIHNldFVzZXJTY3JpcHRzKGNvbnN0IFZlY3RvcjxTdHJpbmc+
Jik7CiAjZW5kaWYgLy8gUExBVEZPUk0oUVQpLgorI2lmIFBMQVRGT1JNKEVGTCkKKyAgICB2b2lk
IHNldFRoZW1lUGF0aChjb25zdCBTdHJpbmcmKTsKKyNlbmRpZgogCiAjaWYgUExBVEZPUk0oUVQp
CiAgICAgdm9pZCBzZXRDb21wb3NpdGlvbihjb25zdCBTdHJpbmcmIHRleHQsIFZlY3RvcjxXZWJD
b3JlOjpDb21wb3NpdGlvblVuZGVybGluZT4gdW5kZXJsaW5lcywgdWludDY0X3Qgc2VsZWN0aW9u
U3RhcnQsIHVpbnQ2NF90IHNlbGVjdGlvbkVuZCwgdWludDY0X3QgcmVwbGFjZW1lbnRSYW5nZVN0
YXJ0LCB1aW50NjRfdCByZXBsYWNlbWVudFJhbmdlRW5kKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViUGFnZVByb3h5RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9lZmwvV2ViUGFnZVByb3h5RWZsLmNwcAppbmRleCBiMDc2YjRlZjY5MzM1OTg0
NDVhY2YyN2Q1NzYwMWMxOGFkMTQ3MTE5Li5lMWVkYTEwMzUzYThjZTVjYzkyN2ZiZjU3Y2U0ZDUw
YjYxNWVlZjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlBh
Z2VQcm94eUVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJQYWdl
UHJveHlFZmwuY3BwCkBAIC0yOCw2ICsyOCw4IEBACiAKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRl
ZC5oIgogI2luY2x1ZGUgIlBhZ2VDbGllbnRJbXBsLmgiCisjaW5jbHVkZSAiV2ViUGFnZU1lc3Nh
Z2VzLmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5LmgiCiAKICNpbmNsdWRlIDxzeXMvdXRz
bmFtZS5oPgogCkBAIC03Niw0ICs3OCw5IEBAIHZvaWQgV2ViUGFnZVByb3h5Ojpsb2FkUmVjZW50
U2VhcmNoZXMoY29uc3QgU3RyaW5nJiwgVmVjdG9yPFN0cmluZz4mKQogICAgIG5vdEltcGxlbWVu
dGVkKCk7CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5OjpzZXRUaGVtZVBhdGgoY29uc3QgU3RyaW5n
JiB0aGVtZVBhdGgpCit7CisgICAgcHJvY2VzcygpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpT
ZXRUaGVtZVBhdGgodGhlbWVQYXRoKSwgbV9wYWdlSUQsIDApOworfQorCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmlu
ZGV4IDFhMTNiNmNlNzQyNmVhZWI5ODhiZjQxNGJhZDFjNGYwMTYwMjY1OWYuLjZjZjAzNzU1ZmU4
MzAwNmE3Y2M0ODMwZWNiNmNlMWYzYjg1Mjg2NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtNDAzLDYgKzQwMywxMCBAQCBwdWJsaWM6CiAKICAg
ICBTYW5kYm94RXh0ZW5zaW9uVHJhY2tlciYgc2FuZGJveEV4dGVuc2lvblRyYWNrZXIoKSB7IHJl
dHVybiBtX3NhbmRib3hFeHRlbnNpb25UcmFja2VyOyB9CiAKKyNpZiBQTEFURk9STShFRkwpCisg
ICAgdm9pZCBzZXRUaGVtZVBhdGgoY29uc3QgU3RyaW5nJik7CisjZW5kaWYKKwogI2lmIFBMQVRG
T1JNKFFUKQogICAgIHZvaWQgc2V0Q29tcG9zaXRpb24oY29uc3QgU3RyaW5nJiB0ZXh0LCBWZWN0
b3I8V2ViQ29yZTo6Q29tcG9zaXRpb25VbmRlcmxpbmU+IHVuZGVybGluZXMsIHVpbnQ2NF90IHNl
bGVjdGlvblN0YXJ0LCB1aW50NjRfdCBzZWxlY3Rpb25FbmQsIHVpbnQ2NF90IHJlcGxhY2VtZW50
UmFuZ2VTdGFydCwgdWludDY0X3QgcmVwbGFjZW1lbnRSYW5nZUVuZCk7CiAgICAgdm9pZCBjb25m
aXJtQ29tcG9zaXRpb24oY29uc3QgU3RyaW5nJiB0ZXh0LCBpbnQ2NF90IHNlbGVjdGlvblN0YXJ0
LCBpbnQ2NF90IHNlbGVjdGlvbkxlbmd0aCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmluZGV4IDM4ZjM2YzJiZjhkODM4
YTcyZGFhMDMzNTMxMTJiNDA2NWQ2ZmMwYzIuLjIwNmM3ODYyNjIxMDVlYmI1NjI5ODdmYjg0Zjhj
NWM1ODhlNjE4ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC0yMzAsNiArMjMwLDEwIEBAIG1lc3NhZ2VzIC0+
IFdlYlBhZ2UgewogICAgIERlbGl2ZXJJbnRlbnRUb0ZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdl
YktpdDo6SW50ZW50RGF0YSBpbnRlbnREYXRhKTsKICNlbmRpZgogCisjaWYgUExBVEZPUk0oRUZM
KQorICAgIFNldFRoZW1lUGF0aChXVEY6OlN0cmluZyB0aGVtZVBhdGgpCisjZW5kaWYKKwogI2lm
IFBMQVRGT1JNKFFUKQogICAgIFNldENvbXBvc2l0aW9uKFdURjo6U3RyaW5nIHRleHQsIFdURjo6
VmVjdG9yPFdlYkNvcmU6OkNvbXBvc2l0aW9uVW5kZXJsaW5lPiB1bmRlcmxpbmVzLCB1aW50NjRf
dCBzZWxlY3Rpb25TdGFydCwgdWludDY0X3Qgc2VsZWN0aW9uRW5kLCB1aW50NjRfdCByZXBsYWNl
bWVudFJhbmdlU3RhcnQsIHVpbnQ2NF90IHJlcGxhY2VtZW50UmFuZ2VFbmQpCiAgICAgQ29uZmly
bUNvbXBvc2l0aW9uKFdURjo6U3RyaW5nIHRleHQsIGludDY0X3Qgc2VsZWN0aW9uU3RhcnQsIGlu
dDY0X3Qgc2VsZWN0aW9uTGVuZ3RoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL2VmbC9XZWJQYWdlRWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9lZmwvV2ViUGFnZUVmbC5jcHAKaW5kZXggZGYwZjE3Zjg3YTliZTE3MDE4NzQ2
MDdkNDk1ZWI4MzFlMmRhZTdkYS4uNmMxZWM4YmEyZjc3ZjE0YTFlNmQ1NGQ4MjI0MDAzMmQ5OTRh
OWMyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2VmbC9X
ZWJQYWdlRWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZWZs
L1dlYlBhZ2VFZmwuY3BwCkBAIC0zNCw5ICszNCwxMSBAQAogI2luY2x1ZGUgPFdlYkNvcmUvRWZs
S2V5Ym9hcmRVdGlsaXRpZXMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZvY3VzQ29udHJvbGxlci5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvRnJhbWUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1lVmll
dy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvS2V5Ym9hcmRFdmVudC5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvUGFnZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1LZXlib2FyZEV2ZW50Lmg+Cisj
aW5jbHVkZSA8V2ViQ29yZS9SZW5kZXJUaGVtZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2V0dGlu
Z3MuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CkBAIC0xMDQsNCArMTA2LDE3IEBAIGNv
bnN0IGNoYXIqIFdlYlBhZ2U6OmludGVycHJldEtleUV2ZW50KGNvbnN0IEtleWJvYXJkRXZlbnQq
IGV2ZW50KQogICAgIHJldHVybiBnZXRLZXlQcmVzc0NvbW1hbmROYW1lKGV2ZW50KTsKIH0KIAor
dm9pZCBXZWJQYWdlOjpzZXRUaGVtZVBhdGgoY29uc3QgU3RyaW5nJiB0aGVtZVBhdGgpCit7Cisg
ICAgRnJhbWUqIG1haW5GcmFtZSA9IG1fcGFnZS0+bWFpbkZyYW1lKCk7CisgICAgaWYgKCFtYWlu
RnJhbWUpCisgICAgICAgIHJldHVybjsKKworICAgIFdlYkNvcmU6OkZyYW1lVmlldyogdmlldyA9
IG1haW5GcmFtZS0+dmlldygpOworICAgIGlmICh2aWV3KSB7CisgICAgICAgIHZpZXctPnNldEVk
amVUaGVtZSh0aGVtZVBhdGgpOworICAgICAgICBtX3BhZ2UtPnRoZW1lKCktPnRoZW1lQ2hhbmdl
ZCgpOworICAgIH0KK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151335</attachid>
            <date>2012-07-09 15:50:23 -0700</date>
            <delta_ts>2012-07-16 14:55:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90107-20120710075021.patch</filename>
            <type>text/plain</type>
            <size>12702</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyMTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZDA0YmVkM2U0MmNiN2Fh
ODJlMDU4MmI1MjJlMzhmNDYyMmMyZWEwNi4uYTlhYjM0ZGRlYWNiM2VkMWRlNzBlMjIxYmYxNGMw
YzdiMjg1YzZmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTA3LTA5ICBSeXVh
biBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIEFk
ZCBBUElzIHRvIHN1cHBvcnQgdGhlbWUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05MDEwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFJlbmRlclRoZW1lRWZsIHVzZXMgZWRqIGZpbGUgdG8gcmVuZGVyIG5h
dGl2ZSB0aGVtZSBvZiBmb3JtIGVsZW1lbnRzLgorICAgICAgICBUaGlzIHBhdGNoIHByb3ZpZGVz
IGRlZmF1bHQgdGhlbWUgYW5kIGEgd2F5IHRvIGNoYW5nZSBlZGogdGhlbWUgZmlsZSBmb3IKKyAg
ICAgICAgV2ViS2l0Mi9FZmwuCisKKyAgICAgICAgKiBQbGF0Zm9ybUVmbC5jbWFrZToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHA6CisgICAgICAgIChfRXdrX1ZpZXdf
UHJpdmF0ZV9EYXRhKToKKyAgICAgICAgKGV3a192aWV3X2Jhc2VfYWRkKToKKyAgICAgICAgKGV3
a192aWV3X3RoZW1lX3NldCk6CisgICAgICAgIChld2tfdmlld190aGVtZV9nZXQpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oOgorICAgICAgICAoV2ViUGFnZVByb3h5KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvZWZsL1dlYlBhZ2VQcm94eUVmbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94
eTo6c2V0VGhlbWVQYXRoKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5o
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9lZmwvV2ViUGFnZUVmbC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2U6OnNldFRoZW1lUGF0aCk6CisKIDIwMTItMDctMDkgIENocmlzdG9waGUg
RHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KIAogICAgICAgICBbV0syXSBBZGQg
bWlzc2luZyBCYXR0ZXJ5IFN0YXR1cyBBUEkgaW50ZWdyYXRpb24gdG8gV2ViQ29udGV4dCBhbmQg
V2ViUGFnZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UgYi9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCA3ZDA2MTg0YzFiYjlkZGViNmE3
NWVlZTIzZWM3NWM3Yjk3YzhhYmQ1Li43MmM5YjdlYmQxZjNkZjEyMzRhN2JhODI4YTc3ZmM1OTRk
ODVjMGVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQpAQCAtMTQ3LDYgKzE0Nyw4IEBAIExJ
U1QgKEFQUEVORCBXZWJQcm9jZXNzX0xJQlJBUklFUwogICAgICR7U1FMSVRFX0xJQlJBUklFU30K
ICkKIAorQUREX0RFRklOSVRJT05TKC1EREVGQVVMVF9USEVNRV9QQVRIPVwiJHtDTUFLRV9JTlNU
QUxMX1BSRUZJWH0vJHtEQVRBX0lOU1RBTExfRElSfS90aGVtZXNcIikKKwogQUREX0NVU1RPTV9U
QVJHRVQoZm9yd2FyZGluZy1oZWFkZXJFZmwKICAgICBDT01NQU5EICR7UEVSTF9FWEVDVVRBQkxF
fSAke1dFQktJVDJfRElSfS9TY3JpcHRzL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbCAk
e1dFQktJVDJfRElSfSAke0RFUklWRURfU09VUkNFU19XRUJLSVQyX0RJUn0vaW5jbHVkZSBlZmwK
ICkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcAppbmRl
eCBlYjZiMTViYjVlMWJjMjUwZGFkYzZjMDA4YWI3MDdjOTA2NDdmYjM5Li4zNjRhYmMwMmExZGJi
MmJlMDBjYmEwOTVhNzBiYzMwY2YyOTMxNzlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCkBAIC00NSw2ICs0NSw3IEBAIHN0cnVjdCBfRXdrX1Zp
ZXdfUHJpdmF0ZV9EYXRhIHsKICAgICBPd25QdHI8UGFnZUNsaWVudEltcGw+IHBhZ2VDbGllbnQ7
CiAgICAgY29uc3QgY2hhciogdXJpOwogICAgIGNvbnN0IGNoYXIqIHRpdGxlOworICAgIGNvbnN0
IGNoYXIqIHRoZW1lOwogfTsKIAogI2RlZmluZSBFV0tfVklFV19UWVBFX0NIRUNLKGV3a1ZpZXcs
IHJlc3VsdCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKQEAgLTQ5Nyw2ICs0
OTgsOCBAQCBFdmFzX09iamVjdCogZXdrX3ZpZXdfYmFzZV9hZGQoRXZhcyogY2FudmFzLCBXS0Nv
bnRleHRSZWYgY29udGV4dFJlZiwgV0tQYWdlR3JvdQogICAgIGV3a192aWV3X2xvYWRlcl9jbGll
bnRfYXR0YWNoKHRvQVBJKHByaXYtPnBhZ2VDbGllbnQtPnBhZ2UoKSksIGV3a1ZpZXcpOwogICAg
IGV3a192aWV3X3Jlc291cmNlX2xvYWRfY2xpZW50X2F0dGFjaCh0b0FQSShwcml2LT5wYWdlQ2xp
ZW50LT5wYWdlKCkpLCBld2tWaWV3KTsKIAorICAgIGV3a192aWV3X3RoZW1lX3NldChld2tWaWV3
LCBERUZBVUxUX1RIRU1FX1BBVEgiL2RlZmF1bHQuZWRqIik7CisKICAgICByZXR1cm4gZXdrVmll
dzsKIH0KIApAQCAtNjQ0LDYgKzY0NywyNCBAQCB2b2lkIGV3a192aWV3X2ludGVudF9yZXF1ZXN0
X25ldyhFdmFzX09iamVjdCogZXdrVmlldywgY29uc3QgRXdrX0ludGVudCogZXdrSW50ZQogI2Vu
ZGlmCiB9CiAKK3ZvaWQgZXdrX3ZpZXdfdGhlbWVfc2V0KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBj
b25zdCBjaGFyKiBwYXRoKQoreworICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmll
dywgc21hcnREYXRhKTsKKyAgICBFV0tfVklFV19QUklWX0dFVF9PUl9SRVRVUk4oc21hcnREYXRh
LCBwcml2KTsKKworICAgIGlmICghZWluYV9zdHJpbmdzaGFyZV9yZXBsYWNlKCZwcml2LT50aGVt
ZSwgcGF0aCkpCisgICAgICAgIHJldHVybjsKKworICAgIHByaXYtPnBhZ2VDbGllbnQtPnBhZ2Uo
KS0+c2V0VGhlbWVQYXRoKHBhdGgpOworfQorCitjb25zdCBjaGFyKiBld2tfdmlld190aGVtZV9n
ZXQoY29uc3QgRXZhc19PYmplY3QqIGV3a1ZpZXcpCit7CisgICAgRVdLX1ZJRVdfU0RfR0VUX09S
X1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEsIDApOworICAgIEVXS19WSUVXX1BSSVZfR0VUX09S
X1JFVFVSTihzbWFydERhdGEsIHByaXYsIDApOworICAgIHJldHVybiBwcml2LT50aGVtZTsKK30K
Kwogdm9pZCBld2tfdmlld19kaXNwbGF5KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBjb25zdCBJbnRS
ZWN0JiByZWN0KQogewogICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21h
cnREYXRhKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3
a192aWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5oCmlu
ZGV4IGY2MDkyYTY0ZWEzMDA5MmVkYjU4NThkMDhjODVjNGE2MTBmMmVjYjAuLjJiYjc3MTc4ZTc2
N2VlZWUwNjBlMjhlMGMzNzY4ZmI2ZjVkMmZkNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaApAQCAtMzYyLDYgKzM2MiwyOSBAQCBFQVBJIGZsb2F0IGV3
a192aWV3X2RldmljZV9waXhlbF9yYXRpb19nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pOwogICov
CiBFQVBJIEVpbmFfQm9vbCBld2tfdmlld19kZXZpY2VfcGl4ZWxfcmF0aW9fc2V0KEV2YXNfT2Jq
ZWN0ICpvLCBmbG9hdCByYXRpbyk7CiAKKy8qKgorICogU2V0cyB0aGUgdGhlbWUgcGF0aCB0aGF0
IHdpbGwgYmUgdXNlZCBieSB0aGlzIHZpZXcuCisgKgorICogVGhpcyBhbHNvIHNldHMgdGhlIHRo
ZW1lIG9uIHRoZSBtYWluIGZyYW1lLiBBcyBmcmFtZXMgaW5oZXJpdCB0aGVtZQorICogZnJvbSB0
aGVpciBwYXJlbnQsIHRoaXMgd2lsbCBoYXZlIGFsbCBmcmFtZXMgd2l0aCB1bnNldCB0aGVtZSB0
bworICogdXNlIHRoaXMgb25lLgorICoKKyAqIEBwYXJhbSBvIHZpZXcgb2JqZWN0IHRvIGNoYW5n
ZSB0aGVtZQorICogQHBhcmFtIHBhdGggdGhlbWUgcGF0aCwgbWF5IGJlIEBjIDAgdG8gcmVzZXQg
dG8gdGhlIGRlZmF1bHQgdGhlbWUKKyAqLworRUFQSSB2b2lkIGV3a192aWV3X3RoZW1lX3NldChF
dmFzX09iamVjdCAqbywgY29uc3QgY2hhciAqcGF0aCk7CisKKy8qKgorICogR2V0cyB0aGUgdGhl
bWUgc2V0IG9uIHRoaXMgdmlldy4KKyAqCisgKiBUaGlzIHJldHVybnMgdGhlIHZhbHVlIHNldCBi
eSBld2tfdmlld190aGVtZV9zZXQoKS4KKyAqCisgKiBAcGFyYW0gbyB2aWV3IG9iamVjdCB0byBn
ZXQgdGhlbWUgcGF0aAorICoKKyAqIEByZXR1cm4gdGhlIHRoZW1lIHBhdGgsIG1heSBiZSBAYyAw
IGlmIG5vdCBzZXQKKyAqLworRUFQSSBjb25zdCBjaGFyICpld2tfdmlld190aGVtZV9nZXQoY29u
c3QgRXZhc19PYmplY3QgKm8pOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDU3YWI4NmMyNDI5M2IxYWQy
MjIyNDEyZWI1OGU5YTlmNTZjOGM1NDguLjZjNzg1ZWE1YTc0YTg4NTM2ZTU3ZDM0YWI5ODQwZTY5
MTc3ZDY5YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTM2
Miw2ICszNjIsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBwcm94eUF1dGhlbnRpY2F0aW9uUmVxdWly
ZWRSZXF1ZXN0KGNvbnN0IFN0cmluZyYgaG9zdG5hbWUsIHVpbnQxNl90IHBvcnQsIGNvbnN0IFN0
cmluZyYgcHJlZmlsbGVkVXNlcm5hbWUsIFN0cmluZyYgdXNlcm5hbWUsIFN0cmluZyYgcGFzc3dv
cmQpOwogICAgIHZvaWQgc2V0VXNlclNjcmlwdHMoY29uc3QgVmVjdG9yPFN0cmluZz4mKTsKICNl
bmRpZiAvLyBQTEFURk9STShRVCkuCisjaWYgUExBVEZPUk0oRUZMKQorICAgIHZvaWQgc2V0VGhl
bWVQYXRoKGNvbnN0IFN0cmluZyYpOworI2VuZGlmCiAKICNpZiBQTEFURk9STShRVCkKICAgICB2
b2lkIHNldENvbXBvc2l0aW9uKGNvbnN0IFN0cmluZyYgdGV4dCwgVmVjdG9yPFdlYkNvcmU6OkNv
bXBvc2l0aW9uVW5kZXJsaW5lPiB1bmRlcmxpbmVzLCB1aW50NjRfdCBzZWxlY3Rpb25TdGFydCwg
dWludDY0X3Qgc2VsZWN0aW9uRW5kLCB1aW50NjRfdCByZXBsYWNlbWVudFJhbmdlU3RhcnQsIHVp
bnQ2NF90IHJlcGxhY2VtZW50UmFuZ2VFbmQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2VmbC9XZWJQYWdlUHJveHlFZmwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2VmbC9XZWJQYWdlUHJveHlFZmwuY3BwCmluZGV4IGIwNzZiNGVmNjkzMzU5ODQ0NWFjZjI3
ZDU3NjAxYzE4YWQxNDcxMTkuLmUxZWRhMTAzNTNhOGNlNWNjOTI3ZmJmNTdjZTRkNTBiNjE1ZWVm
NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViUGFnZVByb3h5
RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlBhZ2VQcm94eUVm
bC5jcHAKQEAgLTI4LDYgKzI4LDggQEAKIAogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAj
aW5jbHVkZSAiUGFnZUNsaWVudEltcGwuaCIKKyNpbmNsdWRlICJXZWJQYWdlTWVzc2FnZXMuaCIK
KyNpbmNsdWRlICJXZWJQcm9jZXNzUHJveHkuaCIKIAogI2luY2x1ZGUgPHN5cy91dHNuYW1lLmg+
CiAKQEAgLTc2LDQgKzc4LDkgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmxvYWRSZWNlbnRTZWFyY2hl
cyhjb25zdCBTdHJpbmcmLCBWZWN0b3I8U3RyaW5nPiYpCiAgICAgbm90SW1wbGVtZW50ZWQoKTsK
IH0KIAordm9pZCBXZWJQYWdlUHJveHk6OnNldFRoZW1lUGF0aChjb25zdCBTdHJpbmcmIHRoZW1l
UGF0aCkKK3sKKyAgICBwcm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNldFRoZW1l
UGF0aCh0aGVtZVBhdGgpLCBtX3BhZ2VJRCwgMCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggMWEx
M2I2Y2U3NDI2ZWFlYjk4OGJmNDE0YmFkMWM0ZjAxNjAyNjU5Zi4uNmNmMDM3NTVmZTgzMDA2YTdj
YzQ4MzBlY2I2Y2UxZjNiODUyODY1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5oCkBAIC00MDMsNiArNDAzLDEwIEBAIHB1YmxpYzoKIAogICAgIFNhbmRi
b3hFeHRlbnNpb25UcmFja2VyJiBzYW5kYm94RXh0ZW5zaW9uVHJhY2tlcigpIHsgcmV0dXJuIG1f
c2FuZGJveEV4dGVuc2lvblRyYWNrZXI7IH0KIAorI2lmIFBMQVRGT1JNKEVGTCkKKyAgICB2b2lk
IHNldFRoZW1lUGF0aChjb25zdCBTdHJpbmcmKTsKKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oUVQp
CiAgICAgdm9pZCBzZXRDb21wb3NpdGlvbihjb25zdCBTdHJpbmcmIHRleHQsIFZlY3RvcjxXZWJD
b3JlOjpDb21wb3NpdGlvblVuZGVybGluZT4gdW5kZXJsaW5lcywgdWludDY0X3Qgc2VsZWN0aW9u
U3RhcnQsIHVpbnQ2NF90IHNlbGVjdGlvbkVuZCwgdWludDY0X3QgcmVwbGFjZW1lbnRSYW5nZVN0
YXJ0LCB1aW50NjRfdCByZXBsYWNlbWVudFJhbmdlRW5kKTsKICAgICB2b2lkIGNvbmZpcm1Db21w
b3NpdGlvbihjb25zdCBTdHJpbmcmIHRleHQsIGludDY0X3Qgc2VsZWN0aW9uU3RhcnQsIGludDY0
X3Qgc2VsZWN0aW9uTGVuZ3RoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5kZXggMzhmMzZjMmJmOGQ4MzhhNzJkYWEw
MzM1MzExMmI0MDY1ZDZmYzBjMi4uMjA2Yzc4NjI2MjEwNWViYjU2Mjk4N2ZiODRmOGM1YzU4OGU2
MThkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UubWVzc2FnZXMuaW4KQEAgLTIzMCw2ICsyMzAsMTAgQEAgbWVzc2FnZXMgLT4gV2ViUGFn
ZSB7CiAgICAgRGVsaXZlckludGVudFRvRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV2ViS2l0OjpJ
bnRlbnREYXRhIGludGVudERhdGEpOwogI2VuZGlmCiAKKyNpZiBQTEFURk9STShFRkwpCisgICAg
U2V0VGhlbWVQYXRoKFdURjo6U3RyaW5nIHRoZW1lUGF0aCkKKyNlbmRpZgorCiAjaWYgUExBVEZP
Uk0oUVQpCiAgICAgU2V0Q29tcG9zaXRpb24oV1RGOjpTdHJpbmcgdGV4dCwgV1RGOjpWZWN0b3I8
V2ViQ29yZTo6Q29tcG9zaXRpb25VbmRlcmxpbmU+IHVuZGVybGluZXMsIHVpbnQ2NF90IHNlbGVj
dGlvblN0YXJ0LCB1aW50NjRfdCBzZWxlY3Rpb25FbmQsIHVpbnQ2NF90IHJlcGxhY2VtZW50UmFu
Z2VTdGFydCwgdWludDY0X3QgcmVwbGFjZW1lbnRSYW5nZUVuZCkKICAgICBDb25maXJtQ29tcG9z
aXRpb24oV1RGOjpTdHJpbmcgdGV4dCwgaW50NjRfdCBzZWxlY3Rpb25TdGFydCwgaW50NjRfdCBz
ZWxlY3Rpb25MZW5ndGgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvZWZsL1dlYlBhZ2VFZmwuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL2VmbC9XZWJQYWdlRWZsLmNwcAppbmRleCBkZjBmMTdmODdhOWJlMTcwMTg3NDYwN2Q0OTVl
YjgzMWUyZGFlN2RhLi42YzFlYzhiYTJmNzdmMTRhMWU2ZDU0ZDgyMjQwMDMyZDk5NGE5YzI2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZWZsL1dlYlBhZ2VF
ZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9lZmwvV2ViUGFn
ZUVmbC5jcHAKQEAgLTM0LDkgKzM0LDExIEBACiAjaW5jbHVkZSA8V2ViQ29yZS9FZmxLZXlib2Fy
ZFV0aWxpdGllcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRm9jdXNDb250cm9sbGVyLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9GcmFtZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvRnJhbWVWaWV3Lmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9LZXlib2FyZEV2ZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QYWdl
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaD4KKyNpbmNsdWRl
IDxXZWJDb3JlL1JlbmRlclRoZW1lLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZXR0aW5ncy5oPgog
CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKQEAgLTEwNCw0ICsxMDYsMTcgQEAgY29uc3QgY2hh
ciogV2ViUGFnZTo6aW50ZXJwcmV0S2V5RXZlbnQoY29uc3QgS2V5Ym9hcmRFdmVudCogZXZlbnQp
CiAgICAgcmV0dXJuIGdldEtleVByZXNzQ29tbWFuZE5hbWUoZXZlbnQpOwogfQogCit2b2lkIFdl
YlBhZ2U6OnNldFRoZW1lUGF0aChjb25zdCBTdHJpbmcmIHRoZW1lUGF0aCkKK3sKKyAgICBGcmFt
ZSogbWFpbkZyYW1lID0gbV9wYWdlLT5tYWluRnJhbWUoKTsKKyAgICBpZiAoIW1haW5GcmFtZSkK
KyAgICAgICAgcmV0dXJuOworCisgICAgV2ViQ29yZTo6RnJhbWVWaWV3KiB2aWV3ID0gbWFpbkZy
YW1lLT52aWV3KCk7CisgICAgaWYgKHZpZXcpIHsKKyAgICAgICAgdmlldy0+c2V0RWRqZVRoZW1l
KHRoZW1lUGF0aCk7CisgICAgICAgIG1fcGFnZS0+dGhlbWUoKS0+dGhlbWVDaGFuZ2VkKCk7Cisg
ICAgfQorfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5n
ZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBkOWU5MGZhNjk5OWIzODhjMzE5ZTM3N2ExZjc5
MDdjYmU2ODc2MTExLi44OWVlNWRkMjg0ZjA4OTUzYWZlNzA4ZTZmMzYyMzQyZDJhNDdmYTIxIDEw
MDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTkgQEAKKzIwMTItMDctMDkgIFJ5dWFuIENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29t
PgorCisgICAgICAgIFtFRkxdW1dLMl0gQWRkIEFQSXMgdG8gc3VwcG9ydCB0aGVtZS4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwMTA3CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgT3ZlcnJpZGUgZGVmYXVs
dCB0aGVtZSBwYXRoIGZvciBNaW5pQnJvd3NlciBhbmQgV2ViS2l0VGVzdFJ1bm5lci4KKworICAg
ICAgICAqIE1pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBNaW5pQnJv
d3Nlci9lZmwvbWFpbi5jOgorICAgICAgICAoYnJvd3NlckNyZWF0ZSk6CisgICAgICAgICogV2Vi
S2l0VGVzdFJ1bm5lci9QbGF0Zm9ybUVmbC5jbWFrZToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVu
bmVyL2VmbC9QbGF0Zm9ybVdlYlZpZXdFZmwuY3BwOgorICAgICAgICAoV1RSOjpQbGF0Zm9ybVdl
YlZpZXc6OlBsYXRmb3JtV2ViVmlldyk6CisKIDIwMTItMDctMDkgIEFkYW0gS2xlaW4gIDxhZGFt
a0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVuYW1lIFdlYkNvcmU6OldlYktpdE11dGF0aW9u
T2JzZXJ2ZXIgdG8gV2ViQ29yZTo6TXV0YXRpb25PYnNlcnZlcgpkaWZmIC0tZ2l0IGEvVG9vbHMv
TWluaUJyb3dzZXIvZWZsL0NNYWtlTGlzdHMudHh0IGIvVG9vbHMvTWluaUJyb3dzZXIvZWZsL0NN
YWtlTGlzdHMudHh0CmluZGV4IGE2ZmQyZDU3ZTBmZjYxOWQ0YmQ0NzE1MTZlOThkNWNlN2I3NDEz
ZDYuLjgwOWI3NDhiZjY2NDE2MTdmYTEzMzk4MTY4OGEwMjE2M2FiYjg2NjggMTAwNjQ0Ci0tLSBh
L1Rvb2xzL01pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzLnR4dAorKysgYi9Ub29scy9NaW5pQnJv
d3Nlci9lZmwvQ01ha2VMaXN0cy50eHQKQEAgLTU1LDYgKzU1LDggQEAgQUREX0NVU1RPTV9UQVJH
RVQoZm9yd2FyZGluZy1oZWFkZXJNaW5pQnJvd3NlclNvdXAKICAgICBDT01NQU5EICR7UEVSTF9F
WEVDVVRBQkxFfSAke1dFQktJVDJfRElSfS9TY3JpcHRzL2dlbmVyYXRlLWZvcndhcmRpbmctaGVh
ZGVycy5wbCAke01pbmlCcm93c2VyX0RJUn0gJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUMl9ESVJ9
L2luY2x1ZGUgc291cAogKQogCitBRERfREVGSU5JVElPTlMoLUREQVRBX0RJUj1cIiR7VEhFTUVf
QklOQVJZX0RJUn1cIikKKwogSU5DTFVERV9ESVJFQ1RPUklFUygke01pbmlCcm93c2VyX0lOQ0xV
REVfRElSRUNUT1JJRVN9KQogCiBBRERfRVhFQ1VUQUJMRShNaW5pQnJvd3NlciAke01pbmlCcm93
c2VyX1NPVVJDRVN9KQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvZWZsL21haW4uYyBi
L1Rvb2xzL01pbmlCcm93c2VyL2VmbC9tYWluLmMKaW5kZXggZjE2MTRhYTM1OWU1YzJiNzY0NTFi
MGRiZDI4YTAxZWM3MGIxZTBlOC4uNGQ0Zjk5ZjhlZDNjZDU4MmRiYjBiMGU1MTVjYTE0NjM5OTc3
M2FjNCAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvZWZsL21haW4uYworKysgYi9Ub29s
cy9NaW5pQnJvd3Nlci9lZmwvbWFpbi5jCkBAIC0xNjMsNiArMTYzLDcgQEAgc3RhdGljIE1pbmlC
cm93c2VyICpicm93c2VyQ3JlYXRlKGNvbnN0IGNoYXIgKnVybCkKIAogICAgIC8qIENyZWF0ZSB3
ZWJ2aWV3ICovCiAgICAgYXBwLT5icm93c2VyID0gZXdrX3ZpZXdfYWRkKGFwcC0+ZXZhcyk7Cisg
ICAgZXdrX3ZpZXdfdGhlbWVfc2V0KGFwcC0+YnJvd3NlciwgREFUQV9ESVIiL2RlZmF1bHQuZWRq
Iik7CiAgICAgZXZhc19vYmplY3RfbmFtZV9zZXQoYXBwLT5icm93c2VyLCAiYnJvd3NlciIpOwog
CiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKGFwcC0+YnJvd3NlciwgImxvYWQs
ZXJyb3IiLCBvbl9lcnJvciwgYXBwKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvUGxhdGZvcm1FZmwuY21ha2UgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtRWZs
LmNtYWtlCmluZGV4IDg0OTY0Y2M4YWU4N2NmMjIxMzViYjQ0N2JlMDg4ZGM2ZWYzZTBhMmMuLjUy
YTk5NTE5MWU2ZjQ5ZmYzMDUwNDQ4N2ExZmYxMzM0NjUyYTIyZDUgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1FZmwuY21ha2UKKysrIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9QbGF0Zm9ybUVmbC5jbWFrZQpAQCAtMjYsNiArMjYsNyBAQCBMSVNUKEFQUEVORCBX
ZWJLaXRUZXN0UnVubmVyX1NPVVJDRVMKIAogTElTVChBUFBFTkQgV2ViS2l0VGVzdFJ1bm5lcl9J
TkNMVURFX0RJUkVDVE9SSUVTCiAgICAgJHtUT09MU19ESVJ9L0R1bXBSZW5kZXJUcmVlL2VmbC8K
KyAgICAke1dFQktJVDJfRElSfS9VSVByb2Nlc3MvQVBJL2VmbAogICAgICIke1dURl9ESVJ9L3d0
Zi9nb2JqZWN0IgogCiAgICAgJHtDQUlST19JTkNMVURFX0RJUlN9CmRpZmYgLS1naXQgYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL2VmbC9QbGF0Zm9ybVdlYlZpZXdFZmwuY3BwIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9lZmwvUGxhdGZvcm1XZWJWaWV3RWZsLmNwcAppbmRleCBmMTc4MjBkOTFm
NDgzOGYyMGQ2MTZiYTZmMGRlYjBjYjUzZTU1NjA0Li43MjNmNTRiNmY2MGFlMmYzYmI5ZjAzNTNi
MjY5MjBlMTM4MTUyNTcxIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2VmbC9Q
bGF0Zm9ybVdlYlZpZXdFZmwuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZWZsL1Bs
YXRmb3JtV2ViVmlld0VmbC5jcHAKQEAgLTIwLDYgKzIwLDcgQEAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJQbGF0Zm9ybVdlYlZpZXcuaCIKIAorI2luY2x1ZGUgIkVXZWJLaXQyLmgi
CiAjaW5jbHVkZSAiV2ViS2l0Mi9XS0FQSUNhc3QuaCIKICNpbmNsdWRlIDxFY29yZV9FdmFzLmg+
CiAKQEAgLTQ2LDYgKzQ3LDggQEAgUGxhdGZvcm1XZWJWaWV3OjpQbGF0Zm9ybVdlYlZpZXcoV0tD
b250ZXh0UmVmIGNvbnRleHQsIFdLUGFnZUdyb3VwUmVmIHBhZ2VHcm91cCkKICAgICBtX3dpbmRv
dyA9IGluaXRFY29yZUV2YXMoKTsKICAgICBFdmFzKiBldmFzID0gZWNvcmVfZXZhc19nZXQobV93
aW5kb3cpOwogICAgIG1fdmlldyA9IHRvSW1wbChXS1ZpZXdDcmVhdGUoZXZhcywgY29udGV4dCwg
cGFnZUdyb3VwKSk7CisKKyAgICBld2tfdmlld190aGVtZV9zZXQobV92aWV3LCBEQVRBX0RJUiIv
ZGVmYXVsdC5lZGoiKTsKICAgICBtX3dpbmRvd0lzS2V5ID0gZmFsc2U7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152619</attachid>
            <date>2012-07-16 14:55:22 -0700</date>
            <delta_ts>2012-07-16 15:14:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90107-20120717065522.patch</filename>
            <type>text/plain</type>
            <size>12838</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyNzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggY2I0NWNiYjNlZmM4ZTkz
NTZkZjU5OTJhNzc0ODI2NjIyYTJkOGQxZC4uNTdjZTBjMmNkMmJiYjRlMTIzYWY2NThhZTI5ZmE1
NmE2YjA0NWQ2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTA3LTE2ICBSeXVh
biBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIEFk
ZCBBUElzIHRvIHN1cHBvcnQgdGhlbWUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05MDEwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFJlbmRlclRoZW1lRWZsIHVzZXMgZWRqIGZpbGUgdG8gcmVuZGVyIG5h
dGl2ZSB0aGVtZSBvZiBmb3JtIGVsZW1lbnRzLgorICAgICAgICBUaGlzIHBhdGNoIHByb3ZpZGVz
IGRlZmF1bHQgdGhlbWUgYW5kIGEgd2F5IHRvIGNoYW5nZSBlZGogdGhlbWUgZmlsZSBmb3IKKyAg
ICAgICAgV2ViS2l0Mi9FZmwuCisKKyAgICAgICAgKiBQbGF0Zm9ybUVmbC5jbWFrZToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHA6CisgICAgICAgIChfRXdrX1ZpZXdf
UHJpdmF0ZV9EYXRhKToKKyAgICAgICAgKGV3a192aWV3X2Jhc2VfYWRkKToKKyAgICAgICAgKGV3
a192aWV3X3RoZW1lX3NldCk6CisgICAgICAgIChld2tfdmlld190aGVtZV9nZXQpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oOgorICAgICAgICAoV2ViUGFnZVByb3h5KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvZWZsL1dlYlBhZ2VQcm94eUVmbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94
eTo6c2V0VGhlbWVQYXRoKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5o
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9lZmwvV2ViUGFnZUVmbC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2U6OnNldFRoZW1lUGF0aCk6CisKIDIwMTItMDctMTYgIEtpaG9uZyBLd29u
ICA8a2lob25nLmt3b25Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgUmVtb3ZlIHNldENvbnRyb2xs
ZXIgZnJvbSBCYXR0ZXJ5Q2xpZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IDk4NzBl
MGUyZTkyNWE4M2Y5YTcwZWI1MmFkZjJlOWVmM2IwMWYzZjEuLmYzMjdlMjZhNWYwZmMxNmQzNmIz
Yzc3ZjIxYjlhNjk4ZWM0OGU4ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
RWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC0xNTYs
NiArMTU2LDggQEAgTElTVCAoQVBQRU5EIFdlYlByb2Nlc3NfTElCUkFSSUVTCiAgICAgJHtTUUxJ
VEVfTElCUkFSSUVTfQogKQogCitBRERfREVGSU5JVElPTlMoLURERUZBVUxUX1RIRU1FX1BBVEg9
XCIke0NNQUtFX0lOU1RBTExfUFJFRklYfS8ke0RBVEFfSU5TVEFMTF9ESVJ9L3RoZW1lc1wiKQor
CiBBRERfQ1VTVE9NX1RBUkdFVChmb3J3YXJkaW5nLWhlYWRlckVmbAogICAgIENPTU1BTkQgJHtQ
RVJMX0VYRUNVVEFCTEV9ICR7V0VCS0lUMl9ESVJ9L1NjcmlwdHMvZ2VuZXJhdGUtZm9yd2FyZGlu
Zy1oZWFkZXJzLnBsICR7V0VCS0lUMl9ESVJ9ICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVDJfRElS
fS9pbmNsdWRlIGVmbAogKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX3ZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X3ZpZXcuY3BwCmluZGV4IDQ3M2Q2N2NjMTJlNzQ2NzVjZTM4ODFlNTE5NTkwOTBkNWUwYWRiZTcu
LmQwM2FlNDNjYjU4ZjgxYTE1ZDc0MjVjYjRjYTc5MjM4ZWVmZDFiYWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAKQEAgLTUwNyw2ICs1MDcsOCBA
QCBFdmFzX09iamVjdCogZXdrX3ZpZXdfYmFzZV9hZGQoRXZhcyogY2FudmFzLCBXS0NvbnRleHRS
ZWYgY29udGV4dFJlZiwgV0tQYWdlR3JvdQogICAgIGV3a192aWV3X3BvbGljeV9jbGllbnRfYXR0
YWNoKHRvQVBJKHByaXYtPnBhZ2VDbGllbnQtPnBhZ2UoKSksIGV3a1ZpZXcpOwogICAgIGV3a192
aWV3X3Jlc291cmNlX2xvYWRfY2xpZW50X2F0dGFjaCh0b0FQSShwcml2LT5wYWdlQ2xpZW50LT5w
YWdlKCkpLCBld2tWaWV3KTsKIAorICAgIGV3a192aWV3X3RoZW1lX3NldChld2tWaWV3LCBERUZB
VUxUX1RIRU1FX1BBVEgiL2RlZmF1bHQuZWRqIik7CisKICAgICByZXR1cm4gZXdrVmlldzsKIH0K
IApAQCAtNzM4LDYgKzc0MCwyNCBAQCB2b2lkIGV3a192aWV3X2ludGVudF9yZXF1ZXN0X25ldyhF
dmFzX09iamVjdCogZXdrVmlldywgY29uc3QgRXdrX0ludGVudCogZXdrSW50ZQogI2VuZGlmCiB9
CiAKK3ZvaWQgZXdrX3ZpZXdfdGhlbWVfc2V0KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBjb25zdCBj
aGFyKiBwYXRoKQoreworICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21h
cnREYXRhKTsKKyAgICBFV0tfVklFV19QUklWX0dFVF9PUl9SRVRVUk4oc21hcnREYXRhLCBwcml2
KTsKKworICAgIGlmICghZWluYV9zdHJpbmdzaGFyZV9yZXBsYWNlKCZwcml2LT50aGVtZSwgcGF0
aCkpCisgICAgICAgIHJldHVybjsKKworICAgIHByaXYtPnBhZ2VDbGllbnQtPnBhZ2UoKS0+c2V0
VGhlbWVQYXRoKHBhdGgpOworfQorCitjb25zdCBjaGFyKiBld2tfdmlld190aGVtZV9nZXQoY29u
c3QgRXZhc19PYmplY3QqIGV3a1ZpZXcpCit7CisgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVS
Tihld2tWaWV3LCBzbWFydERhdGEsIDApOworICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVS
TihzbWFydERhdGEsIHByaXYsIDApOworICAgIHJldHVybiBwcml2LT50aGVtZTsKK30KKwogdm9p
ZCBld2tfdmlld19kaXNwbGF5KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBjb25zdCBJbnRSZWN0JiBy
ZWN0KQogewogICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21hcnREYXRh
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3
LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5oCmluZGV4IDJi
NjYxOGVmZTA2NDUyZDkzZDZmMmU2OTAzMTJkMzQ3OTQ2NTEyMmQuLjcxMDBjZDIzNzM3NTg2ZDg3
MTE3NjE1ZTUzMmZhNDJmM2IwNDBiNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL2V3a192aWV3LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX3ZpZXcuaApAQCAtMzk3LDYgKzM5NywyOSBAQCBFQVBJIGZsb2F0IGV3a192aWV3
X2RldmljZV9waXhlbF9yYXRpb19nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pOwogICovCiBFQVBJ
IEVpbmFfQm9vbCBld2tfdmlld19kZXZpY2VfcGl4ZWxfcmF0aW9fc2V0KEV2YXNfT2JqZWN0ICpv
LCBmbG9hdCByYXRpbyk7CiAKKy8qKgorICogU2V0cyB0aGUgdGhlbWUgcGF0aCB0aGF0IHdpbGwg
YmUgdXNlZCBieSB0aGlzIHZpZXcuCisgKgorICogVGhpcyBhbHNvIHNldHMgdGhlIHRoZW1lIG9u
IHRoZSBtYWluIGZyYW1lLiBBcyBmcmFtZXMgaW5oZXJpdCB0aGVtZQorICogZnJvbSB0aGVpciBw
YXJlbnQsIHRoaXMgd2lsbCBoYXZlIGFsbCBmcmFtZXMgd2l0aCB1bnNldCB0aGVtZSB0bworICog
dXNlIHRoaXMgb25lLgorICoKKyAqIEBwYXJhbSBvIHZpZXcgb2JqZWN0IHRvIGNoYW5nZSB0aGVt
ZQorICogQHBhcmFtIHBhdGggdGhlbWUgcGF0aCwgbWF5IGJlIEBjIDAgdG8gcmVzZXQgdG8gdGhl
IGRlZmF1bHQgdGhlbWUKKyAqLworRUFQSSB2b2lkIGV3a192aWV3X3RoZW1lX3NldChFdmFzX09i
amVjdCAqbywgY29uc3QgY2hhciAqcGF0aCk7CisKKy8qKgorICogR2V0cyB0aGUgdGhlbWUgc2V0
IG9uIHRoaXMgdmlldy4KKyAqCisgKiBUaGlzIHJldHVybnMgdGhlIHZhbHVlIHNldCBieSBld2tf
dmlld190aGVtZV9zZXQoKS4KKyAqCisgKiBAcGFyYW0gbyB2aWV3IG9iamVjdCB0byBnZXQgdGhl
bWUgcGF0aAorICoKKyAqIEByZXR1cm4gdGhlIHRoZW1lIHBhdGgsIG1heSBiZSBAYyAwIGlmIG5v
dCBzZXQKKyAqLworRUFQSSBjb25zdCBjaGFyICpld2tfdmlld190aGVtZV9nZXQoY29uc3QgRXZh
c19PYmplY3QgKm8pOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDZjN2U2ODgxMTQ2MmYwNzA0NjgyMjQx
MDkzMmJhMDMxMjViMjgyZWEuLjI5YTZjNjVjNTg4NjRiZTY0NDIxZTNjYzI4ZmY2NGRmZmFhODY0
NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTM2Miw2ICsz
NjIsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBwcm94eUF1dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1
ZXN0KGNvbnN0IFN0cmluZyYgaG9zdG5hbWUsIHVpbnQxNl90IHBvcnQsIGNvbnN0IFN0cmluZyYg
cHJlZmlsbGVkVXNlcm5hbWUsIFN0cmluZyYgdXNlcm5hbWUsIFN0cmluZyYgcGFzc3dvcmQpOwog
ICAgIHZvaWQgc2V0VXNlclNjcmlwdHMoY29uc3QgVmVjdG9yPFN0cmluZz4mKTsKICNlbmRpZiAv
LyBQTEFURk9STShRVCkuCisjaWYgUExBVEZPUk0oRUZMKQorICAgIHZvaWQgc2V0VGhlbWVQYXRo
KGNvbnN0IFN0cmluZyYpOworI2VuZGlmCiAKICNpZiBQTEFURk9STShRVCkKICAgICB2b2lkIHNl
dENvbXBvc2l0aW9uKGNvbnN0IFN0cmluZyYgdGV4dCwgVmVjdG9yPFdlYkNvcmU6OkNvbXBvc2l0
aW9uVW5kZXJsaW5lPiB1bmRlcmxpbmVzLCB1aW50NjRfdCBzZWxlY3Rpb25TdGFydCwgdWludDY0
X3Qgc2VsZWN0aW9uRW5kLCB1aW50NjRfdCByZXBsYWNlbWVudFJhbmdlU3RhcnQsIHVpbnQ2NF90
IHJlcGxhY2VtZW50UmFuZ2VFbmQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2VmbC9XZWJQYWdlUHJveHlFZmwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2Vm
bC9XZWJQYWdlUHJveHlFZmwuY3BwCmluZGV4IGIwNzZiNGVmNjkzMzU5ODQ0NWFjZjI3ZDU3NjAx
YzE4YWQxNDcxMTkuLmUxZWRhMTAzNTNhOGNlNWNjOTI3ZmJmNTdjZTRkNTBiNjE1ZWVmNTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViUGFnZVByb3h5RWZsLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlBhZ2VQcm94eUVmbC5jcHAK
QEAgLTI4LDYgKzI4LDggQEAKIAogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVk
ZSAiUGFnZUNsaWVudEltcGwuaCIKKyNpbmNsdWRlICJXZWJQYWdlTWVzc2FnZXMuaCIKKyNpbmNs
dWRlICJXZWJQcm9jZXNzUHJveHkuaCIKIAogI2luY2x1ZGUgPHN5cy91dHNuYW1lLmg+CiAKQEAg
LTc2LDQgKzc4LDkgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmxvYWRSZWNlbnRTZWFyY2hlcyhjb25z
dCBTdHJpbmcmLCBWZWN0b3I8U3RyaW5nPiYpCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAor
dm9pZCBXZWJQYWdlUHJveHk6OnNldFRoZW1lUGF0aChjb25zdCBTdHJpbmcmIHRoZW1lUGF0aCkK
K3sKKyAgICBwcm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNldFRoZW1lUGF0aCh0
aGVtZVBhdGgpLCBtX3BhZ2VJRCwgMCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggZDIzNGExZGE0
NjdjNmUwMjExOGFiZmQxYmU1NWZhYjczY2U2NWQzMi4uODZlOTE2YzQwZWZkY2Y0NTliYWRiM2Q5
YTgwOWY1ZWViNDk0NjVmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oCkBAIC00MDMsNiArNDAzLDEwIEBAIHB1YmxpYzoKIAogICAgIFNhbmRib3hFeHRl
bnNpb25UcmFja2VyJiBzYW5kYm94RXh0ZW5zaW9uVHJhY2tlcigpIHsgcmV0dXJuIG1fc2FuZGJv
eEV4dGVuc2lvblRyYWNrZXI7IH0KIAorI2lmIFBMQVRGT1JNKEVGTCkKKyAgICB2b2lkIHNldFRo
ZW1lUGF0aChjb25zdCBTdHJpbmcmKTsKKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oUVQpCiAgICAg
dm9pZCBzZXRDb21wb3NpdGlvbihjb25zdCBTdHJpbmcmIHRleHQsIFZlY3RvcjxXZWJDb3JlOjpD
b21wb3NpdGlvblVuZGVybGluZT4gdW5kZXJsaW5lcywgdWludDY0X3Qgc2VsZWN0aW9uU3RhcnQs
IHVpbnQ2NF90IHNlbGVjdGlvbkVuZCwgdWludDY0X3QgcmVwbGFjZW1lbnRSYW5nZVN0YXJ0LCB1
aW50NjRfdCByZXBsYWNlbWVudFJhbmdlRW5kKTsKICAgICB2b2lkIGNvbmZpcm1Db21wb3NpdGlv
bihjb25zdCBTdHJpbmcmIHRleHQsIGludDY0X3Qgc2VsZWN0aW9uU3RhcnQsIGludDY0X3Qgc2Vs
ZWN0aW9uTGVuZ3RoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5kZXggNzVmNzI0NWY1YzhhNTk3YTFiYWNjOTMxNWNi
NGM3N2RiYTYxYWNhNS4uNGMyNjBlYjkwNWQ2OWIyYzhjN2MxNTZmNTU3NGU5YmQyYzdiNGYyMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
bWVzc2FnZXMuaW4KQEAgLTIzMCw2ICsyMzAsMTAgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZSB7CiAg
ICAgRGVsaXZlckludGVudFRvRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV2ViS2l0OjpJbnRlbnRE
YXRhIGludGVudERhdGEpOwogI2VuZGlmCiAKKyNpZiBQTEFURk9STShFRkwpCisgICAgU2V0VGhl
bWVQYXRoKFdURjo6U3RyaW5nIHRoZW1lUGF0aCkKKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oUVQp
CiAgICAgU2V0Q29tcG9zaXRpb24oV1RGOjpTdHJpbmcgdGV4dCwgV1RGOjpWZWN0b3I8V2ViQ29y
ZTo6Q29tcG9zaXRpb25VbmRlcmxpbmU+IHVuZGVybGluZXMsIHVpbnQ2NF90IHNlbGVjdGlvblN0
YXJ0LCB1aW50NjRfdCBzZWxlY3Rpb25FbmQsIHVpbnQ2NF90IHJlcGxhY2VtZW50UmFuZ2VTdGFy
dCwgdWludDY0X3QgcmVwbGFjZW1lbnRSYW5nZUVuZCkKICAgICBDb25maXJtQ29tcG9zaXRpb24o
V1RGOjpTdHJpbmcgdGV4dCwgaW50NjRfdCBzZWxlY3Rpb25TdGFydCwgaW50NjRfdCBzZWxlY3Rp
b25MZW5ndGgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
ZWZsL1dlYlBhZ2VFZmwuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2Vm
bC9XZWJQYWdlRWZsLmNwcAppbmRleCBkZjBmMTdmODdhOWJlMTcwMTg3NDYwN2Q0OTVlYjgzMWUy
ZGFlN2RhLi42YzFlYzhiYTJmNzdmMTRhMWU2ZDU0ZDgyMjQwMDMyZDk5NGE5YzI2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZWZsL1dlYlBhZ2VFZmwuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9lZmwvV2ViUGFnZUVmbC5j
cHAKQEAgLTM0LDkgKzM0LDExIEBACiAjaW5jbHVkZSA8V2ViQ29yZS9FZmxLZXlib2FyZFV0aWxp
dGllcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRm9jdXNDb250cm9sbGVyLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9GcmFtZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvRnJhbWVWaWV3Lmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9LZXlib2FyZEV2ZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QYWdlLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaD4KKyNpbmNsdWRlIDxXZWJD
b3JlL1JlbmRlclRoZW1lLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZXR0aW5ncy5oPgogCiB1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKQEAgLTEwNCw0ICsxMDYsMTcgQEAgY29uc3QgY2hhciogV2Vi
UGFnZTo6aW50ZXJwcmV0S2V5RXZlbnQoY29uc3QgS2V5Ym9hcmRFdmVudCogZXZlbnQpCiAgICAg
cmV0dXJuIGdldEtleVByZXNzQ29tbWFuZE5hbWUoZXZlbnQpOwogfQogCit2b2lkIFdlYlBhZ2U6
OnNldFRoZW1lUGF0aChjb25zdCBTdHJpbmcmIHRoZW1lUGF0aCkKK3sKKyAgICBGcmFtZSogbWFp
bkZyYW1lID0gbV9wYWdlLT5tYWluRnJhbWUoKTsKKyAgICBpZiAoIW1haW5GcmFtZSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgV2ViQ29yZTo6RnJhbWVWaWV3KiB2aWV3ID0gbWFpbkZyYW1lLT52
aWV3KCk7CisgICAgaWYgKHZpZXcpIHsKKyAgICAgICAgdmlldy0+c2V0RWRqZVRoZW1lKHRoZW1l
UGF0aCk7CisgICAgICAgIG1fcGFnZS0+dGhlbWUoKS0+dGhlbWVDaGFuZ2VkKCk7CisgICAgfQor
fQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCBmNzM0NjQ2ODBlZWQzYjIxOGFjNWI3ZGI2ZjYyZGMyNjVj
N2JjNDYxLi45ZGE1YTJhNTJhOTc5MGY5MmQ0ZTVhMjdlZmQ4MmE3NmMzMThjODZkIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMTItMDctMTYgIFJ5dWFuIENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgorCisg
ICAgICAgIFtFRkxdW1dLMl0gQWRkIEFQSXMgdG8gc3VwcG9ydCB0aGVtZS4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwMTA3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgT3ZlcnJpZGUgZGVmYXVsdCB0aGVt
ZSBwYXRoIGZvciBNaW5pQnJvd3NlciBhbmQgV2ViS2l0VGVzdFJ1bm5lci4KKworICAgICAgICAq
IE1pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9l
ZmwvbWFpbi5jOgorICAgICAgICAoYnJvd3NlckNyZWF0ZSk6CisgICAgICAgICogV2ViS2l0VGVz
dFJ1bm5lci9QbGF0Zm9ybUVmbC5jbWFrZToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL2Vm
bC9QbGF0Zm9ybVdlYlZpZXdFZmwuY3BwOgorICAgICAgICAoV1RSOjpQbGF0Zm9ybVdlYlZpZXc6
OlBsYXRmb3JtV2ViVmlldyk6CisKIDIwMTItMDctMTYgIERpcmsgUHJhbmtlICA8ZHByYW5rZUBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgdGVzdC13ZWJraXRweTogY2xlYW4gdXAgbG9nZ2luZyB0
byBtYWtlIGl0IG5pbmphLWVzcXVlCmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9lZmwv
Q01ha2VMaXN0cy50eHQgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0cy50eHQKaW5k
ZXggYTZmZDJkNTdlMGZmNjE5ZDRiZDQ3MTUxNmU5OGQ1Y2U3Yjc0MTNkNi4uNTljZmM0ZmQxZmU0
MGE2YjhmMWNhZThjM2EyMDE5NzIzZmRjNzAzOSAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dz
ZXIvZWZsL0NNYWtlTGlzdHMudHh0CisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9DTWFrZUxp
c3RzLnR4dApAQCAtNTUsNiArNTUsOCBAQCBBRERfQ1VTVE9NX1RBUkdFVChmb3J3YXJkaW5nLWhl
YWRlck1pbmlCcm93c2VyU291cAogICAgIENPTU1BTkQgJHtQRVJMX0VYRUNVVEFCTEV9ICR7V0VC
S0lUMl9ESVJ9L1NjcmlwdHMvZ2VuZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJzLnBsICR7TWluaUJy
b3dzZXJfRElSfSAke0RFUklWRURfU09VUkNFU19XRUJLSVQyX0RJUn0vaW5jbHVkZSBzb3VwCiAp
CiAKK0FERF9ERUZJTklUSU9OUygtRFRIRU1FX0RJUj1cIiR7VEhFTUVfQklOQVJZX0RJUn1cIikK
KwogSU5DTFVERV9ESVJFQ1RPUklFUygke01pbmlCcm93c2VyX0lOQ0xVREVfRElSRUNUT1JJRVN9
KQogCiBBRERfRVhFQ1VUQUJMRShNaW5pQnJvd3NlciAke01pbmlCcm93c2VyX1NPVVJDRVN9KQpk
aWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvZWZsL21haW4uYyBiL1Rvb2xzL01pbmlCcm93
c2VyL2VmbC9tYWluLmMKaW5kZXggZjE2MTRhYTM1OWU1YzJiNzY0NTFiMGRiZDI4YTAxZWM3MGIx
ZTBlOC4uYTk3OWY1ZTU1NWYyZjJkY2Y4ZjBiMzg2MjA0MmJhZTZmYTI1OGE3NiAxMDA2NDQKLS0t
IGEvVG9vbHMvTWluaUJyb3dzZXIvZWZsL21haW4uYworKysgYi9Ub29scy9NaW5pQnJvd3Nlci9l
ZmwvbWFpbi5jCkBAIC0xNjMsNiArMTYzLDcgQEAgc3RhdGljIE1pbmlCcm93c2VyICpicm93c2Vy
Q3JlYXRlKGNvbnN0IGNoYXIgKnVybCkKIAogICAgIC8qIENyZWF0ZSB3ZWJ2aWV3ICovCiAgICAg
YXBwLT5icm93c2VyID0gZXdrX3ZpZXdfYWRkKGFwcC0+ZXZhcyk7CisgICAgZXdrX3ZpZXdfdGhl
bWVfc2V0KGFwcC0+YnJvd3NlciwgVEhFTUVfRElSIi9kZWZhdWx0LmVkaiIpOwogICAgIGV2YXNf
b2JqZWN0X25hbWVfc2V0KGFwcC0+YnJvd3NlciwgImJyb3dzZXIiKTsKIAogICAgIGV2YXNfb2Jq
ZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZChhcHAtPmJyb3dzZXIsICJsb2FkLGVycm9yIiwgb25fZXJy
b3IsIGFwcCk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtRWZs
LmNtYWtlIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCBl
NDNmZWJkMWE3ZDUzMDk5NTA0OTg1MzY3Y2MyYzliZjdmNzUxZmRhLi45NDJjMDAzZjI3NzViODhm
MTg2NGM2ODM1Zjc0NzFkNGRmOWYwYjlkIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxhdGZv
cm1FZmwuY21ha2UKQEAgLTI2LDYgKzI2LDcgQEAgTElTVChBUFBFTkQgV2ViS2l0VGVzdFJ1bm5l
cl9TT1VSQ0VTCiAKIExJU1QoQVBQRU5EIFdlYktpdFRlc3RSdW5uZXJfSU5DTFVERV9ESVJFQ1RP
UklFUwogICAgICR7VE9PTFNfRElSfS9EdW1wUmVuZGVyVHJlZS9lZmwvCisgICAgJHtXRUJLSVQy
X0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwKICAgICAiJHtXVEZfRElSfS93dGYvZ29iamVjdCIKIAog
ICAgICR7Q0FJUk9fSU5DTFVERV9ESVJTfQpAQCAtNTYsNCArNTcsNCBAQCBMSVNUKEFQUEVORCBX
ZWJLaXRUZXN0UnVubmVySW5qZWN0ZWRCdW5kbGVfU09VUkNFUwogIyBzdHJ1Y3R1cmUuIFNlZSA8
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxNDc1Pi4KIEFERF9ERUZJ
TklUSU9OUygtREZPTlRTX0NPTkZfRElSPSIke1RPT0xTX0RJUn0vRHVtcFJlbmRlclRyZWUvZ3Rr
L2ZvbnRzIgogICAgICAgICAgICAgICAgIC1ERE9XTkxPQURFRF9GT05UU19ESVI9IiR7Q01BS0Vf
U09VUkNFX0RJUn0vV2ViS2l0QnVpbGQvRGVwZW5kZW5jaWVzL1NvdXJjZS93ZWJraXRndGstdGVz
dC1mb250cy0wLjAuMyIKLSAgICAgICAgICAgICAgICAtRERBVEFfRElSPSIke1RIRU1FX0JJTkFS
WV9ESVJ9IikKKyAgICAgICAgICAgICAgICAtRFRIRU1FX0RJUj0iJHtUSEVNRV9CSU5BUllfRElS
fSIpCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2VmbC9QbGF0Zm9ybVdlYlZp
ZXdFZmwuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9lZmwvUGxhdGZvcm1XZWJWaWV3RWZs
LmNwcAppbmRleCBmMTc4MjBkOTFmNDgzOGYyMGQ2MTZiYTZmMGRlYjBjYjUzZTU1NjA0Li5jM2Mw
ODYzYzhmZWM4Njc3MjZiODNhMjBkZWE4YzYzMTEyOTUyZDk3IDEwMDY0NAotLS0gYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL2VmbC9QbGF0Zm9ybVdlYlZpZXdFZmwuY3BwCisrKyBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvZWZsL1BsYXRmb3JtV2ViVmlld0VmbC5jcHAKQEAgLTIwLDYgKzIwLDcg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVdlYlZpZXcuaCIKIAor
I2luY2x1ZGUgIkVXZWJLaXQyLmgiCiAjaW5jbHVkZSAiV2ViS2l0Mi9XS0FQSUNhc3QuaCIKICNp
bmNsdWRlIDxFY29yZV9FdmFzLmg+CiAKQEAgLTQ2LDYgKzQ3LDggQEAgUGxhdGZvcm1XZWJWaWV3
OjpQbGF0Zm9ybVdlYlZpZXcoV0tDb250ZXh0UmVmIGNvbnRleHQsIFdLUGFnZUdyb3VwUmVmIHBh
Z2VHcm91cCkKICAgICBtX3dpbmRvdyA9IGluaXRFY29yZUV2YXMoKTsKICAgICBFdmFzKiBldmFz
ID0gZWNvcmVfZXZhc19nZXQobV93aW5kb3cpOwogICAgIG1fdmlldyA9IHRvSW1wbChXS1ZpZXdD
cmVhdGUoZXZhcywgY29udGV4dCwgcGFnZUdyb3VwKSk7CisKKyAgICBld2tfdmlld190aGVtZV9z
ZXQobV92aWV3LCBUSEVNRV9ESVIiL2RlZmF1bHQuZWRqIik7CiAgICAgbV93aW5kb3dJc0tleSA9
IGZhbHNlOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152622</attachid>
            <date>2012-07-16 15:14:34 -0700</date>
            <delta_ts>2012-07-16 15:52:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90107-20120717071435.patch</filename>
            <type>text/plain</type>
            <size>13152</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyNzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggY2I0NWNiYjNlZmM4ZTkz
NTZkZjU5OTJhNzc0ODI2NjIyYTJkOGQxZC4uNTdjZTBjMmNkMmJiYjRlMTIzYWY2NThhZTI5ZmE1
NmE2YjA0NWQ2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTA3LTE2ICBSeXVh
biBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIEFk
ZCBBUElzIHRvIHN1cHBvcnQgdGhlbWUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05MDEwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFJlbmRlclRoZW1lRWZsIHVzZXMgZWRqIGZpbGUgdG8gcmVuZGVyIG5h
dGl2ZSB0aGVtZSBvZiBmb3JtIGVsZW1lbnRzLgorICAgICAgICBUaGlzIHBhdGNoIHByb3ZpZGVz
IGRlZmF1bHQgdGhlbWUgYW5kIGEgd2F5IHRvIGNoYW5nZSBlZGogdGhlbWUgZmlsZSBmb3IKKyAg
ICAgICAgV2ViS2l0Mi9FZmwuCisKKyAgICAgICAgKiBQbGF0Zm9ybUVmbC5jbWFrZToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHA6CisgICAgICAgIChfRXdrX1ZpZXdf
UHJpdmF0ZV9EYXRhKToKKyAgICAgICAgKGV3a192aWV3X2Jhc2VfYWRkKToKKyAgICAgICAgKGV3
a192aWV3X3RoZW1lX3NldCk6CisgICAgICAgIChld2tfdmlld190aGVtZV9nZXQpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oOgorICAgICAgICAoV2ViUGFnZVByb3h5KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvZWZsL1dlYlBhZ2VQcm94eUVmbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94
eTo6c2V0VGhlbWVQYXRoKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5o
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9lZmwvV2ViUGFnZUVmbC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2U6OnNldFRoZW1lUGF0aCk6CisKIDIwMTItMDctMTYgIEtpaG9uZyBLd29u
ICA8a2lob25nLmt3b25Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgUmVtb3ZlIHNldENvbnRyb2xs
ZXIgZnJvbSBCYXR0ZXJ5Q2xpZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IDk4NzBl
MGUyZTkyNWE4M2Y5YTcwZWI1MmFkZjJlOWVmM2IwMWYzZjEuLmYzMjdlMjZhNWYwZmMxNmQzNmIz
Yzc3ZjIxYjlhNjk4ZWM0OGU4ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
RWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC0xNTYs
NiArMTU2LDggQEAgTElTVCAoQVBQRU5EIFdlYlByb2Nlc3NfTElCUkFSSUVTCiAgICAgJHtTUUxJ
VEVfTElCUkFSSUVTfQogKQogCitBRERfREVGSU5JVElPTlMoLURERUZBVUxUX1RIRU1FX1BBVEg9
XCIke0NNQUtFX0lOU1RBTExfUFJFRklYfS8ke0RBVEFfSU5TVEFMTF9ESVJ9L3RoZW1lc1wiKQor
CiBBRERfQ1VTVE9NX1RBUkdFVChmb3J3YXJkaW5nLWhlYWRlckVmbAogICAgIENPTU1BTkQgJHtQ
RVJMX0VYRUNVVEFCTEV9ICR7V0VCS0lUMl9ESVJ9L1NjcmlwdHMvZ2VuZXJhdGUtZm9yd2FyZGlu
Zy1oZWFkZXJzLnBsICR7V0VCS0lUMl9ESVJ9ICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVDJfRElS
fS9pbmNsdWRlIGVmbAogKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX3ZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X3ZpZXcuY3BwCmluZGV4IDQ3M2Q2N2NjMTJlNzQ2NzVjZTM4ODFlNTE5NTkwOTBkNWUwYWRiZTcu
LjI0ZTVkMjgyZTZjYTBkYWRiMWFkN2MwNWE1NmM2YzQ0OTlhY2M2OTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAKQEAgLTU0LDEyICs1NCwxNCBA
QCBzdHJ1Y3QgX0V3a19WaWV3X1ByaXZhdGVfRGF0YSB7CiAgICAgX0V3a19WaWV3X1ByaXZhdGVf
RGF0YSgpCiAgICAgICAgIDogdXJpKDApCiAgICAgICAgICwgdGl0bGUoMCkKKyAgICAgICAgLCB0
aGVtZSgwKQogICAgIHsgfQogCiAgICAgfl9Fd2tfVmlld19Qcml2YXRlX0RhdGEoKQogICAgIHsK
ICAgICAgICAgZWluYV9zdHJpbmdzaGFyZV9kZWwodXJpKTsKICAgICAgICAgZWluYV9zdHJpbmdz
aGFyZV9kZWwodGl0bGUpOworICAgICAgICBlaW5hX3N0cmluZ3NoYXJlX2RlbCh0aGVtZSk7CiAg
ICAgfQogfTsKIApAQCAtNTA3LDYgKzUwOSw4IEBAIEV2YXNfT2JqZWN0KiBld2tfdmlld19iYXNl
X2FkZChFdmFzKiBjYW52YXMsIFdLQ29udGV4dFJlZiBjb250ZXh0UmVmLCBXS1BhZ2VHcm91CiAg
ICAgZXdrX3ZpZXdfcG9saWN5X2NsaWVudF9hdHRhY2godG9BUEkocHJpdi0+cGFnZUNsaWVudC0+
cGFnZSgpKSwgZXdrVmlldyk7CiAgICAgZXdrX3ZpZXdfcmVzb3VyY2VfbG9hZF9jbGllbnRfYXR0
YWNoKHRvQVBJKHByaXYtPnBhZ2VDbGllbnQtPnBhZ2UoKSksIGV3a1ZpZXcpOwogCisgICAgZXdr
X3ZpZXdfdGhlbWVfc2V0KGV3a1ZpZXcsIERFRkFVTFRfVEhFTUVfUEFUSCIvZGVmYXVsdC5lZGoi
KTsKKwogICAgIHJldHVybiBld2tWaWV3OwogfQogCkBAIC03MzgsNiArNzQyLDI0IEBAIHZvaWQg
ZXdrX3ZpZXdfaW50ZW50X3JlcXVlc3RfbmV3KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBjb25zdCBF
d2tfSW50ZW50KiBld2tJbnRlCiAjZW5kaWYKIH0KIAordm9pZCBld2tfdmlld190aGVtZV9zZXQo
RXZhc19PYmplY3QqIGV3a1ZpZXcsIGNvbnN0IGNoYXIqIHBhdGgpCit7CisgICAgRVdLX1ZJRVdf
U0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEpOworICAgIEVXS19WSUVXX1BSSVZf
R0VUX09SX1JFVFVSTihzbWFydERhdGEsIHByaXYpOworCisgICAgaWYgKCFlaW5hX3N0cmluZ3No
YXJlX3JlcGxhY2UoJnByaXYtPnRoZW1lLCBwYXRoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
cHJpdi0+cGFnZUNsaWVudC0+cGFnZSgpLT5zZXRUaGVtZVBhdGgocGF0aCk7Cit9CisKK2NvbnN0
IGNoYXIqIGV3a192aWV3X3RoZW1lX2dldChjb25zdCBFdmFzX09iamVjdCogZXdrVmlldykKK3sK
KyAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSwgMCk7Cisg
ICAgRVdLX1ZJRVdfUFJJVl9HRVRfT1JfUkVUVVJOKHNtYXJ0RGF0YSwgcHJpdiwgMCk7CisgICAg
cmV0dXJuIHByaXYtPnRoZW1lOworfQorCiB2b2lkIGV3a192aWV3X2Rpc3BsYXkoRXZhc19PYmpl
Y3QqIGV3a1ZpZXcsIGNvbnN0IEludFJlY3QmIHJlY3QpCiB7CiAgICAgRVdLX1ZJRVdfU0RfR0VU
X09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a192aWV3LmgKaW5kZXggMmI2NjE4ZWZlMDY0NTJkOTNkNmYyZTY5MDMxMmQz
NDc5NDY1MTIyZC4uNzEwMGNkMjM3Mzc1ODZkODcxMTc2MTVlNTMyZmE0MmYzYjA0MGI2MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5oCkBAIC0zOTcsNiAr
Mzk3LDI5IEBAIEVBUEkgZmxvYXQgZXdrX3ZpZXdfZGV2aWNlX3BpeGVsX3JhdGlvX2dldChjb25z
dCBFdmFzX09iamVjdCAqbyk7CiAgKi8KIEVBUEkgRWluYV9Cb29sIGV3a192aWV3X2RldmljZV9w
aXhlbF9yYXRpb19zZXQoRXZhc19PYmplY3QgKm8sIGZsb2F0IHJhdGlvKTsKIAorLyoqCisgKiBT
ZXRzIHRoZSB0aGVtZSBwYXRoIHRoYXQgd2lsbCBiZSB1c2VkIGJ5IHRoaXMgdmlldy4KKyAqCisg
KiBUaGlzIGFsc28gc2V0cyB0aGUgdGhlbWUgb24gdGhlIG1haW4gZnJhbWUuIEFzIGZyYW1lcyBp
bmhlcml0IHRoZW1lCisgKiBmcm9tIHRoZWlyIHBhcmVudCwgdGhpcyB3aWxsIGhhdmUgYWxsIGZy
YW1lcyB3aXRoIHVuc2V0IHRoZW1lIHRvCisgKiB1c2UgdGhpcyBvbmUuCisgKgorICogQHBhcmFt
IG8gdmlldyBvYmplY3QgdG8gY2hhbmdlIHRoZW1lCisgKiBAcGFyYW0gcGF0aCB0aGVtZSBwYXRo
LCBtYXkgYmUgQGMgMCB0byByZXNldCB0byB0aGUgZGVmYXVsdCB0aGVtZQorICovCitFQVBJIHZv
aWQgZXdrX3ZpZXdfdGhlbWVfc2V0KEV2YXNfT2JqZWN0ICpvLCBjb25zdCBjaGFyICpwYXRoKTsK
KworLyoqCisgKiBHZXRzIHRoZSB0aGVtZSBzZXQgb24gdGhpcyB2aWV3LgorICoKKyAqIFRoaXMg
cmV0dXJucyB0aGUgdmFsdWUgc2V0IGJ5IGV3a192aWV3X3RoZW1lX3NldCgpLgorICoKKyAqIEBw
YXJhbSBvIHZpZXcgb2JqZWN0IHRvIGdldCB0aGVtZSBwYXRoCisgKgorICogQHJldHVybiB0aGUg
dGhlbWUgcGF0aCwgbWF5IGJlIEBjIDAgaWYgbm90IHNldAorICovCitFQVBJIGNvbnN0IGNoYXIg
KmV3a192aWV3X3RoZW1lX2dldChjb25zdCBFdmFzX09iamVjdCAqbyk7CisKICNpZmRlZiBfX2Nw
bHVzcGx1cwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgK
aW5kZXggNmM3ZTY4ODExNDYyZjA3MDQ2ODIyNDEwOTMyYmEwMzEyNWIyODJlYS4uMjlhNmM2NWM1
ODg2NGJlNjQ0MjFlM2NjMjhmZjY0ZGZmYWE4NjQ1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaApAQCAtMzYyLDYgKzM2Miw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHBy
b3h5QXV0aGVudGljYXRpb25SZXF1aXJlZFJlcXVlc3QoY29uc3QgU3RyaW5nJiBob3N0bmFtZSwg
dWludDE2X3QgcG9ydCwgY29uc3QgU3RyaW5nJiBwcmVmaWxsZWRVc2VybmFtZSwgU3RyaW5nJiB1
c2VybmFtZSwgU3RyaW5nJiBwYXNzd29yZCk7CiAgICAgdm9pZCBzZXRVc2VyU2NyaXB0cyhjb25z
dCBWZWN0b3I8U3RyaW5nPiYpOwogI2VuZGlmIC8vIFBMQVRGT1JNKFFUKS4KKyNpZiBQTEFURk9S
TShFRkwpCisgICAgdm9pZCBzZXRUaGVtZVBhdGgoY29uc3QgU3RyaW5nJik7CisjZW5kaWYKIAog
I2lmIFBMQVRGT1JNKFFUKQogICAgIHZvaWQgc2V0Q29tcG9zaXRpb24oY29uc3QgU3RyaW5nJiB0
ZXh0LCBWZWN0b3I8V2ViQ29yZTo6Q29tcG9zaXRpb25VbmRlcmxpbmU+IHVuZGVybGluZXMsIHVp
bnQ2NF90IHNlbGVjdGlvblN0YXJ0LCB1aW50NjRfdCBzZWxlY3Rpb25FbmQsIHVpbnQ2NF90IHJl
cGxhY2VtZW50UmFuZ2VTdGFydCwgdWludDY0X3QgcmVwbGFjZW1lbnRSYW5nZUVuZCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlBhZ2VQcm94eUVmbC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlBhZ2VQcm94eUVmbC5jcHAKaW5kZXgg
YjA3NmI0ZWY2OTMzNTk4NDQ1YWNmMjdkNTc2MDFjMThhZDE0NzExOS4uZTFlZGExMDM1M2E4Y2U1
Y2M5MjdmYmY1N2NlNGQ1MGI2MTVlZWY1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2VmbC9XZWJQYWdlUHJveHlFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9lZmwvV2ViUGFnZVByb3h5RWZsLmNwcApAQCAtMjgsNiArMjgsOCBAQAogCiAjaW5jbHVk
ZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJQYWdlQ2xpZW50SW1wbC5oIgorI2luY2x1
ZGUgIldlYlBhZ2VNZXNzYWdlcy5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eS5oIgogCiAj
aW5jbHVkZSA8c3lzL3V0c25hbWUuaD4KIApAQCAtNzYsNCArNzgsOSBAQCB2b2lkIFdlYlBhZ2VQ
cm94eTo6bG9hZFJlY2VudFNlYXJjaGVzKGNvbnN0IFN0cmluZyYsIFZlY3RvcjxTdHJpbmc+JikK
ICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6c2V0VGhlbWVQ
YXRoKGNvbnN0IFN0cmluZyYgdGhlbWVQYXRoKQoreworICAgIHByb2Nlc3MoKS0+c2VuZChNZXNz
YWdlczo6V2ViUGFnZTo6U2V0VGhlbWVQYXRoKHRoZW1lUGF0aCksIG1fcGFnZUlELCAwKTsKK30K
KwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuaAppbmRleCBkMjM0YTFkYTQ2N2M2ZTAyMTE4YWJmZDFiZTU1ZmFiNzNjZTY1
ZDMyLi44NmU5MTZjNDBlZmRjZjQ1OWJhZGIzZDlhODA5ZjVlZWI0OTQ2NWZlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTQwMyw2ICs0MDMsMTAg
QEAgcHVibGljOgogCiAgICAgU2FuZGJveEV4dGVuc2lvblRyYWNrZXImIHNhbmRib3hFeHRlbnNp
b25UcmFja2VyKCkgeyByZXR1cm4gbV9zYW5kYm94RXh0ZW5zaW9uVHJhY2tlcjsgfQogCisjaWYg
UExBVEZPUk0oRUZMKQorICAgIHZvaWQgc2V0VGhlbWVQYXRoKGNvbnN0IFN0cmluZyYpOworI2Vu
ZGlmCisKICNpZiBQTEFURk9STShRVCkKICAgICB2b2lkIHNldENvbXBvc2l0aW9uKGNvbnN0IFN0
cmluZyYgdGV4dCwgVmVjdG9yPFdlYkNvcmU6OkNvbXBvc2l0aW9uVW5kZXJsaW5lPiB1bmRlcmxp
bmVzLCB1aW50NjRfdCBzZWxlY3Rpb25TdGFydCwgdWludDY0X3Qgc2VsZWN0aW9uRW5kLCB1aW50
NjRfdCByZXBsYWNlbWVudFJhbmdlU3RhcnQsIHVpbnQ2NF90IHJlcGxhY2VtZW50UmFuZ2VFbmQp
OwogICAgIHZvaWQgY29uZmlybUNvbXBvc2l0aW9uKGNvbnN0IFN0cmluZyYgdGV4dCwgaW50NjRf
dCBzZWxlY3Rpb25TdGFydCwgaW50NjRfdCBzZWxlY3Rpb25MZW5ndGgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4gYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgppbmRl
eCA3NWY3MjQ1ZjVjOGE1OTdhMWJhY2M5MzE1Y2I0Yzc3ZGJhNjFhY2E1Li40YzI2MGViOTA1ZDY5
YjJjOGM3YzE1NmY1NTc0ZTliZDJjN2I0ZjIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpAQCAtMjMwLDYgKzIzMCwx
MCBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlIHsKICAgICBEZWxpdmVySW50ZW50VG9GcmFtZSh1aW50
NjRfdCBmcmFtZUlELCBXZWJLaXQ6OkludGVudERhdGEgaW50ZW50RGF0YSk7CiAjZW5kaWYKIAor
I2lmIFBMQVRGT1JNKEVGTCkKKyAgICBTZXRUaGVtZVBhdGgoV1RGOjpTdHJpbmcgdGhlbWVQYXRo
KQorI2VuZGlmCisKICNpZiBQTEFURk9STShRVCkKICAgICBTZXRDb21wb3NpdGlvbihXVEY6OlN0
cmluZyB0ZXh0LCBXVEY6OlZlY3RvcjxXZWJDb3JlOjpDb21wb3NpdGlvblVuZGVybGluZT4gdW5k
ZXJsaW5lcywgdWludDY0X3Qgc2VsZWN0aW9uU3RhcnQsIHVpbnQ2NF90IHNlbGVjdGlvbkVuZCwg
dWludDY0X3QgcmVwbGFjZW1lbnRSYW5nZVN0YXJ0LCB1aW50NjRfdCByZXBsYWNlbWVudFJhbmdl
RW5kKQogICAgIENvbmZpcm1Db21wb3NpdGlvbihXVEY6OlN0cmluZyB0ZXh0LCBpbnQ2NF90IHNl
bGVjdGlvblN0YXJ0LCBpbnQ2NF90IHNlbGVjdGlvbkxlbmd0aCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9lZmwvV2ViUGFnZUVmbC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZWZsL1dlYlBhZ2VFZmwuY3BwCmluZGV4IGRmMGYx
N2Y4N2E5YmUxNzAxODc0NjA3ZDQ5NWViODMxZTJkYWU3ZGEuLjZjMWVjOGJhMmY3N2YxNGExZTZk
NTRkODIyNDAwMzJkOTk0YTljMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9lZmwvV2ViUGFnZUVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL2VmbC9XZWJQYWdlRWZsLmNwcApAQCAtMzQsOSArMzQsMTEgQEAKICNpbmNs
dWRlIDxXZWJDb3JlL0VmbEtleWJvYXJkVXRpbGl0aWVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9G
b2N1c0NvbnRyb2xsZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1lLmg+CisjaW5jbHVkZSA8
V2ViQ29yZS9GcmFtZVZpZXcuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0tleWJvYXJkRXZlbnQuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1BhZ2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtS2V5
Ym9hcmRFdmVudC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUmVuZGVyVGhlbWUuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1NldHRpbmdzLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwpAQCAtMTA0
LDQgKzEwNiwxNyBAQCBjb25zdCBjaGFyKiBXZWJQYWdlOjppbnRlcnByZXRLZXlFdmVudChjb25z
dCBLZXlib2FyZEV2ZW50KiBldmVudCkKICAgICByZXR1cm4gZ2V0S2V5UHJlc3NDb21tYW5kTmFt
ZShldmVudCk7CiB9CiAKK3ZvaWQgV2ViUGFnZTo6c2V0VGhlbWVQYXRoKGNvbnN0IFN0cmluZyYg
dGhlbWVQYXRoKQoreworICAgIEZyYW1lKiBtYWluRnJhbWUgPSBtX3BhZ2UtPm1haW5GcmFtZSgp
OworICAgIGlmICghbWFpbkZyYW1lKQorICAgICAgICByZXR1cm47CisKKyAgICBXZWJDb3JlOjpG
cmFtZVZpZXcqIHZpZXcgPSBtYWluRnJhbWUtPnZpZXcoKTsKKyAgICBpZiAodmlldykgeworICAg
ICAgICB2aWV3LT5zZXRFZGplVGhlbWUodGhlbWVQYXRoKTsKKyAgICAgICAgbV9wYWdlLT50aGVt
ZSgpLT50aGVtZUNoYW5nZWQoKTsKKyAgICB9Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApk
aWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGY3MzQ2
NDY4MGVlZDNiMjE4YWM1YjdkYjZmNjJkYzI2NWM3YmM0NjEuLjlkYTVhMmE1MmE5NzkwZjkyZDRl
NWEyN2VmZDgyYTc2YzMxOGM4NmQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9U
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMi0wNy0xNiAgUnl1YW4gQ2hvaSAg
PHJ5dWFuLmNob2lAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0VGTF1bV0syXSBBZGQgQVBJcyB0
byBzdXBwb3J0IHRoZW1lLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9OTAxMDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBPdmVycmlkZSBkZWZhdWx0IHRoZW1lIHBhdGggZm9yIE1pbmlCcm93c2VyIGFuZCBX
ZWJLaXRUZXN0UnVubmVyLgorCisgICAgICAgICogTWluaUJyb3dzZXIvZWZsL0NNYWtlTGlzdHMu
dHh0OgorICAgICAgICAqIE1pbmlCcm93c2VyL2VmbC9tYWluLmM6CisgICAgICAgIChicm93c2Vy
Q3JlYXRlKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtRWZsLmNtYWtlOgor
ICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvZWZsL1BsYXRmb3JtV2ViVmlld0VmbC5jcHA6Cisg
ICAgICAgIChXVFI6OlBsYXRmb3JtV2ViVmlldzo6UGxhdGZvcm1XZWJWaWV3KToKKwogMjAxMi0w
Ny0xNiAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNocm9taXVtLm9yZz4KIAogICAgICAgICB0ZXN0
LXdlYmtpdHB5OiBjbGVhbiB1cCBsb2dnaW5nIHRvIG1ha2UgaXQgbmluamEtZXNxdWUKZGlmZiAt
LWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzLnR4dCBiL1Rvb2xzL01pbmlC
cm93c2VyL2VmbC9DTWFrZUxpc3RzLnR4dAppbmRleCBhNmZkMmQ1N2UwZmY2MTlkNGJkNDcxNTE2
ZTk4ZDVjZTdiNzQxM2Q2Li41OWNmYzRmZDFmZTQwYTZiOGYxY2FlOGMzYTIwMTk3MjNmZGM3MDM5
IDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0cy50eHQKKysrIGIv
VG9vbHMvTWluaUJyb3dzZXIvZWZsL0NNYWtlTGlzdHMudHh0CkBAIC01NSw2ICs1NSw4IEBAIEFE
RF9DVVNUT01fVEFSR0VUKGZvcndhcmRpbmctaGVhZGVyTWluaUJyb3dzZXJTb3VwCiAgICAgQ09N
TUFORCAke1BFUkxfRVhFQ1VUQUJMRX0gJHtXRUJLSVQyX0RJUn0vU2NyaXB0cy9nZW5lcmF0ZS1m
b3J3YXJkaW5nLWhlYWRlcnMucGwgJHtNaW5pQnJvd3Nlcl9ESVJ9ICR7REVSSVZFRF9TT1VSQ0VT
X1dFQktJVDJfRElSfS9pbmNsdWRlIHNvdXAKICkKIAorQUREX0RFRklOSVRJT05TKC1EVEhFTUVf
RElSPVwiJHtUSEVNRV9CSU5BUllfRElSfVwiKQorCiBJTkNMVURFX0RJUkVDVE9SSUVTKCR7TWlu
aUJyb3dzZXJfSU5DTFVERV9ESVJFQ1RPUklFU30pCiAKIEFERF9FWEVDVVRBQkxFKE1pbmlCcm93
c2VyICR7TWluaUJyb3dzZXJfU09VUkNFU30pCmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nl
ci9lZmwvbWFpbi5jIGIvVG9vbHMvTWluaUJyb3dzZXIvZWZsL21haW4uYwppbmRleCBmMTYxNGFh
MzU5ZTVjMmI3NjQ1MWIwZGJkMjhhMDFlYzcwYjFlMGU4Li5hOTc5ZjVlNTU1ZjJmMmRjZjhmMGIz
ODYyMDQyYmFlNmZhMjU4YTc2IDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9lZmwvbWFp
bi5jCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9tYWluLmMKQEAgLTE2Myw2ICsxNjMsNyBA
QCBzdGF0aWMgTWluaUJyb3dzZXIgKmJyb3dzZXJDcmVhdGUoY29uc3QgY2hhciAqdXJsKQogCiAg
ICAgLyogQ3JlYXRlIHdlYnZpZXcgKi8KICAgICBhcHAtPmJyb3dzZXIgPSBld2tfdmlld19hZGQo
YXBwLT5ldmFzKTsKKyAgICBld2tfdmlld190aGVtZV9zZXQoYXBwLT5icm93c2VyLCBUSEVNRV9E
SVIiL2RlZmF1bHQuZWRqIik7CiAgICAgZXZhc19vYmplY3RfbmFtZV9zZXQoYXBwLT5icm93c2Vy
LCAiYnJvd3NlciIpOwogCiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKGFwcC0+
YnJvd3NlciwgImxvYWQsZXJyb3IiLCBvbl9lcnJvciwgYXBwKTsKZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1FZmwuY21ha2UgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IGU0M2ZlYmQxYTdkNTMwOTk1MDQ5ODUzNjdjYzJj
OWJmN2Y3NTFmZGEuLjk0MmMwMDNmMjc3NWI4OGYxODY0YzY4MzVmNzQ3MWQ0ZGY5ZjBiOWQgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1FZmwuY21ha2UKKysrIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybUVmbC5jbWFrZQpAQCAtMjYsNiArMjYsNyBA
QCBMSVNUKEFQUEVORCBXZWJLaXRUZXN0UnVubmVyX1NPVVJDRVMKIAogTElTVChBUFBFTkQgV2Vi
S2l0VGVzdFJ1bm5lcl9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgJHtUT09MU19ESVJ9L0R1bXBS
ZW5kZXJUcmVlL2VmbC8KKyAgICAke1dFQktJVDJfRElSfS9VSVByb2Nlc3MvQVBJL2VmbAogICAg
ICIke1dURl9ESVJ9L3d0Zi9nb2JqZWN0IgogCiAgICAgJHtDQUlST19JTkNMVURFX0RJUlN9CkBA
IC01Niw0ICs1Nyw0IEBAIExJU1QoQVBQRU5EIFdlYktpdFRlc3RSdW5uZXJJbmplY3RlZEJ1bmRs
ZV9TT1VSQ0VTCiAjIHN0cnVjdHVyZS4gU2VlIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODE0NzU+LgogQUREX0RFRklOSVRJT05TKC1ERk9OVFNfQ09ORl9ESVI9IiR7
VE9PTFNfRElSfS9EdW1wUmVuZGVyVHJlZS9ndGsvZm9udHMiCiAgICAgICAgICAgICAgICAgLURE
T1dOTE9BREVEX0ZPTlRTX0RJUj0iJHtDTUFLRV9TT1VSQ0VfRElSfS9XZWJLaXRCdWlsZC9EZXBl
bmRlbmNpZXMvU291cmNlL3dlYmtpdGd0ay10ZXN0LWZvbnRzLTAuMC4zIgotICAgICAgICAgICAg
ICAgIC1EREFUQV9ESVI9IiR7VEhFTUVfQklOQVJZX0RJUn0iKQorICAgICAgICAgICAgICAgIC1E
VEhFTUVfRElSPSIke1RIRU1FX0JJTkFSWV9ESVJ9IikKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvZWZsL1BsYXRmb3JtV2ViVmlld0VmbC5jcHAgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL2VmbC9QbGF0Zm9ybVdlYlZpZXdFZmwuY3BwCmluZGV4IGYxNzgyMGQ5MWY0ODM4ZjIw
ZDYxNmJhNmYwZGViMGNiNTNlNTU2MDQuLmMzYzA4NjNjOGZlYzg2NzcyNmI4M2EyMGRlYThjNjMx
MTI5NTJkOTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZWZsL1BsYXRmb3Jt
V2ViVmlld0VmbC5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9lZmwvUGxhdGZvcm1X
ZWJWaWV3RWZsLmNwcApAQCAtMjAsNiArMjAsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2lu
Y2x1ZGUgIlBsYXRmb3JtV2ViVmlldy5oIgogCisjaW5jbHVkZSAiRVdlYktpdDIuaCIKICNpbmNs
dWRlICJXZWJLaXQyL1dLQVBJQ2FzdC5oIgogI2luY2x1ZGUgPEVjb3JlX0V2YXMuaD4KIApAQCAt
NDYsNiArNDcsOCBAQCBQbGF0Zm9ybVdlYlZpZXc6OlBsYXRmb3JtV2ViVmlldyhXS0NvbnRleHRS
ZWYgY29udGV4dCwgV0tQYWdlR3JvdXBSZWYgcGFnZUdyb3VwKQogICAgIG1fd2luZG93ID0gaW5p
dEVjb3JlRXZhcygpOwogICAgIEV2YXMqIGV2YXMgPSBlY29yZV9ldmFzX2dldChtX3dpbmRvdyk7
CiAgICAgbV92aWV3ID0gdG9JbXBsKFdLVmlld0NyZWF0ZShldmFzLCBjb250ZXh0LCBwYWdlR3Jv
dXApKTsKKworICAgIGV3a192aWV3X3RoZW1lX3NldChtX3ZpZXcsIFRIRU1FX0RJUiIvZGVmYXVs
dC5lZGoiKTsKICAgICBtX3dpbmRvd0lzS2V5ID0gZmFsc2U7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152629</attachid>
            <date>2012-07-16 15:52:52 -0700</date>
            <delta_ts>2012-07-16 20:10:03 -0700</delta_ts>
            <desc>fix mistake</desc>
            <filename>bug-90107-20120717075253.patch</filename>
            <type>text/plain</type>
            <size>13310</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyNzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggY2I0NWNiYjNlZmM4ZTkz
NTZkZjU5OTJhNzc0ODI2NjIyYTJkOGQxZC4uNTdjZTBjMmNkMmJiYjRlMTIzYWY2NThhZTI5ZmE1
NmE2YjA0NWQ2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTA3LTE2ICBSeXVh
biBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIEFk
ZCBBUElzIHRvIHN1cHBvcnQgdGhlbWUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05MDEwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFJlbmRlclRoZW1lRWZsIHVzZXMgZWRqIGZpbGUgdG8gcmVuZGVyIG5h
dGl2ZSB0aGVtZSBvZiBmb3JtIGVsZW1lbnRzLgorICAgICAgICBUaGlzIHBhdGNoIHByb3ZpZGVz
IGRlZmF1bHQgdGhlbWUgYW5kIGEgd2F5IHRvIGNoYW5nZSBlZGogdGhlbWUgZmlsZSBmb3IKKyAg
ICAgICAgV2ViS2l0Mi9FZmwuCisKKyAgICAgICAgKiBQbGF0Zm9ybUVmbC5jbWFrZToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHA6CisgICAgICAgIChfRXdrX1ZpZXdf
UHJpdmF0ZV9EYXRhKToKKyAgICAgICAgKGV3a192aWV3X2Jhc2VfYWRkKToKKyAgICAgICAgKGV3
a192aWV3X3RoZW1lX3NldCk6CisgICAgICAgIChld2tfdmlld190aGVtZV9nZXQpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oOgorICAgICAgICAoV2ViUGFnZVByb3h5KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvZWZsL1dlYlBhZ2VQcm94eUVmbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94
eTo6c2V0VGhlbWVQYXRoKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5o
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9lZmwvV2ViUGFnZUVmbC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2U6OnNldFRoZW1lUGF0aCk6CisKIDIwMTItMDctMTYgIEtpaG9uZyBLd29u
ICA8a2lob25nLmt3b25Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgUmVtb3ZlIHNldENvbnRyb2xs
ZXIgZnJvbSBCYXR0ZXJ5Q2xpZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IDk4NzBl
MGUyZTkyNWE4M2Y5YTcwZWI1MmFkZjJlOWVmM2IwMWYzZjEuLmYzMjdlMjZhNWYwZmMxNmQzNmIz
Yzc3ZjIxYjlhNjk4ZWM0OGU4ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
RWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC0xNTYs
NiArMTU2LDggQEAgTElTVCAoQVBQRU5EIFdlYlByb2Nlc3NfTElCUkFSSUVTCiAgICAgJHtTUUxJ
VEVfTElCUkFSSUVTfQogKQogCitBRERfREVGSU5JVElPTlMoLURERUZBVUxUX1RIRU1FX1BBVEg9
XCIke0NNQUtFX0lOU1RBTExfUFJFRklYfS8ke0RBVEFfSU5TVEFMTF9ESVJ9L3RoZW1lc1wiKQor
CiBBRERfQ1VTVE9NX1RBUkdFVChmb3J3YXJkaW5nLWhlYWRlckVmbAogICAgIENPTU1BTkQgJHtQ
RVJMX0VYRUNVVEFCTEV9ICR7V0VCS0lUMl9ESVJ9L1NjcmlwdHMvZ2VuZXJhdGUtZm9yd2FyZGlu
Zy1oZWFkZXJzLnBsICR7V0VCS0lUMl9ESVJ9ICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVDJfRElS
fS9pbmNsdWRlIGVmbAogKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX3ZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X3ZpZXcuY3BwCmluZGV4IDQ3M2Q2N2NjMTJlNzQ2NzVjZTM4ODFlNTE5NTkwOTBkNWUwYWRiZTcu
LjhiNzEzMmI0ODQ3YWE2NTEzYjUyYmEyYzBlMjllZGY3NmJhMmUzNWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAKQEAgLTQ5LDE3ICs0OSwyMCBA
QCBzdHJ1Y3QgX0V3a19WaWV3X1ByaXZhdGVfRGF0YSB7CiAgICAgT3duUHRyPFBhZ2VDbGllbnRJ
bXBsPiBwYWdlQ2xpZW50OwogICAgIGNvbnN0IGNoYXIqIHVyaTsKICAgICBjb25zdCBjaGFyKiB0
aXRsZTsKKyAgICBjb25zdCBjaGFyKiB0aGVtZTsKICAgICBMb2FkaW5nUmVzb3VyY2VzTWFwIGxv
YWRpbmdSZXNvdXJjZXNNYXA7CiAKICAgICBfRXdrX1ZpZXdfUHJpdmF0ZV9EYXRhKCkKICAgICAg
ICAgOiB1cmkoMCkKICAgICAgICAgLCB0aXRsZSgwKQorICAgICAgICAsIHRoZW1lKDApCiAgICAg
eyB9CiAKICAgICB+X0V3a19WaWV3X1ByaXZhdGVfRGF0YSgpCiAgICAgewogICAgICAgICBlaW5h
X3N0cmluZ3NoYXJlX2RlbCh1cmkpOwogICAgICAgICBlaW5hX3N0cmluZ3NoYXJlX2RlbCh0aXRs
ZSk7CisgICAgICAgIGVpbmFfc3RyaW5nc2hhcmVfZGVsKHRoZW1lKTsKICAgICB9CiB9OwogCkBA
IC01MDcsNiArNTEwLDggQEAgRXZhc19PYmplY3QqIGV3a192aWV3X2Jhc2VfYWRkKEV2YXMqIGNh
bnZhcywgV0tDb250ZXh0UmVmIGNvbnRleHRSZWYsIFdLUGFnZUdyb3UKICAgICBld2tfdmlld19w
b2xpY3lfY2xpZW50X2F0dGFjaCh0b0FQSShwcml2LT5wYWdlQ2xpZW50LT5wYWdlKCkpLCBld2tW
aWV3KTsKICAgICBld2tfdmlld19yZXNvdXJjZV9sb2FkX2NsaWVudF9hdHRhY2godG9BUEkocHJp
di0+cGFnZUNsaWVudC0+cGFnZSgpKSwgZXdrVmlldyk7CiAKKyAgICBld2tfdmlld190aGVtZV9z
ZXQoZXdrVmlldywgREVGQVVMVF9USEVNRV9QQVRIIi9kZWZhdWx0LmVkaiIpOworCiAgICAgcmV0
dXJuIGV3a1ZpZXc7CiB9CiAKQEAgLTczOCw2ICs3NDMsMjQgQEAgdm9pZCBld2tfdmlld19pbnRl
bnRfcmVxdWVzdF9uZXcoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGNvbnN0IEV3a19JbnRlbnQqIGV3
a0ludGUKICNlbmRpZgogfQogCit2b2lkIGV3a192aWV3X3RoZW1lX3NldChFdmFzX09iamVjdCog
ZXdrVmlldywgY29uc3QgY2hhciogcGF0aCkKK3sKKyAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVU
VVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSk7CisgICAgRVdLX1ZJRVdfUFJJVl9HRVRfT1JfUkVUVVJO
KHNtYXJ0RGF0YSwgcHJpdik7CisKKyAgICBpZiAoIWVpbmFfc3RyaW5nc2hhcmVfcmVwbGFjZSgm
cHJpdi0+dGhlbWUsIHBhdGgpKQorICAgICAgICByZXR1cm47CisKKyAgICBwcml2LT5wYWdlQ2xp
ZW50LT5wYWdlKCktPnNldFRoZW1lUGF0aChwYXRoKTsKK30KKworY29uc3QgY2hhciogZXdrX3Zp
ZXdfdGhlbWVfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0KiBld2tWaWV3KQoreworICAgIEVXS19WSUVX
X1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21hcnREYXRhLCAwKTsKKyAgICBFV0tfVklFV19Q
UklWX0dFVF9PUl9SRVRVUk4oc21hcnREYXRhLCBwcml2LCAwKTsKKyAgICByZXR1cm4gcHJpdi0+
dGhlbWU7Cit9CisKIHZvaWQgZXdrX3ZpZXdfZGlzcGxheShFdmFzX09iamVjdCogZXdrVmlldywg
Y29uc3QgSW50UmVjdCYgcmVjdCkKIHsKICAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKGV3
a1ZpZXcsIHNtYXJ0RGF0YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9ld2tfdmlldy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X3ZpZXcuaAppbmRleCAyYjY2MThlZmUwNjQ1MmQ5M2Q2ZjJlNjkwMzEyZDM0Nzk0NjUxMjJkLi43
MTAwY2QyMzczNzU4NmQ4NzExNzYxNWU1MzJmYTQyZjNiMDQwYjYwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmgKQEAgLTM5Nyw2ICszOTcsMjkgQEAgRUFQ
SSBmbG9hdCBld2tfdmlld19kZXZpY2VfcGl4ZWxfcmF0aW9fZ2V0KGNvbnN0IEV2YXNfT2JqZWN0
ICpvKTsKICAqLwogRUFQSSBFaW5hX0Jvb2wgZXdrX3ZpZXdfZGV2aWNlX3BpeGVsX3JhdGlvX3Nl
dChFdmFzX09iamVjdCAqbywgZmxvYXQgcmF0aW8pOwogCisvKioKKyAqIFNldHMgdGhlIHRoZW1l
IHBhdGggdGhhdCB3aWxsIGJlIHVzZWQgYnkgdGhpcyB2aWV3LgorICoKKyAqIFRoaXMgYWxzbyBz
ZXRzIHRoZSB0aGVtZSBvbiB0aGUgbWFpbiBmcmFtZS4gQXMgZnJhbWVzIGluaGVyaXQgdGhlbWUK
KyAqIGZyb20gdGhlaXIgcGFyZW50LCB0aGlzIHdpbGwgaGF2ZSBhbGwgZnJhbWVzIHdpdGggdW5z
ZXQgdGhlbWUgdG8KKyAqIHVzZSB0aGlzIG9uZS4KKyAqCisgKiBAcGFyYW0gbyB2aWV3IG9iamVj
dCB0byBjaGFuZ2UgdGhlbWUKKyAqIEBwYXJhbSBwYXRoIHRoZW1lIHBhdGgsIG1heSBiZSBAYyAw
IHRvIHJlc2V0IHRvIHRoZSBkZWZhdWx0IHRoZW1lCisgKi8KK0VBUEkgdm9pZCBld2tfdmlld190
aGVtZV9zZXQoRXZhc19PYmplY3QgKm8sIGNvbnN0IGNoYXIgKnBhdGgpOworCisvKioKKyAqIEdl
dHMgdGhlIHRoZW1lIHNldCBvbiB0aGlzIHZpZXcuCisgKgorICogVGhpcyByZXR1cm5zIHRoZSB2
YWx1ZSBzZXQgYnkgZXdrX3ZpZXdfdGhlbWVfc2V0KCkuCisgKgorICogQHBhcmFtIG8gdmlldyBv
YmplY3QgdG8gZ2V0IHRoZW1lIHBhdGgKKyAqCisgKiBAcmV0dXJuIHRoZSB0aGVtZSBwYXRoLCBt
YXkgYmUgQGMgMCBpZiBub3Qgc2V0CisgKi8KK0VBUEkgY29uc3QgY2hhciAqZXdrX3ZpZXdfdGhl
bWVfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA2YzdlNjg4
MTE0NjJmMDcwNDY4MjI0MTA5MzJiYTAzMTI1YjI4MmVhLi4yOWE2YzY1YzU4ODY0YmU2NDQyMWUz
Y2MyOGZmNjRkZmZhYTg2NDVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oCkBAIC0zNjIsNiArMzYyLDkgQEAgcHVibGljOgogICAgIHZvaWQgcHJveHlBdXRoZW50aWNh
dGlvblJlcXVpcmVkUmVxdWVzdChjb25zdCBTdHJpbmcmIGhvc3RuYW1lLCB1aW50MTZfdCBwb3J0
LCBjb25zdCBTdHJpbmcmIHByZWZpbGxlZFVzZXJuYW1lLCBTdHJpbmcmIHVzZXJuYW1lLCBTdHJp
bmcmIHBhc3N3b3JkKTsKICAgICB2b2lkIHNldFVzZXJTY3JpcHRzKGNvbnN0IFZlY3RvcjxTdHJp
bmc+Jik7CiAjZW5kaWYgLy8gUExBVEZPUk0oUVQpLgorI2lmIFBMQVRGT1JNKEVGTCkKKyAgICB2
b2lkIHNldFRoZW1lUGF0aChjb25zdCBTdHJpbmcmKTsKKyNlbmRpZgogCiAjaWYgUExBVEZPUk0o
UVQpCiAgICAgdm9pZCBzZXRDb21wb3NpdGlvbihjb25zdCBTdHJpbmcmIHRleHQsIFZlY3RvcjxX
ZWJDb3JlOjpDb21wb3NpdGlvblVuZGVybGluZT4gdW5kZXJsaW5lcywgdWludDY0X3Qgc2VsZWN0
aW9uU3RhcnQsIHVpbnQ2NF90IHNlbGVjdGlvbkVuZCwgdWludDY0X3QgcmVwbGFjZW1lbnRSYW5n
ZVN0YXJ0LCB1aW50NjRfdCByZXBsYWNlbWVudFJhbmdlRW5kKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViUGFnZVByb3h5RWZsLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9lZmwvV2ViUGFnZVByb3h5RWZsLmNwcAppbmRleCBiMDc2YjRlZjY5MzM1
OTg0NDVhY2YyN2Q1NzYwMWMxOGFkMTQ3MTE5Li5lMWVkYTEwMzUzYThjZTVjYzkyN2ZiZjU3Y2U0
ZDUwYjYxNWVlZjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dl
YlBhZ2VQcm94eUVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJQ
YWdlUHJveHlFZmwuY3BwCkBAIC0yOCw2ICsyOCw4IEBACiAKICNpbmNsdWRlICJOb3RJbXBsZW1l
bnRlZC5oIgogI2luY2x1ZGUgIlBhZ2VDbGllbnRJbXBsLmgiCisjaW5jbHVkZSAiV2ViUGFnZU1l
c3NhZ2VzLmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5LmgiCiAKICNpbmNsdWRlIDxzeXMv
dXRzbmFtZS5oPgogCkBAIC03Niw0ICs3OCw5IEBAIHZvaWQgV2ViUGFnZVByb3h5Ojpsb2FkUmVj
ZW50U2VhcmNoZXMoY29uc3QgU3RyaW5nJiwgVmVjdG9yPFN0cmluZz4mKQogICAgIG5vdEltcGxl
bWVudGVkKCk7CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5OjpzZXRUaGVtZVBhdGgoY29uc3QgU3Ry
aW5nJiB0aGVtZVBhdGgpCit7CisgICAgcHJvY2VzcygpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdl
OjpTZXRUaGVtZVBhdGgodGhlbWVQYXRoKSwgbV9wYWdlSUQsIDApOworfQorCiB9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5o
CmluZGV4IGQyMzRhMWRhNDY3YzZlMDIxMThhYmZkMWJlNTVmYWI3M2NlNjVkMzIuLjg2ZTkxNmM0
MGVmZGNmNDU5YmFkYjNkOWE4MDlmNWVlYjQ5NDY1ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtNDAzLDYgKzQwMywxMCBAQCBwdWJsaWM6CiAK
ICAgICBTYW5kYm94RXh0ZW5zaW9uVHJhY2tlciYgc2FuZGJveEV4dGVuc2lvblRyYWNrZXIoKSB7
IHJldHVybiBtX3NhbmRib3hFeHRlbnNpb25UcmFja2VyOyB9CiAKKyNpZiBQTEFURk9STShFRkwp
CisgICAgdm9pZCBzZXRUaGVtZVBhdGgoY29uc3QgU3RyaW5nJik7CisjZW5kaWYKKwogI2lmIFBM
QVRGT1JNKFFUKQogICAgIHZvaWQgc2V0Q29tcG9zaXRpb24oY29uc3QgU3RyaW5nJiB0ZXh0LCBW
ZWN0b3I8V2ViQ29yZTo6Q29tcG9zaXRpb25VbmRlcmxpbmU+IHVuZGVybGluZXMsIHVpbnQ2NF90
IHNlbGVjdGlvblN0YXJ0LCB1aW50NjRfdCBzZWxlY3Rpb25FbmQsIHVpbnQ2NF90IHJlcGxhY2Vt
ZW50UmFuZ2VTdGFydCwgdWludDY0X3QgcmVwbGFjZW1lbnRSYW5nZUVuZCk7CiAgICAgdm9pZCBj
b25maXJtQ29tcG9zaXRpb24oY29uc3QgU3RyaW5nJiB0ZXh0LCBpbnQ2NF90IHNlbGVjdGlvblN0
YXJ0LCBpbnQ2NF90IHNlbGVjdGlvbkxlbmd0aCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmluZGV4IDc1ZjcyNDVmNWM4
YTU5N2ExYmFjYzkzMTVjYjRjNzdkYmE2MWFjYTUuLjRjMjYwZWI5MDVkNjliMmM4YzdjMTU2ZjU1
NzRlOWJkMmM3YjRmMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC0yMzAsNiArMjMwLDEwIEBAIG1lc3NhZ2Vz
IC0+IFdlYlBhZ2UgewogICAgIERlbGl2ZXJJbnRlbnRUb0ZyYW1lKHVpbnQ2NF90IGZyYW1lSUQs
IFdlYktpdDo6SW50ZW50RGF0YSBpbnRlbnREYXRhKTsKICNlbmRpZgogCisjaWYgUExBVEZPUk0o
RUZMKQorICAgIFNldFRoZW1lUGF0aChXVEY6OlN0cmluZyB0aGVtZVBhdGgpCisjZW5kaWYKKwog
I2lmIFBMQVRGT1JNKFFUKQogICAgIFNldENvbXBvc2l0aW9uKFdURjo6U3RyaW5nIHRleHQsIFdU
Rjo6VmVjdG9yPFdlYkNvcmU6OkNvbXBvc2l0aW9uVW5kZXJsaW5lPiB1bmRlcmxpbmVzLCB1aW50
NjRfdCBzZWxlY3Rpb25TdGFydCwgdWludDY0X3Qgc2VsZWN0aW9uRW5kLCB1aW50NjRfdCByZXBs
YWNlbWVudFJhbmdlU3RhcnQsIHVpbnQ2NF90IHJlcGxhY2VtZW50UmFuZ2VFbmQpCiAgICAgQ29u
ZmlybUNvbXBvc2l0aW9uKFdURjo6U3RyaW5nIHRleHQsIGludDY0X3Qgc2VsZWN0aW9uU3RhcnQs
IGludDY0X3Qgc2VsZWN0aW9uTGVuZ3RoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL2VmbC9XZWJQYWdlRWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9lZmwvV2ViUGFnZUVmbC5jcHAKaW5kZXggZGYwZjE3Zjg3YTliZTE3MDE4
NzQ2MDdkNDk1ZWI4MzFlMmRhZTdkYS4uNmMxZWM4YmEyZjc3ZjE0YTFlNmQ1NGQ4MjI0MDAzMmQ5
OTRhOWMyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2Vm
bC9XZWJQYWdlRWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
ZWZsL1dlYlBhZ2VFZmwuY3BwCkBAIC0zNCw5ICszNCwxMSBAQAogI2luY2x1ZGUgPFdlYkNvcmUv
RWZsS2V5Ym9hcmRVdGlsaXRpZXMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZvY3VzQ29udHJvbGxl
ci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRnJhbWUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1l
Vmlldy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvS2V5Ym9hcmRFdmVudC5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUGFnZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1LZXlib2FyZEV2ZW50Lmg+
CisjaW5jbHVkZSA8V2ViQ29yZS9SZW5kZXJUaGVtZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2V0
dGluZ3MuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CkBAIC0xMDQsNCArMTA2LDE3IEBA
IGNvbnN0IGNoYXIqIFdlYlBhZ2U6OmludGVycHJldEtleUV2ZW50KGNvbnN0IEtleWJvYXJkRXZl
bnQqIGV2ZW50KQogICAgIHJldHVybiBnZXRLZXlQcmVzc0NvbW1hbmROYW1lKGV2ZW50KTsKIH0K
IAordm9pZCBXZWJQYWdlOjpzZXRUaGVtZVBhdGgoY29uc3QgU3RyaW5nJiB0aGVtZVBhdGgpCit7
CisgICAgRnJhbWUqIG1haW5GcmFtZSA9IG1fcGFnZS0+bWFpbkZyYW1lKCk7CisgICAgaWYgKCFt
YWluRnJhbWUpCisgICAgICAgIHJldHVybjsKKworICAgIFdlYkNvcmU6OkZyYW1lVmlldyogdmll
dyA9IG1haW5GcmFtZS0+dmlldygpOworICAgIGlmICh2aWV3KSB7CisgICAgICAgIHZpZXctPnNl
dEVkamVUaGVtZSh0aGVtZVBhdGgpOworICAgICAgICBtX3BhZ2UtPnRoZW1lKCktPnRoZW1lQ2hh
bmdlZCgpOworICAgIH0KK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9U
b29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjczNDY0NjgwZWVkM2IyMThh
YzViN2RiNmY2MmRjMjY1YzdiYzQ2MS4uOWRhNWEyYTUyYTk3OTBmOTJkNGU1YTI3ZWZkODJhNzZj
MzE4Yzg2ZCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA3LTE2ICBSeXVhbiBDaG9pICA8cnl1YW4uY2hvaUBz
YW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIEFkZCBBUElzIHRvIHN1cHBvcnQgdGhl
bWUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDEw
NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE92ZXJy
aWRlIGRlZmF1bHQgdGhlbWUgcGF0aCBmb3IgTWluaUJyb3dzZXIgYW5kIFdlYktpdFRlc3RSdW5u
ZXIuCisKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0cy50eHQ6CisgICAgICAg
ICogTWluaUJyb3dzZXIvZWZsL21haW4uYzoKKyAgICAgICAgKGJyb3dzZXJDcmVhdGUpOgorICAg
ICAgICAqIFdlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogV2Vi
S2l0VGVzdFJ1bm5lci9lZmwvUGxhdGZvcm1XZWJWaWV3RWZsLmNwcDoKKyAgICAgICAgKFdUUjo6
UGxhdGZvcm1XZWJWaWV3OjpQbGF0Zm9ybVdlYlZpZXcpOgorCiAyMDEyLTA3LTE2ICBEaXJrIFBy
YW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIHRlc3Qtd2Via2l0cHk6IGNs
ZWFuIHVwIGxvZ2dpbmcgdG8gbWFrZSBpdCBuaW5qYS1lc3F1ZQpkaWZmIC0tZ2l0IGEvVG9vbHMv
TWluaUJyb3dzZXIvZWZsL0NNYWtlTGlzdHMudHh0IGIvVG9vbHMvTWluaUJyb3dzZXIvZWZsL0NN
YWtlTGlzdHMudHh0CmluZGV4IGE2ZmQyZDU3ZTBmZjYxOWQ0YmQ0NzE1MTZlOThkNWNlN2I3NDEz
ZDYuLjU5Y2ZjNGZkMWZlNDBhNmI4ZjFjYWU4YzNhMjAxOTcyM2ZkYzcwMzkgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL01pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzLnR4dAorKysgYi9Ub29scy9NaW5pQnJv
d3Nlci9lZmwvQ01ha2VMaXN0cy50eHQKQEAgLTU1LDYgKzU1LDggQEAgQUREX0NVU1RPTV9UQVJH
RVQoZm9yd2FyZGluZy1oZWFkZXJNaW5pQnJvd3NlclNvdXAKICAgICBDT01NQU5EICR7UEVSTF9F
WEVDVVRBQkxFfSAke1dFQktJVDJfRElSfS9TY3JpcHRzL2dlbmVyYXRlLWZvcndhcmRpbmctaGVh
ZGVycy5wbCAke01pbmlCcm93c2VyX0RJUn0gJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUMl9ESVJ9
L2luY2x1ZGUgc291cAogKQogCitBRERfREVGSU5JVElPTlMoLURUSEVNRV9ESVI9XCIke1RIRU1F
X0JJTkFSWV9ESVJ9XCIpCisKIElOQ0xVREVfRElSRUNUT1JJRVMoJHtNaW5pQnJvd3Nlcl9JTkNM
VURFX0RJUkVDVE9SSUVTfSkKIAogQUREX0VYRUNVVEFCTEUoTWluaUJyb3dzZXIgJHtNaW5pQnJv
d3Nlcl9TT1VSQ0VTfSkKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9tYWluLmMg
Yi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvbWFpbi5jCmluZGV4IGYxNjE0YWEzNTllNWMyYjc2NDUx
YjBkYmQyOGEwMWVjNzBiMWUwZTguLmE5NzlmNWU1NTVmMmYyZGNmOGYwYjM4NjIwNDJiYWU2ZmEy
NThhNzYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9tYWluLmMKKysrIGIvVG9v
bHMvTWluaUJyb3dzZXIvZWZsL21haW4uYwpAQCAtMTYzLDYgKzE2Myw3IEBAIHN0YXRpYyBNaW5p
QnJvd3NlciAqYnJvd3NlckNyZWF0ZShjb25zdCBjaGFyICp1cmwpCiAKICAgICAvKiBDcmVhdGUg
d2VidmlldyAqLwogICAgIGFwcC0+YnJvd3NlciA9IGV3a192aWV3X2FkZChhcHAtPmV2YXMpOwor
ICAgIGV3a192aWV3X3RoZW1lX3NldChhcHAtPmJyb3dzZXIsIFRIRU1FX0RJUiIvZGVmYXVsdC5l
ZGoiKTsKICAgICBldmFzX29iamVjdF9uYW1lX3NldChhcHAtPmJyb3dzZXIsICJicm93c2VyIik7
CiAKICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQoYXBwLT5icm93c2VyLCAibG9h
ZCxlcnJvciIsIG9uX2Vycm9yLCBhcHApOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9QbGF0Zm9ybUVmbC5jbWFrZSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1F
ZmwuY21ha2UKaW5kZXggZTQzZmViZDFhN2Q1MzA5OTUwNDk4NTM2N2NjMmM5YmY3Zjc1MWZkYS4u
OTQyYzAwM2YyNzc1Yjg4ZjE4NjRjNjgzNWY3NDcxZDRkZjlmMGI5ZCAxMDA2NDQKLS0tIGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC0yNiw2ICsyNiw3IEBAIExJU1QoQVBQRU5E
IFdlYktpdFRlc3RSdW5uZXJfU09VUkNFUwogCiBMSVNUKEFQUEVORCBXZWJLaXRUZXN0UnVubmVy
X0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAke1RPT0xTX0RJUn0vRHVtcFJlbmRlclRyZWUvZWZs
LworICAgICR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9BUEkvZWZsCiAgICAgIiR7V1RGX0RJUn0v
d3RmL2dvYmplY3QiCiAKICAgICAke0NBSVJPX0lOQ0xVREVfRElSU30KQEAgLTU2LDQgKzU3LDQg
QEAgTElTVChBUFBFTkQgV2ViS2l0VGVzdFJ1bm5lckluamVjdGVkQnVuZGxlX1NPVVJDRVMKICMg
c3RydWN0dXJlLiBTZWUgPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
MTQ3NT4uCiBBRERfREVGSU5JVElPTlMoLURGT05UU19DT05GX0RJUj0iJHtUT09MU19ESVJ9L0R1
bXBSZW5kZXJUcmVlL2d0ay9mb250cyIKICAgICAgICAgICAgICAgICAtRERPV05MT0FERURfRk9O
VFNfRElSPSIke0NNQUtFX1NPVVJDRV9ESVJ9L1dlYktpdEJ1aWxkL0RlcGVuZGVuY2llcy9Tb3Vy
Y2Uvd2Via2l0Z3RrLXRlc3QtZm9udHMtMC4wLjMiCi0gICAgICAgICAgICAgICAgLUREQVRBX0RJ
Uj0iJHtUSEVNRV9CSU5BUllfRElSfSIpCisgICAgICAgICAgICAgICAgLURUSEVNRV9ESVI9IiR7
VEhFTUVfQklOQVJZX0RJUn0iKQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9l
ZmwvUGxhdGZvcm1XZWJWaWV3RWZsLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZWZsL1Bs
YXRmb3JtV2ViVmlld0VmbC5jcHAKaW5kZXggZjE3ODIwZDkxZjQ4MzhmMjBkNjE2YmE2ZjBkZWIw
Y2I1M2U1NTYwNC4uYzNjMDg2M2M4ZmVjODY3NzI2YjgzYTIwZGVhOGM2MzExMjk1MmQ5NyAxMDA2
NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9lZmwvUGxhdGZvcm1XZWJWaWV3RWZsLmNw
cAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2VmbC9QbGF0Zm9ybVdlYlZpZXdFZmwuY3Bw
CkBAIC0yMCw2ICsyMCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiUGxhdGZv
cm1XZWJWaWV3LmgiCiAKKyNpbmNsdWRlICJFV2ViS2l0Mi5oIgogI2luY2x1ZGUgIldlYktpdDIv
V0tBUElDYXN0LmgiCiAjaW5jbHVkZSA8RWNvcmVfRXZhcy5oPgogCkBAIC00Niw2ICs0Nyw4IEBA
IFBsYXRmb3JtV2ViVmlldzo6UGxhdGZvcm1XZWJWaWV3KFdLQ29udGV4dFJlZiBjb250ZXh0LCBX
S1BhZ2VHcm91cFJlZiBwYWdlR3JvdXApCiAgICAgbV93aW5kb3cgPSBpbml0RWNvcmVFdmFzKCk7
CiAgICAgRXZhcyogZXZhcyA9IGVjb3JlX2V2YXNfZ2V0KG1fd2luZG93KTsKICAgICBtX3ZpZXcg
PSB0b0ltcGwoV0tWaWV3Q3JlYXRlKGV2YXMsIGNvbnRleHQsIHBhZ2VHcm91cCkpOworCisgICAg
ZXdrX3ZpZXdfdGhlbWVfc2V0KG1fdmlldywgVEhFTUVfRElSIi9kZWZhdWx0LmVkaiIpOwogICAg
IG1fd2luZG93SXNLZXkgPSBmYWxzZTsKIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>