<?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>68595</bug_id>
          
          <creation_ts>2011-09-21 23:53:09 -0700</creation_ts>
          <short_desc>[EFL] Add matrix list to reuse tile matrix for each different zoom level.</short_desc>
          <delta_ts>2011-11-17 21:52:56 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="KwangHyuk">hyuki.kim</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kenneth</cc>
    
    <cc>leandro</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>471384</commentid>
    <comment_count>0</comment_count>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2011-09-21 23:53:09 -0700</bug_when>
    <thetext>Matrix list keeps each tiled matrix for different zoom level when zoom level is changed.
And then it will resue the tile matrix previously created by getting it from this matrix list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471385</commentid>
    <comment_count>1</comment_count>
      <attachid>108284</attachid>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2011-09-21 23:54:06 -0700</bug_when>
    <thetext>Created attachment 108284
Patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471422</commentid>
    <comment_count>2</comment_count>
      <attachid>108284</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-22 01:20:37 -0700</bug_when>
    <thetext>Comment on attachment 108284
Patch.

Attachment 108284 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/9797123

New failing tests:
svg/custom/svg-fonts-word-spacing.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471515</commentid>
    <comment_count>3</comment_count>
      <attachid>108321</attachid>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2011-09-22 06:10:53 -0700</bug_when>
    <thetext>Created attachment 108321
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471640</commentid>
    <comment_count>4</comment_count>
      <attachid>108321</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2011-09-22 09:45:50 -0700</bug_when>
    <thetext>Comment on attachment 108321
Patch

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

The idea sounds good, but the implementation needs some love. As we&apos;re trying to adequate ourselves to WebKit&apos;s coding style, it would be really good if these one or two-letter variables had proper names. There are many separate places which allocate and remove entries from the list, this code should all be put in single functions.

&gt; Source/WebKit/efl/ChangeLog:7
&gt; +        And then it will resue the tile matrix previously created by getting it from this matrix list.

resue -&gt; reuse

&gt; Source/WebKit/efl/ewk/ewk_tiled_backing_store.c:119
&gt; +        Eina_Bool layout:1;

Isn&apos;t it possible to use change.model here?

&gt; Source/WebKit/efl/ewk/ewk_tiled_matrix.c:72
&gt; +Ewk_Tile_Matrix_Entry *ewk_tile_matrix_matrix_from_zoom_get(Ewk_Tile_Matrix *tm, float zoom);

The implementation can be moved here and the function can be made static. &quot;from_zoom&quot; doesn&apos;t sound good in the name. Maybe just _ewk_tile_matrix_matrix_get, or _ewk_tile_matrix_get?

&gt; Source/WebKit/efl/ewk/ewk_tiled_matrix.h:33
&gt; +void ewk_tile_matrix_change_matrix(Ewk_Tile_Matrix* tm, float zoom);

This name doesn&apos;t tell what the function is supposed to do. How about ewk_tile_matrix_zoom_level_set() or something along these lines?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472638</commentid>
    <comment_count>5</comment_count>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2011-09-23 17:15:19 -0700</bug_when>
    <thetext>&gt; The idea sounds good, but the implementation needs some love. As we&apos;re trying  to adequate ourselves to WebKit&apos;s coding style, it would be really good if &gt; these one or two-letter variables had proper names. There are many separate places which allocate and remove entries from the list, this code should all be put in single functions.

Ok, let me check. :-)

&gt;&gt; Source/WebKit/efl/ChangeLog:7
&gt;&gt; +        And then it will resue the tile matrix previously created by getting it from this matrix list.
&gt;
&gt; resue -&gt; reuse

Ok, thank you for your correction.

&gt;&gt; Source/WebKit/efl/ewk/ewk_tiled_backing_store.c:119
&gt;&gt; +        Eina_Bool layout:1;
&gt;
&gt; Isn&apos;t it possible to use change.model here?

Good point.

&gt;&gt; Source/WebKit/efl/ewk/ewk_tiled_matrix.c:72
&gt;&gt; +Ewk_Tile_Matrix_Entry *ewk_tile_matrix_matrix_from_zoom_get(Ewk_Tile_Matrix *tm, float zoom);
&gt;
&gt; The implementation can be moved here and the function can be made static. &quot;from_zoom&quot; doesn&apos;t sound good in the name. Maybe just _ewk_tile_matrix_matrix_get, or _ewk_tile_matrix_get?

Make sense.

&gt;&gt; Source/WebKit/efl/ewk/ewk_tiled_matrix.h:33
&gt;&gt; +void ewk_tile_matrix_change_matrix(Ewk_Tile_Matrix* tm, float zoom);
&gt;
&gt; This name doesn&apos;t tell what the function is supposed to do. How about ewk_tile_matrix_zoom_level_set() or something along these lines?

Ok, I will try it. :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484461</commentid>
    <comment_count>6</comment_count>
      <attachid>111121</attachid>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2011-10-14 19:55:50 -0700</bug_when>
    <thetext>Created attachment 111121
Patch.

&gt; The idea sounds good, but the implementation needs some love. As we&apos;re trying  to adequate ourselves to WebKit&apos;s coding style, it would be really good if &gt; these one or two-letter variables had proper names. There are many separate places which allocate and remove entries from the list, this code should all be put in single functions.

The most of your opinions are applied.

&gt;&gt; Source/WebKit/efl/ChangeLog:7
&gt;&gt; +        And then it will resue the tile matrix previously created by getting it from this matrix list.
&gt;
&gt; resue -&gt; reuse

Applied.

&gt;&gt; Source/WebKit/efl/ewk/ewk_tiled_backing_store.c:119
&gt;&gt; +        Eina_Bool layout:1;
&gt;
&gt; Isn&apos;t it possible to use change.model here?

Applied.

&gt;&gt; Source/WebKit/efl/ewk/ewk_tiled_matrix.c:72
&gt;&gt; +Ewk_Tile_Matrix_Entry *ewk_tile_matrix_matrix_from_zoom_get(Ewk_Tile_Matrix *tm, float zoom);
&gt;
&gt; The implementation can be moved here and the function can be made static. &quot;from_zoom&quot; doesn&apos;t sound good in the name. Maybe just _ewk_tile_matrix_matrix_get, or _ewk_tile_matrix_get?

Applied.

&gt;&gt; Source/WebKit/efl/ewk/ewk_tiled_matrix.h:33
&gt;&gt; +void ewk_tile_matrix_change_matrix(Ewk_Tile_Matrix* tm, float zoom);
&gt;
&gt; This name doesn&apos;t tell what the function is supposed to do. How about ewk_tile_matrix_zoom_level_set() or something along these lines?

Applied.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484462</commentid>
    <comment_count>7</comment_count>
      <attachid>111122</attachid>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2011-10-14 20:21:52 -0700</bug_when>
    <thetext>Created attachment 111122
Patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484585</commentid>
    <comment_count>8</comment_count>
      <attachid>111135</attachid>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2011-10-15 07:57:32 -0700</bug_when>
    <thetext>Created attachment 111135
Patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484880</commentid>
    <comment_count>9</comment_count>
      <attachid>111135</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-10-16 19:33:04 -0700</bug_when>
    <thetext>Comment on attachment 111135
Patch.

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

&gt; Source/WebKit/efl/ewk/ewk_tiled_matrix.cpp:283
&gt; +

Unneeded Line.

&gt; Source/WebKit/efl/ewk/ewk_tiled_matrix.cpp:284
&gt; +

ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484884</commentid>
    <comment_count>10</comment_count>
      <attachid>111200</attachid>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2011-10-16 19:43:17 -0700</bug_when>
    <thetext>Created attachment 111200
Patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485185</commentid>
    <comment_count>11</comment_count>
      <attachid>111200</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2011-10-17 08:54:01 -0700</bug_when>
    <thetext>Comment on attachment 111200
Patch.

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

It looks much better now. This part of the code is not my area of expertise, but if it works, then I&apos;m OK with it after you fix these small nitpicks below.

&gt; Source/WebKit/efl/ewk/ewk_tiled_backing_store.cpp:1493
&gt; +

Extra empty line.

&gt; Source/WebKit/efl/ewk/ewk_tiled_matrix.cpp:186
&gt; + * @param currentZoom current zoom level for the matrix.

&quot;zoomLevel&quot; makes more sense here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485680</commentid>
    <comment_count>12</comment_count>
      <attachid>111359</attachid>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2011-10-17 17:47:56 -0700</bug_when>
    <thetext>Created attachment 111359
Patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485695</commentid>
    <comment_count>13</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2011-10-17 18:08:45 -0700</bug_when>
    <thetext>LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485761</commentid>
    <comment_count>14</comment_count>
      <attachid>111359</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-10-17 20:21:54 -0700</bug_when>
    <thetext>Comment on attachment 111359
Patch.

LGTM too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500488</commentid>
    <comment_count>15</comment_count>
      <attachid>114618</attachid>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2011-11-10 20:49:50 -0800</bug_when>
    <thetext>Created attachment 114618
patch rebased.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504609</commentid>
    <comment_count>16</comment_count>
      <attachid>115535</attachid>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2011-11-16 23:52:30 -0800</bug_when>
    <thetext>Created attachment 115535
Patch rebased.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504695</commentid>
    <comment_count>17</comment_count>
      <attachid>115535</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-11-17 03:01:07 -0800</bug_when>
    <thetext>Comment on attachment 115535
Patch rebased.

rs=me given the informal reviews and as this is very EFL only</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504731</commentid>
    <comment_count>18</comment_count>
      <attachid>115535</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-17 04:09:07 -0800</bug_when>
    <thetext>Comment on attachment 115535
Patch rebased.

Rejecting attachment 115535 from commit-queue.

New failing tests:
platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html
Full output: http://queues.webkit.org/results/10461130</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>505352</commentid>
    <comment_count>19</comment_count>
      <attachid>115709</attachid>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2011-11-17 16:44:47 -0800</bug_when>
    <thetext>Created attachment 115709
Patch rebased.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>505472</commentid>
    <comment_count>20</comment_count>
      <attachid>115709</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-11-17 21:25:29 -0800</bug_when>
    <thetext>Comment on attachment 115709
Patch rebased.

LGTM too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>505488</commentid>
    <comment_count>21</comment_count>
      <attachid>115709</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-17 21:52:49 -0800</bug_when>
    <thetext>Comment on attachment 115709
Patch rebased.

Clearing flags on attachment: 115709

Committed r100724: &lt;http://trac.webkit.org/changeset/100724&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>505489</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-17 21:52:56 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108284</attachid>
            <date>2011-09-21 23:54:06 -0700</date>
            <delta_ts>2011-09-22 06:10:53 -0700</delta_ts>
            <desc>Patch.</desc>
            <filename>0922_matrix_list.patch</filename>
            <type>text/plain</type>
            <size>12036</size>
            <attacher name="KwangHyuk">hyuki.kim</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCBlYmJlYWYxLi45ZTQ0OGMwIDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjkgQEAKKzIwMTEtMDktMjEgIEt3YW5nSHl1ayBLaW0gIDxoeXVraS5raW1Ac2Ft
c3VuZy5jb20+CisKKyAgICAgICAgW0VGTF0gQWRkIG1hdHJpeCBsaXN0IHRvIHJldXNlIHRpbGUg
bWF0cml4IGZvciBlYWNoIGRpZmZlcmVudCB6b29tIGxldmVsLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1OTUKKworICAgICAgICBNYXRyaXggbGlz
dCBrZWVwcyBlYWNoIHRpbGVkIG1hdHJpeCBmb3IgZGlmZmVyZW50IHpvb20gbGV2ZWwgd2hlbiB6
b29tIGxldmVsIGlzIGNoYW5nZWQuCisgICAgICAgIEFuZCB0aGVuIGl0IHdpbGwgcmVzdWUgdGhl
IHRpbGUgbWF0cml4IHByZXZpb3VzbHkgY3JlYXRlZCBieSBnZXR0aW5nIGl0IGZyb20gdGhpcyBt
YXRyaXggbGlzdC4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGV3ay9ld2tfdGlsZWRfYmFja2luZ19zdG9yZS5jOgorICAgICAgICAoX2V3a190aWxl
ZF9iYWNraW5nX3N0b3JlX21vZGVsX21hdHJpeF9jcmVhdGUpOgorICAgICAgICAoX2V3a190aWxl
ZF9iYWNraW5nX3N0b3JlX3NtYXJ0X2NhbGN1bGF0ZSk6CisgICAgICAgIChfZXdrX3RpbGVkX2Jh
Y2tpbmdfc3RvcmVfem9vbV9zZXRfaW50ZXJuYWwpOgorICAgICAgICAoZXdrX3RpbGVkX2JhY2tp
bmdfc3RvcmVfY29udGVudHNfcmVzaXplKToKKyAgICAgICAgKiBld2svZXdrX3RpbGVkX21hdHJp
eC5jOgorICAgICAgICAoX2V3a190aWxlX21hdHJpeF9jZWxsX2ZyZWUpOgorICAgICAgICAoX2V3
a190aWxlX21hdHJpeF90aWxlX2ZyZWUpOgorICAgICAgICAoZXdrX3RpbGVfbWF0cml4X25ldyk6
CisgICAgICAgIChld2tfdGlsZV9tYXRyaXhfY2hhbmdlX21hdHJpeCk6CisgICAgICAgIChld2tf
dGlsZV9tYXRyaXhfbWF0cml4X2Zyb21fem9vbV9nZXQpOgorICAgICAgICAoZXdrX3RpbGVfbWF0
cml4X2ludmFsaWRhdGVfbWF0cmljZXMpOgorICAgICAgICAoZXdrX3RpbGVfbWF0cml4X2ZyZWUp
OgorICAgICAgICAoZXdrX3RpbGVfbWF0cml4X3RpbGVfbmV3KToKKyAgICAgICAgKiBld2svZXdr
X3RpbGVkX21hdHJpeC5oOgorCiAyMDExLTA5LTIxICBMdWNhcyBEZSBNYXJjaGkgIDxsdWNhcy5k
ZW1hcmNoaUBwcm9mdXNpb24ubW9iaT4KIAogICAgICAgICBbRUZMXSBSZXZlcnQgcG9pbnRlciBv
cGVyYXRvciBjb2Rpbmcgc3R5bGUgaW4gZXdrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9ld2svZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmUuYyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9l
d2tfdGlsZWRfYmFja2luZ19zdG9yZS5jCmluZGV4IDc2YTk5ZjguLmFlYjlhYTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfYmFja2luZ19zdG9yZS5jCisrKyBi
L1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfYmFja2luZ19zdG9yZS5jCkBAIC0xMTYs
NiArMTE2LDcgQEAgc3RydWN0IF9Fd2tfVGlsZWRfQmFja2luZ19TdG9yZV9EYXRhIHsKICAgICAg
ICAgRWluYV9Cb29sIHNpemU6MTsKICAgICAgICAgRWluYV9Cb29sIG1vZGVsOjE7CiAgICAgICAg
IEVpbmFfQm9vbCBvZmZzZXQ6MTsKKyAgICAgICAgRWluYV9Cb29sIGxheW91dDoxOwogICAgIH0g
Y2hhbmdlZDsKICNpZmRlZiBERUJVR19NRU1fTEVBS1MKICAgICBFY29yZV9FdmVudF9IYW5kbGVy
ICpzaWdfdXNyOwpAQCAtNjMyLDcgKzYzMyw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBfZXdrX3Rp
bGVkX2JhY2tpbmdfc3RvcmVfbW9kZWxfbWF0cml4X2NyZWF0ZShFd2tfVGlsZWRfQmFja2luCiAg
ICAgICAgIGV3a190aWxlX21hdHJpeF9mcmVlKHByaXYtPm1vZGVsLm1hdHJpeCk7CiAgICAgfQog
Ci0gICAgcHJpdi0+bW9kZWwubWF0cml4ID0gZXdrX3RpbGVfbWF0cml4X25ldyh0dWMsIHByaXYt
Pm1vZGVsLmN1ci5jb2xzLCBwcml2LT5tb2RlbC5jdXIucm93cywgcHJpdi0+Y3NwYWNlLCBfZXdr
X3RpbGVkX2JhY2tpbmdfc3RvcmVfcmVuZGVyLCBwcml2KTsKKyAgICBwcml2LT5tb2RlbC5tYXRy
aXggPSBld2tfdGlsZV9tYXRyaXhfbmV3KHR1YywgcHJpdi0+bW9kZWwuY3VyLmNvbHMsIHByaXYt
Pm1vZGVsLmN1ci5yb3dzLCBwcml2LT52aWV3LnRpbGUuem9vbSwgcHJpdi0+Y3NwYWNlLCBfZXdr
X3RpbGVkX2JhY2tpbmdfc3RvcmVfcmVuZGVyLCBwcml2KTsKIH0KIAogc3RhdGljIHZvaWQgX2V3
a190aWxlZF9iYWNraW5nX3N0b3JlX3NtYXJ0X21lbWJlcl9kZWwoRXZhc19PYmplY3QgKm8sIEV2
YXNfT2JqZWN0ICptZW1iZXIpCkBAIC0xMzA1LDYgKzEzMDYsMTAgQEAgc3RhdGljIHZvaWQgX2V3
a190aWxlZF9iYWNraW5nX3N0b3JlX3NtYXJ0X2NhbGN1bGF0ZShFdmFzX09iamVjdCAqbykKIAog
ICAgIGV3a190aWxlX21hdHJpeF9mcmVlemUocHJpdi0+bW9kZWwubWF0cml4KTsKIAorICAgIGlm
IChwcml2LT5jaGFuZ2VkLmxheW91dCkgeworICAgICAgICBld2tfdGlsZV9tYXRyaXhfaW52YWxp
ZGF0ZV9tYXRyaWNlcyhwcml2LT5tb2RlbC5tYXRyaXgpOworICAgICAgICBwcml2LT5jaGFuZ2Vk
LmxheW91dCA9IEVJTkFfRkFMU0U7CisgICAgfQogICAgIGlmICghcHJpdi0+cmVuZGVyLnN1c3Bl
bmQgJiYgcHJpdi0+Y2hhbmdlZC5tb2RlbCkgewogICAgICAgICB1bnNpZ25lZCBsb25nIGNvbHMs
IHJvd3M7CiAKQEAgLTE0ODksNiArMTQ5NCw3IEBAIHN0YXRpYyBFaW5hX0Jvb2wgX2V3a190aWxl
ZF9iYWNraW5nX3N0b3JlX3pvb21fc2V0X2ludGVybmFsKEV3a19UaWxlZF9CYWNraW5nX1N0CiAg
ICAgcHJpdi0+dmlldy5vZmZzZXQuem9vbV9jZW50ZXIueCA9IGN4OwogICAgIHByaXYtPnZpZXcu
b2Zmc2V0Lnpvb21fY2VudGVyLnkgPSBjeTsKIAorICAgIGV3a190aWxlX21hdHJpeF9jaGFuZ2Vf
bWF0cml4KHByaXYtPm1vZGVsLm1hdHJpeCwgKnpvb20pOwogCiAgICAgaWYgKCFwcml2LT52aWV3
LncgfHwgIXByaXYtPnZpZXcuaCkgewogICAgICAgICBwcml2LT52aWV3Lm9mZnNldC5iYXNlLngg
PSAwOwpAQCAtMTc3NSw2ICsxNzgxLDcgQEAgdm9pZCBld2tfdGlsZWRfYmFja2luZ19zdG9yZV9j
b250ZW50c19yZXNpemUoRXZhc19PYmplY3QgKm8sIEV2YXNfQ29vcmQgd2lkdGgsIEUKICAgICBw
cml2LT5tb2RlbC53aWR0aCA9IHdpZHRoOwogICAgIHByaXYtPm1vZGVsLmhlaWdodCA9IGhlaWdo
dDsKICAgICBwcml2LT5jaGFuZ2VkLm1vZGVsID0gRUlOQV9UUlVFOworICAgIHByaXYtPmNoYW5n
ZWQubGF5b3V0ID0gRUlOQV9UUlVFOwogCiAgICAgREJHKCJ3aWR0aCxoZWlnaHQ9JWQsICVkIiwg
d2lkdGgsIGhlaWdodCk7CiAgICAgX2V3a190aWxlZF9iYWNraW5nX3N0b3JlX2NoYW5nZWQocHJp
dik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3RpbGVkX21hdHJpeC5j
IGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxlZF9tYXRyaXguYwppbmRleCBjMmY5Yzg0
Li40NDc0ZGM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3RpbGVkX21h
dHJpeC5jCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfbWF0cml4LmMKQEAg
LTMyLDggKzMyLDE4IEBACiAjaW5jbHVkZSA8c3RkbGliLmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+
CiAKK3N0cnVjdCBfRXdrX1RpbGVfTWF0cml4X0VudHJ5IHsKKyAgICBFSU5BX0lOTElTVDsKKyAg
ICBmbG9hdCB6b29tOworICAgIHVuc2lnbmVkIGxvbmcgY291bnQ7CisgICAgRWluYV9NYXRyaXhz
cGFyc2UgKm1hdHJpeDsKK307CisKK3R5cGVkZWYgc3RydWN0IF9Fd2tfVGlsZV9NYXRyaXhfRW50
cnkgRXdrX1RpbGVfTWF0cml4X0VudHJ5OworCiBzdHJ1Y3QgX0V3a19UaWxlX01hdHJpeCB7CiAg
ICAgRWluYV9NYXRyaXhzcGFyc2UgKm1hdHJpeDsKKyAgICBFaW5hX0lubGlzdCAqbWF0cmljZXM7
CiAgICAgRXdrX1RpbGVfVW51c2VkX0NhY2hlICp0dWM7CiAgICAgRXZhc19Db2xvcnNwYWNlIGNz
cGFjZTsKICAgICBzdHJ1Y3QgewpAQCAtNTksNiArNjksOCBAQCBzdGF0aWMgdWludDY0X3QgdGls
ZXNfbGVha2VkID0gMDsKIHN0YXRpYyB1aW50NjRfdCBieXRlc19sZWFrZWQgPSAwOwogI2VuZGlm
CiAKK0V3a19UaWxlX01hdHJpeF9FbnRyeSAqZXdrX3RpbGVfbWF0cml4X21hdHJpeF9mcm9tX3pv
b21fZ2V0KEV3a19UaWxlX01hdHJpeCAqdG0sIGZsb2F0IHpvb20pOworCiAvKiBjYWxsZWQgd2hl
biBtYXRyaXhzcGFyc2UgaXMgcmVzaXplZCBvciBmcmVlZCAqLwogc3RhdGljIHZvaWQgX2V3a190
aWxlX21hdHJpeF9jZWxsX2ZyZWUodm9pZCAqdXNlcl9kYXRhLCB2b2lkICpjZWxsX2RhdGEpCiB7
CkBAIC03OSwxMSArOTEsMTcgQEAgc3RhdGljIHZvaWQgX2V3a190aWxlX21hdHJpeF9jZWxsX2Zy
ZWUodm9pZCAqdXNlcl9kYXRhLCB2b2lkICpjZWxsX2RhdGEpCiAgICAgICAgIGlmICghZXdrX3Rp
bGVfdW51c2VkX2NhY2hlX3RpbGVfZ2V0KHRtLT50dWMsIHQpKQogICAgICAgICAgICAgRVJSKCJ0
aWxlICVwIHdhcyBub3QgaW4gY2FjaGUgJXA/IGxlYWtpbmcuLi4iLCB0LCB0bS0+dHVjKTsKICAg
ICAgICAgZWxzZSB7CisgICAgICAgICAgICBFd2tfVGlsZV9NYXRyaXhfRW50cnkgKmU7CiAgICAg
ICAgICAgICBEQkcoInRpbGUgY2VsbCBkb2VzIG5vdCBleGlzdCBhbnltb3JlLCBmcmVlIGl0ICVw
IiwgdCk7CiAjaWZkZWYgREVCVUdfTUVNX0xFQUtTCiAgICAgICAgICAgICB0bS0+c3RhdHMuYnl0
ZXMuZnJlZWQgKz0gdC0+Ynl0ZXM7CiAgICAgICAgICAgICB0bS0+c3RhdHMudGlsZXMuZnJlZWQr
KzsKICNlbmRpZgorICAgICAgICAgICAgZSA9IGV3a190aWxlX21hdHJpeF9tYXRyaXhfZnJvbV96
b29tX2dldCh0bSwgdC0+em9vbSk7CisgICAgICAgICAgICBpZiAoIWUpCisgICAgICAgICAgICAg
ICAgRVJSKCJjYW4ndCBmaW5kIG1hdHJpeCBmb3Igem9vbSAlMC4zZiIsIHQtPnpvb20pOworICAg
ICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGUtPmNvdW50LS07CiAgICAgICAgICAgICBl
d2tfdGlsZV9mcmVlKHQpOwogICAgICAgICB9CiAgICAgfQpAQCAtOTUsOSArMTEzLDE2IEBAIHN0
YXRpYyB2b2lkIF9ld2tfdGlsZV9tYXRyaXhfY2VsbF9mcmVlKHZvaWQgKnVzZXJfZGF0YSwgdm9p
ZCAqY2VsbF9kYXRhKQogc3RhdGljIHZvaWQgX2V3a190aWxlX21hdHJpeF90aWxlX2ZyZWUodm9p
ZCAqZGF0YSwgRXdrX1RpbGUgKnQpCiB7CiAgICAgRXdrX1RpbGVfTWF0cml4ICp0bSA9IGRhdGE7
CisgICAgRXdrX1RpbGVfTWF0cml4X0VudHJ5ICplOwogICAgIEVpbmFfTWF0cml4c3BhcnNlX0Nl
bGwgKmNlbGw7CiAgCi0gICAgaWYgKCFlaW5hX21hdHJpeHNwYXJzZV9jZWxsX2lkeF9nZXQodG0t
Pm1hdHJpeCwgdC0+cm93LCB0LT5jb2wsICZjZWxsKSkgeworICAgIGUgPSBld2tfdGlsZV9tYXRy
aXhfbWF0cml4X2Zyb21fem9vbV9nZXQodG0sIHQtPnpvb20pOworICAgIGlmICghZSkgeworICAg
ICAgICBFUlIoInJlbW92aW5nIHRpbGUgJXAgdGhhdCB3YXMgbm90IGluIGFueSBtYXRyaXg/IExl
YWtpbmcuLi4iLCB0KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmICghZWluYV9t
YXRyaXhzcGFyc2VfY2VsbF9pZHhfZ2V0KGUtPm1hdHJpeCwgdC0+cm93LCB0LT5jb2wsICZjZWxs
KSkgewogICAgICAgICBFUlIoInJlbW92aW5nIHRpbGUgJXAgdGhhdCB3YXMgbm90IGluIHRoZSBt
YXRyaXg/IExlYWtpbmcuLi4iLCB0KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTEyNSw2
ICsxNTAsMTMgQEAgc3RhdGljIHZvaWQgX2V3a190aWxlX21hdHJpeF90aWxlX2ZyZWUodm9pZCAq
ZGF0YSwgRXdrX1RpbGUgKnQpCiAgICAgdG0tPnN0YXRzLnRpbGVzLmZyZWVkKys7CiAjZW5kaWYK
IAorICAgIGUtPmNvdW50LS07CisgICAgaWYgKCFlLT5jb3VudCAmJiBlLT5tYXRyaXggIT0gdG0t
Pm1hdHJpeCkgeworICAgICAgICBlaW5hX21hdHJpeHNwYXJzZV9mcmVlKGUtPm1hdHJpeCk7Cisg
ICAgICAgIHRtLT5tYXRyaWNlcyA9IGVpbmFfaW5saXN0X3JlbW92ZSh0bS0+bWF0cmljZXMsIEVJ
TkFfSU5MSVNUX0dFVChlKSk7CisgICAgICAgIGZyZWUoZSk7CisgICAgfQorCiAgICAgZXdrX3Rp
bGVfZnJlZSh0KTsKIH0KIApAQCAtMTQwLDE1ICsxNzIsMTcgQEAgc3RhdGljIHZvaWQgX2V3a190
aWxlX21hdHJpeF90aWxlX2ZyZWUodm9pZCAqZGF0YSwgRXdrX1RpbGUgKnQpCiAgKiAgICAgICAg
YXV0b21hdGljYWxseS4KICAqIEBwYXJhbSBjb2xzIG51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBt
YXRyaXguCiAgKiBAcGFyYW0gcm93cyBudW1iZXIgb2Ygcm93cyBpbiB0aGUgbWF0cml4LgorICog
QHBhcmFtIGN1cnJlbnRfem9vbSBjdXJyZW50IHpvb20gbGV2ZWwgZm9yIHRoZSBtYXRyaXguCiAg
KiBAcGFyYW0gY3NwYWNlIHRoZSBjb2xvciBzcGFjZSB1c2VkIHRvIGNyZWF0ZSB0aWxlcyBpbiB0
aGlzIG1hdHJpeC4KICAqIEBwYXJhbSByZW5kZXJfY2IgZnVuY3Rpb24gdXNlZCB0byByZW5kZXIg
Z2l2ZW4gdGlsZSB1cGRhdGUuCiAgKiBAcGFyYW0gcmVuZGVyX2RhdGEgY29udGV4dCB0byBnaXZl
IGJhY2sgdG8gQGEgcmVuZGVyX2NiLgogICoKICAqIEByZXR1cm4gbmV3bHkgYWxsb2NhdGVkIGlu
c3RhbmNlIG9uIHN1Y2Nlc3MsIEBjIE5VTEwgb24gZmFpbHVyZS4KICAqLwotRXdrX1RpbGVfTWF0
cml4ICpld2tfdGlsZV9tYXRyaXhfbmV3KEV3a19UaWxlX1VudXNlZF9DYWNoZSAqdHVjLCB1bnNp
Z25lZCBsb25nIGNvbHMsIHVuc2lnbmVkIGxvbmcgcm93cywgRXZhc19Db2xvcnNwYWNlIGNzcGFj
ZSwgdm9pZCAoKnJlbmRlcl9jYikodm9pZCAqZGF0YSwgRXdrX1RpbGUgKnQsIGNvbnN0IEVpbmFf
UmVjdGFuZ2xlICp1cGRhdGUpLCBjb25zdCB2b2lkICpyZW5kZXJfZGF0YSkKK0V3a19UaWxlX01h
dHJpeCAqZXdrX3RpbGVfbWF0cml4X25ldyhFd2tfVGlsZV9VbnVzZWRfQ2FjaGUgKnR1YywgdW5z
aWduZWQgbG9uZyBjb2xzLCB1bnNpZ25lZCBsb25nIHJvd3MsIGZsb2F0IGN1cnJlbnRfem9vbSwg
RXZhc19Db2xvcnNwYWNlIGNzcGFjZSwgdm9pZCAoKnJlbmRlcl9jYikodm9pZCAqZGF0YSwgRXdr
X1RpbGUgKnQsIGNvbnN0IEVpbmFfUmVjdGFuZ2xlICp1cGRhdGUpLCBjb25zdCB2b2lkICpyZW5k
ZXJfZGF0YSkKIHsKICAgICBFd2tfVGlsZV9NYXRyaXggKnRtOworICAgIEV3a19UaWxlX01hdHJp
eF9FbnRyeSAqZTsKIAogICAgIENBTExPQ19PUl9PT01fUkVUKHRtLCBzaXplb2YoRXdrX1RpbGVf
TWF0cml4KSwgTlVMTCk7CiAKQEAgLTE1OSw2ICsxOTMsMTEgQEAgRXdrX1RpbGVfTWF0cml4ICpl
d2tfdGlsZV9tYXRyaXhfbmV3KEV3a19UaWxlX1VudXNlZF9DYWNoZSAqdHVjLCB1bnNpZ25lZCBs
b25nIGMKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCisgICAgQ0FMTE9DX09SX09PTV9S
RVQoZSwgc2l6ZW9mKEV3a19UaWxlX01hdHJpeF9FbnRyeSksIE5VTEwpOworICAgIGUtPnpvb20g
PSBjdXJyZW50X3pvb207CisgICAgZS0+Y291bnQgPSAwOworICAgIGUtPm1hdHJpeCA9IHRtLT5t
YXRyaXg7CisgICAgdG0tPm1hdHJpY2VzID0gZWluYV9pbmxpc3RfYXBwZW5kKE5VTEwsIEVJTkFf
SU5MSVNUX0dFVChlKSk7CiAgICAgaWYgKHR1YykKICAgICAgICAgdG0tPnR1YyA9IGV3a190aWxl
X3VudXNlZF9jYWNoZV9yZWYodHVjKTsKICAgICBlbHNlIHsKQEAgLTE4MCw2ICsyMTksNzIgQEAg
RXdrX1RpbGVfTWF0cml4ICpld2tfdGlsZV9tYXRyaXhfbmV3KEV3a19UaWxlX1VudXNlZF9DYWNo
ZSAqdHVjLCB1bnNpZ25lZCBsb25nIGMKICAgICByZXR1cm4gdG07CiB9CiAKK3ZvaWQgZXdrX3Rp
bGVfbWF0cml4X2NoYW5nZV9tYXRyaXgoRXdrX1RpbGVfTWF0cml4ICp0bSwgZmxvYXQgem9vbSkK
K3sKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTih0bSk7CisgICAgRXdrX1RpbGVfTWF0
cml4X0VudHJ5ICppdHIsICptID0gTlVMTDsKKyAgICB1bnNpZ25lZCBsb25nIHJvd3MsIGNvbHM7
CisKKyAgICBlaW5hX21hdHJpeHNwYXJzZV9zaXplX2dldCh0bS0+bWF0cml4LCAmcm93cywgJmNv
bHMpOworCisgICAgRUlOQV9JTkxJU1RfRk9SRUFDSCh0bS0+bWF0cmljZXMsIGl0cikgeworICAg
ICAgICBpZiAoaXRyLT56b29tICE9IHpvb20pCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAg
ICAgbSA9IGl0cjsKKyAgICAgICAgdG0tPm1hdHJpY2VzID0gZWluYV9pbmxpc3RfcHJvbW90ZSh0
bS0+bWF0cmljZXMsIEVJTkFfSU5MSVNUX0dFVChtKSk7CisgICAgICAgIGVpbmFfbWF0cml4c3Bh
cnNlX3NpemVfc2V0KG0tPm1hdHJpeCwgcm93cywgY29scyk7CisgICAgfQorCisgICAgaWYgKCFt
KSB7CisgICAgICAgIENBTExPQ19PUl9PT01fUkVUKG0sIHNpemVvZihFd2tfVGlsZV9NYXRyaXhf
RW50cnkpKTsKKyAgICAgICAgbS0+em9vbSA9IHpvb207CisgICAgICAgIG0tPm1hdHJpeCA9IGVp
bmFfbWF0cml4c3BhcnNlX25ldygKKyAgICAgICAgICAgIHJvd3MsIGNvbHMsIF9ld2tfdGlsZV9t
YXRyaXhfY2VsbF9mcmVlLCB0bSk7CisgICAgICAgIGlmICghbS0+bWF0cml4KSB7CisgICAgICAg
ICAgICBFUlIoImNvdWxkIG5vdCBjcmVhdGUgc3BhcnNlIG1hdHJpeC4iKTsKKyAgICAgICAgICAg
IGZyZWUobSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgdG0tPm1h
dHJpY2VzID0gZWluYV9pbmxpc3RfcHJlcGVuZCh0bS0+bWF0cmljZXMsIEVJTkFfSU5MSVNUX0dF
VChtKSk7CisgICAgfQorCisgICAgdG0tPm1hdHJpeCA9IG0tPm1hdHJpeDsKK30KKworRXdrX1Rp
bGVfTWF0cml4X0VudHJ5ICpld2tfdGlsZV9tYXRyaXhfbWF0cml4X2Zyb21fem9vbV9nZXQoRXdr
X1RpbGVfTWF0cml4ICp0bSwgZmxvYXQgem9vbSkKK3sKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxM
X1JFVFVSTl9WQUwodG0sIE5VTEwpOworICAgIEV3a19UaWxlX01hdHJpeF9FbnRyeSAqaXRyOwor
CisgICAgRUlOQV9JTkxJU1RfRk9SRUFDSCh0bS0+bWF0cmljZXMsIGl0cikgeworICAgICAgICBp
ZiAoaXRyLT56b29tID09IHpvb20pCisgICAgICAgICAgICByZXR1cm4gaXRyOworICAgIH0KKwor
ICAgIHJldHVybiBOVUxMOworfQorCit2b2lkIGV3a190aWxlX21hdHJpeF9pbnZhbGlkYXRlX21h
dHJpY2VzKEV3a19UaWxlX01hdHJpeCAqdG0pCit7CisgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9S
RVRVUk4odG0pOworICAgIEV3a19UaWxlX01hdHJpeF9FbnRyeSAqaXRyOworICAgIEVpbmFfSW5s
aXN0ICpsOworCisgICAgbCA9IHRtLT5tYXRyaWNlczsKKyAgICB3aGlsZSAobCkgeworICAgICAg
ICBpdHIgPSBFSU5BX0lOTElTVF9DT05UQUlORVJfR0VUKGwsIEV3a19UaWxlX01hdHJpeF9FbnRy
eSk7CisgICAgICAgIEVpbmFfSW5saXN0ICpuZXh0ID0gKGwtPm5leHQpID8gbC0+bmV4dCA6IE5V
TEw7CisKKyAgICAgICAgaWYgKGl0ci0+bWF0cml4ICE9IHRtLT5tYXRyaXgpIHsKKyAgICAgICAg
ICAgIGVpbmFfbWF0cml4c3BhcnNlX2ZyZWUoaXRyLT5tYXRyaXgpOworICAgICAgICAgICAgdG0t
Pm1hdHJpY2VzID0gZWluYV9pbmxpc3RfcmVtb3ZlKHRtLT5tYXRyaWNlcywgbCk7CisgICAgICAg
ICAgICBmcmVlKGl0cik7CisgICAgICAgIH0KKworICAgICAgICBsID0gbmV4dDsKKyAgICB9Cit9
CisKIC8qKgogICogRGVzdHJveXMgdGlsZXMgbWF0cml4LCByZWxlYXNpbmcgaXRzIHJlc291cmNl
cy4KICAqCkBAIC0xOTIsOSArMjk3LDE1IEBAIHZvaWQgZXdrX3RpbGVfbWF0cml4X2ZyZWUoRXdr
X1RpbGVfTWF0cml4ICp0bSkKICNlbmRpZgogCiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRV
Uk4odG0pOworICAgIEV3a19UaWxlX01hdHJpeF9FbnRyeSAqbTsKKwogICAgIGV3a190aWxlX3Vu
dXNlZF9jYWNoZV9mcmVlemUodG0tPnR1Yyk7CiAKLSAgICBlaW5hX21hdHJpeHNwYXJzZV9mcmVl
KHRtLT5tYXRyaXgpOworICAgIGV3a190aWxlX21hdHJpeF9pbnZhbGlkYXRlX21hdHJpY2VzKHRt
KTsKKyAgICBtID0gRUlOQV9JTkxJU1RfQ09OVEFJTkVSX0dFVCh0bS0+bWF0cmljZXMsIEV3a19U
aWxlX01hdHJpeF9FbnRyeSk7CisgICAgZWluYV9tYXRyaXhzcGFyc2VfZnJlZShtLT5tYXRyaXgp
OworICAgIGZyZWUobSk7CisgICAgdG0tPm1hdHJpY2VzID0gTlVMTDsKIAogICAgIGV3a190aWxl
X3VudXNlZF9jYWNoZV90aGF3KHRtLT50dWMpOwogICAgIGV3a190aWxlX3VudXNlZF9jYWNoZV91
bnJlZih0bS0+dHVjKTsKQEAgLTMyNywxMCArNDM4LDE4IEBAIEV3a19UaWxlICpld2tfdGlsZV9t
YXRyaXhfdGlsZV9uZXcoRXdrX1RpbGVfTWF0cml4ICp0bSwgRXZhcyAqZXZhcywgdW5zaWduZWQg
bG9uCiB7CiAgICAgRXZhc19Db29yZCB0dywgdGg7CiAgICAgRXdrX1RpbGUgKnQ7CisgICAgRXdr
X1RpbGVfTWF0cml4X0VudHJ5ICplOwogCiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5f
VkFMKHRtLCBOVUxMKTsKICAgICBFSU5BX1NBRkVUWV9PTl9GQUxTRV9SRVRVUk5fVkFMKHpvb20g
PiAwLjAsIE5VTEwpOwogCisgICAgZSA9IGV3a190aWxlX21hdHJpeF9tYXRyaXhfZnJvbV96b29t
X2dldCh0bSwgem9vbSk7CisgICAgaWYgKCFlKSB7CisgICAgICAgIEVSUigiY291bGQgbm90IGdl
dCBtYXRyaXggYXQgem9vbSAlZiBmb3IgdGlsZSIsIHpvb20pOworICAgICAgICByZXR1cm4gTlVM
TDsKKyAgICB9CisgICAgZS0+Y291bnQrKzsKKwogICAgIHR3ID0gdG0tPnRpbGUudzsKICAgICB0
aCA9IHRtLT50aWxlLmg7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tf
dGlsZWRfbWF0cml4LmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3RpbGVkX21hdHJpeC5o
CmluZGV4IGM0MzdjMzcuLmQxMjFkZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3
ay9ld2tfdGlsZWRfbWF0cml4LmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxl
ZF9tYXRyaXguaApAQCAtMjYsMTAgKzI2LDEyIEBACiAjaW5jbHVkZSA8RXZhcy5oPgogCiAvKiBt
YXRyaXggb2YgdGlsZXMgKi8KLUV3a19UaWxlX01hdHJpeCogZXdrX3RpbGVfbWF0cml4X25ldyhF
d2tfVGlsZV9VbnVzZWRfQ2FjaGUqIHR1YywgdW5zaWduZWQgbG9uZyBjb2xzLCB1bnNpZ25lZCBs
b25nIHJvd3MsIEV2YXNfQ29sb3JzcGFjZSBjc3BhY2UsIHZvaWQgKCogcmVuZGVyX2NiKSh2b2lk
KiBkYXRhLCBFd2tfVGlsZSogdCwgY29uc3QgRWluYV9SZWN0YW5nbGUqIHVwZGF0ZSksIGNvbnN0
IHZvaWQqIHJlbmRlcl9kYXRhKTsKK0V3a19UaWxlX01hdHJpeCAqZXdrX3RpbGVfbWF0cml4X25l
dyhFd2tfVGlsZV9VbnVzZWRfQ2FjaGUgKnR1YywgdW5zaWduZWQgbG9uZyBjb2xzLCB1bnNpZ25l
ZCBsb25nIHJvd3MsIGZsb2F0IGN1cnJlbnRfem9vbSwgRXZhc19Db2xvcnNwYWNlIGNzcGFjZSwg
dm9pZCAoKnJlbmRlcl9jYikodm9pZCAqZGF0YSwgRXdrX1RpbGUgKnQsIGNvbnN0IEVpbmFfUmVj
dGFuZ2xlICp1cGRhdGUpLCBjb25zdCB2b2lkICpyZW5kZXJfZGF0YSk7CiB2b2lkIGV3a190aWxl
X21hdHJpeF9mcmVlKEV3a19UaWxlX01hdHJpeCogdG0pOwogCiB2b2lkIGV3a190aWxlX21hdHJp
eF9yZXNpemUoRXdrX1RpbGVfTWF0cml4KiB0bSwgdW5zaWduZWQgbG9uZyBjb2xzLCB1bnNpZ25l
ZCBsb25nIHJvd3MpOwordm9pZCBld2tfdGlsZV9tYXRyaXhfY2hhbmdlX21hdHJpeChFd2tfVGls
ZV9NYXRyaXggKnRtLCBmbG9hdCB6b29tKTsKK3ZvaWQgZXdrX3RpbGVfbWF0cml4X2ludmFsaWRh
dGVfbWF0cmljZXMoRXdrX1RpbGVfTWF0cml4ICp0bSk7CiAKIEV3a19UaWxlX1VudXNlZF9DYWNo
ZSogZXdrX3RpbGVfbWF0cml4X3VudXNlZF9jYWNoZV9nZXQoY29uc3QgRXdrX1RpbGVfTWF0cml4
KiB0bSk7CiAK
</data>
<flag name="commit-queue"
          id="105218"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108321</attachid>
            <date>2011-09-22 06:10:53 -0700</date>
            <delta_ts>2011-10-14 19:55:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0922_matrix_list_2.patch</filename>
            <type>text/plain</type>
            <size>12037</size>
            <attacher name="KwangHyuk">hyuki.kim</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCBlYmJlYWYxLi45ZTQ0OGMwIDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjkgQEAKKzIwMTEtMDktMjEgIEt3YW5nSHl1ayBLaW0gIDxoeXVraS5raW1Ac2Ft
c3VuZy5jb20+CisKKyAgICAgICAgW0VGTF0gQWRkIG1hdHJpeCBsaXN0IHRvIHJldXNlIHRpbGUg
bWF0cml4IGZvciBlYWNoIGRpZmZlcmVudCB6b29tIGxldmVsLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1OTUKKworICAgICAgICBNYXRyaXggbGlz
dCBrZWVwcyBlYWNoIHRpbGVkIG1hdHJpeCBmb3IgZGlmZmVyZW50IHpvb20gbGV2ZWwgd2hlbiB6
b29tIGxldmVsIGlzIGNoYW5nZWQuCisgICAgICAgIEFuZCB0aGVuIGl0IHdpbGwgcmVzdWUgdGhl
IHRpbGUgbWF0cml4IHByZXZpb3VzbHkgY3JlYXRlZCBieSBnZXR0aW5nIGl0IGZyb20gdGhpcyBt
YXRyaXggbGlzdC4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGV3ay9ld2tfdGlsZWRfYmFja2luZ19zdG9yZS5jOgorICAgICAgICAoX2V3a190aWxl
ZF9iYWNraW5nX3N0b3JlX21vZGVsX21hdHJpeF9jcmVhdGUpOgorICAgICAgICAoX2V3a190aWxl
ZF9iYWNraW5nX3N0b3JlX3NtYXJ0X2NhbGN1bGF0ZSk6CisgICAgICAgIChfZXdrX3RpbGVkX2Jh
Y2tpbmdfc3RvcmVfem9vbV9zZXRfaW50ZXJuYWwpOgorICAgICAgICAoZXdrX3RpbGVkX2JhY2tp
bmdfc3RvcmVfY29udGVudHNfcmVzaXplKToKKyAgICAgICAgKiBld2svZXdrX3RpbGVkX21hdHJp
eC5jOgorICAgICAgICAoX2V3a190aWxlX21hdHJpeF9jZWxsX2ZyZWUpOgorICAgICAgICAoX2V3
a190aWxlX21hdHJpeF90aWxlX2ZyZWUpOgorICAgICAgICAoZXdrX3RpbGVfbWF0cml4X25ldyk6
CisgICAgICAgIChld2tfdGlsZV9tYXRyaXhfY2hhbmdlX21hdHJpeCk6CisgICAgICAgIChld2tf
dGlsZV9tYXRyaXhfbWF0cml4X2Zyb21fem9vbV9nZXQpOgorICAgICAgICAoZXdrX3RpbGVfbWF0
cml4X2ludmFsaWRhdGVfbWF0cmljZXMpOgorICAgICAgICAoZXdrX3RpbGVfbWF0cml4X2ZyZWUp
OgorICAgICAgICAoZXdrX3RpbGVfbWF0cml4X3RpbGVfbmV3KToKKyAgICAgICAgKiBld2svZXdr
X3RpbGVkX21hdHJpeC5oOgorCiAyMDExLTA5LTIxICBMdWNhcyBEZSBNYXJjaGkgIDxsdWNhcy5k
ZW1hcmNoaUBwcm9mdXNpb24ubW9iaT4KIAogICAgICAgICBbRUZMXSBSZXZlcnQgcG9pbnRlciBv
cGVyYXRvciBjb2Rpbmcgc3R5bGUgaW4gZXdrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9ld2svZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmUuYyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9l
d2tfdGlsZWRfYmFja2luZ19zdG9yZS5jCmluZGV4IDc2YTk5ZjguLmFlYjlhYTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfYmFja2luZ19zdG9yZS5jCisrKyBi
L1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfYmFja2luZ19zdG9yZS5jCkBAIC0xMTYs
NiArMTE2LDcgQEAgc3RydWN0IF9Fd2tfVGlsZWRfQmFja2luZ19TdG9yZV9EYXRhIHsKICAgICAg
ICAgRWluYV9Cb29sIHNpemU6MTsKICAgICAgICAgRWluYV9Cb29sIG1vZGVsOjE7CiAgICAgICAg
IEVpbmFfQm9vbCBvZmZzZXQ6MTsKKyAgICAgICAgRWluYV9Cb29sIGxheW91dDoxOwogICAgIH0g
Y2hhbmdlZDsKICNpZmRlZiBERUJVR19NRU1fTEVBS1MKICAgICBFY29yZV9FdmVudF9IYW5kbGVy
ICpzaWdfdXNyOwpAQCAtNjMyLDcgKzYzMyw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBfZXdrX3Rp
bGVkX2JhY2tpbmdfc3RvcmVfbW9kZWxfbWF0cml4X2NyZWF0ZShFd2tfVGlsZWRfQmFja2luCiAg
ICAgICAgIGV3a190aWxlX21hdHJpeF9mcmVlKHByaXYtPm1vZGVsLm1hdHJpeCk7CiAgICAgfQog
Ci0gICAgcHJpdi0+bW9kZWwubWF0cml4ID0gZXdrX3RpbGVfbWF0cml4X25ldyh0dWMsIHByaXYt
Pm1vZGVsLmN1ci5jb2xzLCBwcml2LT5tb2RlbC5jdXIucm93cywgcHJpdi0+Y3NwYWNlLCBfZXdr
X3RpbGVkX2JhY2tpbmdfc3RvcmVfcmVuZGVyLCBwcml2KTsKKyAgICBwcml2LT5tb2RlbC5tYXRy
aXggPSBld2tfdGlsZV9tYXRyaXhfbmV3KHR1YywgcHJpdi0+bW9kZWwuY3VyLmNvbHMsIHByaXYt
Pm1vZGVsLmN1ci5yb3dzLCBwcml2LT52aWV3LnRpbGUuem9vbSwgcHJpdi0+Y3NwYWNlLCBfZXdr
X3RpbGVkX2JhY2tpbmdfc3RvcmVfcmVuZGVyLCBwcml2KTsKIH0KIAogc3RhdGljIHZvaWQgX2V3
a190aWxlZF9iYWNraW5nX3N0b3JlX3NtYXJ0X21lbWJlcl9kZWwoRXZhc19PYmplY3QgKm8sIEV2
YXNfT2JqZWN0ICptZW1iZXIpCkBAIC0xMzA1LDYgKzEzMDYsMTAgQEAgc3RhdGljIHZvaWQgX2V3
a190aWxlZF9iYWNraW5nX3N0b3JlX3NtYXJ0X2NhbGN1bGF0ZShFdmFzX09iamVjdCAqbykKIAog
ICAgIGV3a190aWxlX21hdHJpeF9mcmVlemUocHJpdi0+bW9kZWwubWF0cml4KTsKIAorICAgIGlm
IChwcml2LT5jaGFuZ2VkLmxheW91dCkgeworICAgICAgICBld2tfdGlsZV9tYXRyaXhfaW52YWxp
ZGF0ZV9tYXRyaWNlcyhwcml2LT5tb2RlbC5tYXRyaXgpOworICAgICAgICBwcml2LT5jaGFuZ2Vk
LmxheW91dCA9IEVJTkFfRkFMU0U7CisgICAgfQogICAgIGlmICghcHJpdi0+cmVuZGVyLnN1c3Bl
bmQgJiYgcHJpdi0+Y2hhbmdlZC5tb2RlbCkgewogICAgICAgICB1bnNpZ25lZCBsb25nIGNvbHMs
IHJvd3M7CiAKQEAgLTE0ODksNiArMTQ5NCw3IEBAIHN0YXRpYyBFaW5hX0Jvb2wgX2V3a190aWxl
ZF9iYWNraW5nX3N0b3JlX3pvb21fc2V0X2ludGVybmFsKEV3a19UaWxlZF9CYWNraW5nX1N0CiAg
ICAgcHJpdi0+dmlldy5vZmZzZXQuem9vbV9jZW50ZXIueCA9IGN4OwogICAgIHByaXYtPnZpZXcu
b2Zmc2V0Lnpvb21fY2VudGVyLnkgPSBjeTsKIAorICAgIGV3a190aWxlX21hdHJpeF9jaGFuZ2Vf
bWF0cml4KHByaXYtPm1vZGVsLm1hdHJpeCwgKnpvb20pOwogCiAgICAgaWYgKCFwcml2LT52aWV3
LncgfHwgIXByaXYtPnZpZXcuaCkgewogICAgICAgICBwcml2LT52aWV3Lm9mZnNldC5iYXNlLngg
PSAwOwpAQCAtMTc3NSw2ICsxNzgxLDcgQEAgdm9pZCBld2tfdGlsZWRfYmFja2luZ19zdG9yZV9j
b250ZW50c19yZXNpemUoRXZhc19PYmplY3QgKm8sIEV2YXNfQ29vcmQgd2lkdGgsIEUKICAgICBw
cml2LT5tb2RlbC53aWR0aCA9IHdpZHRoOwogICAgIHByaXYtPm1vZGVsLmhlaWdodCA9IGhlaWdo
dDsKICAgICBwcml2LT5jaGFuZ2VkLm1vZGVsID0gRUlOQV9UUlVFOworICAgIHByaXYtPmNoYW5n
ZWQubGF5b3V0ID0gRUlOQV9UUlVFOwogCiAgICAgREJHKCJ3aWR0aCxoZWlnaHQ9JWQsICVkIiwg
d2lkdGgsIGhlaWdodCk7CiAgICAgX2V3a190aWxlZF9iYWNraW5nX3N0b3JlX2NoYW5nZWQocHJp
dik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3RpbGVkX21hdHJpeC5j
IGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxlZF9tYXRyaXguYwppbmRleCBjMmY5Yzg0
Li40NDc0ZGM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3RpbGVkX21h
dHJpeC5jCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfbWF0cml4LmMKQEAg
LTMyLDggKzMyLDE4IEBACiAjaW5jbHVkZSA8c3RkbGliLmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+
CiAKK3N0cnVjdCBfRXdrX1RpbGVfTWF0cml4X0VudHJ5IHsKKyAgICBFSU5BX0lOTElTVDsKKyAg
ICBmbG9hdCB6b29tOworICAgIHVuc2lnbmVkIGxvbmcgY291bnQ7CisgICAgRWluYV9NYXRyaXhz
cGFyc2UgKm1hdHJpeDsKK307CisKK3R5cGVkZWYgc3RydWN0IF9Fd2tfVGlsZV9NYXRyaXhfRW50
cnkgRXdrX1RpbGVfTWF0cml4X0VudHJ5OworCiBzdHJ1Y3QgX0V3a19UaWxlX01hdHJpeCB7CiAg
ICAgRWluYV9NYXRyaXhzcGFyc2UgKm1hdHJpeDsKKyAgICBFaW5hX0lubGlzdCAqbWF0cmljZXM7
CiAgICAgRXdrX1RpbGVfVW51c2VkX0NhY2hlICp0dWM7CiAgICAgRXZhc19Db2xvcnNwYWNlIGNz
cGFjZTsKICAgICBzdHJ1Y3QgewpAQCAtNTksNiArNjksOCBAQCBzdGF0aWMgdWludDY0X3QgdGls
ZXNfbGVha2VkID0gMDsKIHN0YXRpYyB1aW50NjRfdCBieXRlc19sZWFrZWQgPSAwOwogI2VuZGlm
CiAKK0V3a19UaWxlX01hdHJpeF9FbnRyeSAqZXdrX3RpbGVfbWF0cml4X21hdHJpeF9mcm9tX3pv
b21fZ2V0KEV3a19UaWxlX01hdHJpeCAqdG0sIGZsb2F0IHpvb20pOworCiAvKiBjYWxsZWQgd2hl
biBtYXRyaXhzcGFyc2UgaXMgcmVzaXplZCBvciBmcmVlZCAqLwogc3RhdGljIHZvaWQgX2V3a190
aWxlX21hdHJpeF9jZWxsX2ZyZWUodm9pZCAqdXNlcl9kYXRhLCB2b2lkICpjZWxsX2RhdGEpCiB7
CkBAIC03OSwxMSArOTEsMTcgQEAgc3RhdGljIHZvaWQgX2V3a190aWxlX21hdHJpeF9jZWxsX2Zy
ZWUodm9pZCAqdXNlcl9kYXRhLCB2b2lkICpjZWxsX2RhdGEpCiAgICAgICAgIGlmICghZXdrX3Rp
bGVfdW51c2VkX2NhY2hlX3RpbGVfZ2V0KHRtLT50dWMsIHQpKQogICAgICAgICAgICAgRVJSKCJ0
aWxlICVwIHdhcyBub3QgaW4gY2FjaGUgJXA/IGxlYWtpbmcuLi4iLCB0LCB0bS0+dHVjKTsKICAg
ICAgICAgZWxzZSB7CisgICAgICAgICAgICBFd2tfVGlsZV9NYXRyaXhfRW50cnkgKmU7CiAgICAg
ICAgICAgICBEQkcoInRpbGUgY2VsbCBkb2VzIG5vdCBleGlzdCBhbnltb3JlLCBmcmVlIGl0ICVw
IiwgdCk7CiAjaWZkZWYgREVCVUdfTUVNX0xFQUtTCiAgICAgICAgICAgICB0bS0+c3RhdHMuYnl0
ZXMuZnJlZWQgKz0gdC0+Ynl0ZXM7CiAgICAgICAgICAgICB0bS0+c3RhdHMudGlsZXMuZnJlZWQr
KzsKICNlbmRpZgorICAgICAgICAgICAgZSA9IGV3a190aWxlX21hdHJpeF9tYXRyaXhfZnJvbV96
b29tX2dldCh0bSwgdC0+em9vbSk7CisgICAgICAgICAgICBpZiAoIWUpCisgICAgICAgICAgICAg
ICAgRVJSKCJjYW4ndCBmaW5kIG1hdHJpeCBmb3Igem9vbSAlMC4zZiIsIHQtPnpvb20pOworICAg
ICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGUtPmNvdW50LS07CiAgICAgICAgICAgICBl
d2tfdGlsZV9mcmVlKHQpOwogICAgICAgICB9CiAgICAgfQpAQCAtOTUsOSArMTEzLDE2IEBAIHN0
YXRpYyB2b2lkIF9ld2tfdGlsZV9tYXRyaXhfY2VsbF9mcmVlKHZvaWQgKnVzZXJfZGF0YSwgdm9p
ZCAqY2VsbF9kYXRhKQogc3RhdGljIHZvaWQgX2V3a190aWxlX21hdHJpeF90aWxlX2ZyZWUodm9p
ZCAqZGF0YSwgRXdrX1RpbGUgKnQpCiB7CiAgICAgRXdrX1RpbGVfTWF0cml4ICp0bSA9IGRhdGE7
CisgICAgRXdrX1RpbGVfTWF0cml4X0VudHJ5ICplOwogICAgIEVpbmFfTWF0cml4c3BhcnNlX0Nl
bGwgKmNlbGw7CiAgCi0gICAgaWYgKCFlaW5hX21hdHJpeHNwYXJzZV9jZWxsX2lkeF9nZXQodG0t
Pm1hdHJpeCwgdC0+cm93LCB0LT5jb2wsICZjZWxsKSkgeworICAgIGUgPSBld2tfdGlsZV9tYXRy
aXhfbWF0cml4X2Zyb21fem9vbV9nZXQodG0sIHQtPnpvb20pOworICAgIGlmICghZSkgeworICAg
ICAgICBFUlIoInJlbW92aW5nIHRpbGUgJXAgdGhhdCB3YXMgbm90IGluIGFueSBtYXRyaXg/IExl
YWtpbmcuLi4iLCB0KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmICghZWluYV9t
YXRyaXhzcGFyc2VfY2VsbF9pZHhfZ2V0KGUtPm1hdHJpeCwgdC0+cm93LCB0LT5jb2wsICZjZWxs
KSkgewogICAgICAgICBFUlIoInJlbW92aW5nIHRpbGUgJXAgdGhhdCB3YXMgbm90IGluIHRoZSBt
YXRyaXg/IExlYWtpbmcuLi4iLCB0KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTEyNSw2
ICsxNTAsMTMgQEAgc3RhdGljIHZvaWQgX2V3a190aWxlX21hdHJpeF90aWxlX2ZyZWUodm9pZCAq
ZGF0YSwgRXdrX1RpbGUgKnQpCiAgICAgdG0tPnN0YXRzLnRpbGVzLmZyZWVkKys7CiAjZW5kaWYK
IAorICAgIGUtPmNvdW50LS07CisgICAgaWYgKCFlLT5jb3VudCAmJiBlLT5tYXRyaXggIT0gdG0t
Pm1hdHJpeCkgeworICAgICAgICBlaW5hX21hdHJpeHNwYXJzZV9mcmVlKGUtPm1hdHJpeCk7Cisg
ICAgICAgIHRtLT5tYXRyaWNlcyA9IGVpbmFfaW5saXN0X3JlbW92ZSh0bS0+bWF0cmljZXMsIEVJ
TkFfSU5MSVNUX0dFVChlKSk7CisgICAgICAgIGZyZWUoZSk7CisgICAgfQorCiAgICAgZXdrX3Rp
bGVfZnJlZSh0KTsKIH0KIApAQCAtMTQwLDE1ICsxNzIsMTcgQEAgc3RhdGljIHZvaWQgX2V3a190
aWxlX21hdHJpeF90aWxlX2ZyZWUodm9pZCAqZGF0YSwgRXdrX1RpbGUgKnQpCiAgKiAgICAgICAg
YXV0b21hdGljYWxseS4KICAqIEBwYXJhbSBjb2xzIG51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBt
YXRyaXguCiAgKiBAcGFyYW0gcm93cyBudW1iZXIgb2Ygcm93cyBpbiB0aGUgbWF0cml4LgorICog
QHBhcmFtIGN1cnJlbnRfem9vbSBjdXJyZW50IHpvb20gbGV2ZWwgZm9yIHRoZSBtYXRyaXguCiAg
KiBAcGFyYW0gY3NwYWNlIHRoZSBjb2xvciBzcGFjZSB1c2VkIHRvIGNyZWF0ZSB0aWxlcyBpbiB0
aGlzIG1hdHJpeC4KICAqIEBwYXJhbSByZW5kZXJfY2IgZnVuY3Rpb24gdXNlZCB0byByZW5kZXIg
Z2l2ZW4gdGlsZSB1cGRhdGUuCiAgKiBAcGFyYW0gcmVuZGVyX2RhdGEgY29udGV4dCB0byBnaXZl
IGJhY2sgdG8gQGEgcmVuZGVyX2NiLgogICoKICAqIEByZXR1cm4gbmV3bHkgYWxsb2NhdGVkIGlu
c3RhbmNlIG9uIHN1Y2Nlc3MsIEBjIE5VTEwgb24gZmFpbHVyZS4KICAqLwotRXdrX1RpbGVfTWF0
cml4ICpld2tfdGlsZV9tYXRyaXhfbmV3KEV3a19UaWxlX1VudXNlZF9DYWNoZSAqdHVjLCB1bnNp
Z25lZCBsb25nIGNvbHMsIHVuc2lnbmVkIGxvbmcgcm93cywgRXZhc19Db2xvcnNwYWNlIGNzcGFj
ZSwgdm9pZCAoKnJlbmRlcl9jYikodm9pZCAqZGF0YSwgRXdrX1RpbGUgKnQsIGNvbnN0IEVpbmFf
UmVjdGFuZ2xlICp1cGRhdGUpLCBjb25zdCB2b2lkICpyZW5kZXJfZGF0YSkKK0V3a19UaWxlX01h
dHJpeCAqZXdrX3RpbGVfbWF0cml4X25ldyhFd2tfVGlsZV9VbnVzZWRfQ2FjaGUgKnR1YywgdW5z
aWduZWQgbG9uZyBjb2xzLCB1bnNpZ25lZCBsb25nIHJvd3MsIGZsb2F0IGN1cnJlbnRfem9vbSwg
RXZhc19Db2xvcnNwYWNlIGNzcGFjZSwgdm9pZCAoKnJlbmRlcl9jYikodm9pZCAqZGF0YSwgRXdr
X1RpbGUgKnQsIGNvbnN0IEVpbmFfUmVjdGFuZ2xlICp1cGRhdGUpLCBjb25zdCB2b2lkICpyZW5k
ZXJfZGF0YSkKIHsKICAgICBFd2tfVGlsZV9NYXRyaXggKnRtOworICAgIEV3a19UaWxlX01hdHJp
eF9FbnRyeSAqZTsKIAogICAgIENBTExPQ19PUl9PT01fUkVUKHRtLCBzaXplb2YoRXdrX1RpbGVf
TWF0cml4KSwgTlVMTCk7CiAKQEAgLTE1OSw2ICsxOTMsMTEgQEAgRXdrX1RpbGVfTWF0cml4ICpl
d2tfdGlsZV9tYXRyaXhfbmV3KEV3a19UaWxlX1VudXNlZF9DYWNoZSAqdHVjLCB1bnNpZ25lZCBs
b25nIGMKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCisgICAgQ0FMTE9DX09SX09PTV9S
RVQoZSwgc2l6ZW9mKEV3a19UaWxlX01hdHJpeF9FbnRyeSksIE5VTEwpOworICAgIGUtPnpvb20g
PSBjdXJyZW50X3pvb207CisgICAgZS0+Y291bnQgPSAwOworICAgIGUtPm1hdHJpeCA9IHRtLT5t
YXRyaXg7CisgICAgdG0tPm1hdHJpY2VzID0gZWluYV9pbmxpc3RfYXBwZW5kKE5VTEwsIEVJTkFf
SU5MSVNUX0dFVChlKSk7CiAgICAgaWYgKHR1YykKICAgICAgICAgdG0tPnR1YyA9IGV3a190aWxl
X3VudXNlZF9jYWNoZV9yZWYodHVjKTsKICAgICBlbHNlIHsKQEAgLTE4MCw2ICsyMTksNzIgQEAg
RXdrX1RpbGVfTWF0cml4ICpld2tfdGlsZV9tYXRyaXhfbmV3KEV3a19UaWxlX1VudXNlZF9DYWNo
ZSAqdHVjLCB1bnNpZ25lZCBsb25nIGMKICAgICByZXR1cm4gdG07CiB9CiAKK3ZvaWQgZXdrX3Rp
bGVfbWF0cml4X2NoYW5nZV9tYXRyaXgoRXdrX1RpbGVfTWF0cml4ICp0bSwgZmxvYXQgem9vbSkK
K3sKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTih0bSk7CisgICAgRXdrX1RpbGVfTWF0
cml4X0VudHJ5ICppdHIsICptID0gTlVMTDsKKyAgICB1bnNpZ25lZCBsb25nIHJvd3MsIGNvbHM7
CisKKyAgICBlaW5hX21hdHJpeHNwYXJzZV9zaXplX2dldCh0bS0+bWF0cml4LCAmcm93cywgJmNv
bHMpOworCisgICAgRUlOQV9JTkxJU1RfRk9SRUFDSCh0bS0+bWF0cmljZXMsIGl0cikgeworICAg
ICAgICBpZiAoaXRyLT56b29tICE9IHpvb20pCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAg
ICAgbSA9IGl0cjsKKyAgICAgICAgdG0tPm1hdHJpY2VzID0gZWluYV9pbmxpc3RfcHJvbW90ZSh0
bS0+bWF0cmljZXMsIEVJTkFfSU5MSVNUX0dFVChtKSk7CisgICAgICAgIGVpbmFfbWF0cml4c3Bh
cnNlX3NpemVfc2V0KG0tPm1hdHJpeCwgcm93cywgY29scyk7CisgICAgfQorCisgICAgaWYgKCFt
KSB7CisgICAgICAgIENBTExPQ19PUl9PT01fUkVUKG0sIHNpemVvZihFd2tfVGlsZV9NYXRyaXhf
RW50cnkpKTsKKyAgICAgICAgbS0+em9vbSA9IHpvb207CisgICAgICAgIG0tPm1hdHJpeCA9IGVp
bmFfbWF0cml4c3BhcnNlX25ldygKKyAgICAgICAgICAgIHJvd3MsIGNvbHMsIF9ld2tfdGlsZV9t
YXRyaXhfY2VsbF9mcmVlLCB0bSk7CisgICAgICAgIGlmICghbS0+bWF0cml4KSB7CisgICAgICAg
ICAgICBFUlIoImNvdWxkIG5vdCBjcmVhdGUgc3BhcnNlIG1hdHJpeC4iKTsKKyAgICAgICAgICAg
IGZyZWUobSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgdG0tPm1h
dHJpY2VzID0gZWluYV9pbmxpc3RfcHJlcGVuZCh0bS0+bWF0cmljZXMsIEVJTkFfSU5MSVNUX0dF
VChtKSk7CisgICAgfQorCisgICAgdG0tPm1hdHJpeCA9IG0tPm1hdHJpeDsKK30KKworRXdrX1Rp
bGVfTWF0cml4X0VudHJ5ICpld2tfdGlsZV9tYXRyaXhfbWF0cml4X2Zyb21fem9vbV9nZXQoRXdr
X1RpbGVfTWF0cml4ICp0bSwgZmxvYXQgem9vbSkKK3sKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxM
X1JFVFVSTl9WQUwodG0sIE5VTEwpOworICAgIEV3a19UaWxlX01hdHJpeF9FbnRyeSAqaXRyOwor
CisgICAgRUlOQV9JTkxJU1RfRk9SRUFDSCh0bS0+bWF0cmljZXMsIGl0cikgeworICAgICAgICBp
ZiAoaXRyLT56b29tID09IHpvb20pCisgICAgICAgICAgICByZXR1cm4gaXRyOworICAgIH0KKwor
ICAgIHJldHVybiBOVUxMOworfQorCit2b2lkIGV3a190aWxlX21hdHJpeF9pbnZhbGlkYXRlX21h
dHJpY2VzKEV3a19UaWxlX01hdHJpeCAqdG0pCit7CisgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9S
RVRVUk4odG0pOworICAgIEV3a19UaWxlX01hdHJpeF9FbnRyeSAqaXRyOworICAgIEVpbmFfSW5s
aXN0ICpsOworCisgICAgbCA9IHRtLT5tYXRyaWNlczsKKyAgICB3aGlsZSAobCkgeworICAgICAg
ICBpdHIgPSBFSU5BX0lOTElTVF9DT05UQUlORVJfR0VUKGwsIEV3a19UaWxlX01hdHJpeF9FbnRy
eSk7CisgICAgICAgIEVpbmFfSW5saXN0ICpuZXh0ID0gKGwtPm5leHQpID8gbC0+bmV4dCA6IE5V
TEw7CisKKyAgICAgICAgaWYgKGl0ci0+bWF0cml4ICE9IHRtLT5tYXRyaXgpIHsKKyAgICAgICAg
ICAgIGVpbmFfbWF0cml4c3BhcnNlX2ZyZWUoaXRyLT5tYXRyaXgpOworICAgICAgICAgICAgdG0t
Pm1hdHJpY2VzID0gZWluYV9pbmxpc3RfcmVtb3ZlKHRtLT5tYXRyaWNlcywgbCk7CisgICAgICAg
ICAgICBmcmVlKGl0cik7CisgICAgICAgIH0KKworICAgICAgICBsID0gbmV4dDsKKyAgICB9Cit9
CisKIC8qKgogICogRGVzdHJveXMgdGlsZXMgbWF0cml4LCByZWxlYXNpbmcgaXRzIHJlc291cmNl
cy4KICAqCkBAIC0xOTIsOSArMjk3LDE1IEBAIHZvaWQgZXdrX3RpbGVfbWF0cml4X2ZyZWUoRXdr
X1RpbGVfTWF0cml4ICp0bSkKICNlbmRpZgogCiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRV
Uk4odG0pOworICAgIEV3a19UaWxlX01hdHJpeF9FbnRyeSAqbTsKKwogICAgIGV3a190aWxlX3Vu
dXNlZF9jYWNoZV9mcmVlemUodG0tPnR1Yyk7CiAKLSAgICBlaW5hX21hdHJpeHNwYXJzZV9mcmVl
KHRtLT5tYXRyaXgpOworICAgIGV3a190aWxlX21hdHJpeF9pbnZhbGlkYXRlX21hdHJpY2VzKHRt
KTsKKyAgICBtID0gRUlOQV9JTkxJU1RfQ09OVEFJTkVSX0dFVCh0bS0+bWF0cmljZXMsIEV3a19U
aWxlX01hdHJpeF9FbnRyeSk7CisgICAgZWluYV9tYXRyaXhzcGFyc2VfZnJlZShtLT5tYXRyaXgp
OworICAgIGZyZWUobSk7CisgICAgdG0tPm1hdHJpY2VzID0gTlVMTDsKIAogICAgIGV3a190aWxl
X3VudXNlZF9jYWNoZV90aGF3KHRtLT50dWMpOwogICAgIGV3a190aWxlX3VudXNlZF9jYWNoZV91
bnJlZih0bS0+dHVjKTsKQEAgLTMyNywxMCArNDM4LDE4IEBAIEV3a19UaWxlICpld2tfdGlsZV9t
YXRyaXhfdGlsZV9uZXcoRXdrX1RpbGVfTWF0cml4ICp0bSwgRXZhcyAqZXZhcywgdW5zaWduZWQg
bG9uCiB7CiAgICAgRXZhc19Db29yZCB0dywgdGg7CiAgICAgRXdrX1RpbGUgKnQ7CisgICAgRXdr
X1RpbGVfTWF0cml4X0VudHJ5ICplOwogCiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5f
VkFMKHRtLCBOVUxMKTsKICAgICBFSU5BX1NBRkVUWV9PTl9GQUxTRV9SRVRVUk5fVkFMKHpvb20g
PiAwLjAsIE5VTEwpOwogCisgICAgZSA9IGV3a190aWxlX21hdHJpeF9tYXRyaXhfZnJvbV96b29t
X2dldCh0bSwgem9vbSk7CisgICAgaWYgKCFlKSB7CisgICAgICAgIEVSUigiY291bGQgbm90IGdl
dCBtYXRyaXggYXQgem9vbSAlZiBmb3IgdGlsZSIsIHpvb20pOworICAgICAgICByZXR1cm4gTlVM
TDsKKyAgICB9CisgICAgZS0+Y291bnQrKzsKKwogICAgIHR3ID0gdG0tPnRpbGUudzsKICAgICB0
aCA9IHRtLT50aWxlLmg7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tf
dGlsZWRfbWF0cml4LmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3RpbGVkX21hdHJpeC5o
CmluZGV4IGM0MzdjMzcuLmEyMDk2OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3
ay9ld2tfdGlsZWRfbWF0cml4LmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxl
ZF9tYXRyaXguaApAQCAtMjYsMTAgKzI2LDEyIEBACiAjaW5jbHVkZSA8RXZhcy5oPgogCiAvKiBt
YXRyaXggb2YgdGlsZXMgKi8KLUV3a19UaWxlX01hdHJpeCogZXdrX3RpbGVfbWF0cml4X25ldyhF
d2tfVGlsZV9VbnVzZWRfQ2FjaGUqIHR1YywgdW5zaWduZWQgbG9uZyBjb2xzLCB1bnNpZ25lZCBs
b25nIHJvd3MsIEV2YXNfQ29sb3JzcGFjZSBjc3BhY2UsIHZvaWQgKCogcmVuZGVyX2NiKSh2b2lk
KiBkYXRhLCBFd2tfVGlsZSogdCwgY29uc3QgRWluYV9SZWN0YW5nbGUqIHVwZGF0ZSksIGNvbnN0
IHZvaWQqIHJlbmRlcl9kYXRhKTsKK0V3a19UaWxlX01hdHJpeCogZXdrX3RpbGVfbWF0cml4X25l
dyhFd2tfVGlsZV9VbnVzZWRfQ2FjaGUqIHR1YywgdW5zaWduZWQgbG9uZyBjb2xzLCB1bnNpZ25l
ZCBsb25nIHJvd3MsIGZsb2F0IGN1cnJlbnRfem9vbSwgRXZhc19Db2xvcnNwYWNlIGNzcGFjZSwg
dm9pZCAoKiByZW5kZXJfY2IpKHZvaWQqIGRhdGEsIEV3a19UaWxlKiB0LCBjb25zdCBFaW5hX1Jl
Y3RhbmdsZSogdXBkYXRlKSwgY29uc3Qgdm9pZCogcmVuZGVyX2RhdGEpOwogdm9pZCBld2tfdGls
ZV9tYXRyaXhfZnJlZShFd2tfVGlsZV9NYXRyaXgqIHRtKTsKIAogdm9pZCBld2tfdGlsZV9tYXRy
aXhfcmVzaXplKEV3a19UaWxlX01hdHJpeCogdG0sIHVuc2lnbmVkIGxvbmcgY29scywgdW5zaWdu
ZWQgbG9uZyByb3dzKTsKK3ZvaWQgZXdrX3RpbGVfbWF0cml4X2NoYW5nZV9tYXRyaXgoRXdrX1Rp
bGVfTWF0cml4KiB0bSwgZmxvYXQgem9vbSk7Cit2b2lkIGV3a190aWxlX21hdHJpeF9pbnZhbGlk
YXRlX21hdHJpY2VzKEV3a19UaWxlX01hdHJpeCogdG0pOwogCiBFd2tfVGlsZV9VbnVzZWRfQ2Fj
aGUqIGV3a190aWxlX21hdHJpeF91bnVzZWRfY2FjaGVfZ2V0KGNvbnN0IEV3a19UaWxlX01hdHJp
eCogdG0pOwogCg==
</data>
<flag name="review"
          id="105254"
          type_id="1"
          status="-"
          setter="rakuco"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111121</attachid>
            <date>2011-10-14 19:55:50 -0700</date>
            <delta_ts>2011-10-14 20:21:52 -0700</delta_ts>
            <desc>Patch.</desc>
            <filename>1015_matrix_list.patch</filename>
            <type>text/plain</type>
            <size>12127</size>
            <attacher name="KwangHyuk">hyuki.kim</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCA2OTIwNmI0Li40ZGNlMjhhIDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjggQEAKKzIwMTEtMTAtMTQgIEt3YW5nSHl1ayBLaW0gIDxoeXVraS5raW1Ac2Ft
c3VuZy5jb20+CisKKyAgICAgICAgW0VGTF0gQWRkIG1hdHJpeCBsaXN0IHRvIHJldXNlIHRpbGUg
bWF0cml4IGZvciBlYWNoIGRpZmZlcmVudCB6b29tIGxldmVsLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1OTUKKworICAgICAgICBBZGQgbWF0cml4
IGxpc3QgdG8ga2VlcCBlYWNoIHRpbGUgbWF0cml4IGNvcnJlc3BvbmRpbmcgdG8gZWFjaCBkaWZm
ZXJlbnQgem9vbSBsZXZlbCB3aGVuIHpvb20gbGV2ZWwgaXMgY2hhbmdlZC4KKyAgICAgICAgVGhl
biBiYWNraW5nIHN0b3JlIGNhbiByZXVzZSB0aWxlIG1hdHJpeCBieSBnZXR0aW5nIGl0IGZyb20g
dGhpcyBtYXRyaXggbGlzdC4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGV3ay9ld2tfdGlsZWRfYmFja2luZ19zdG9yZS5jcHA6CisgICAgICAgIChf
ZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfbW9kZWxfbWF0cml4X2NyZWF0ZSk6CisgICAgICAgIChf
ZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfc21hcnRfY2FsY3VsYXRlKToKKyAgICAgICAgKF9ld2tf
dGlsZWRfYmFja2luZ19zdG9yZV96b29tX3NldF9pbnRlcm5hbCk6CisgICAgICAgICogZXdrL2V3
a190aWxlZF9tYXRyaXguY3BwOgorICAgICAgICAoZXdrX3RpbGVfbWF0cml4X2VudHJ5X2dldCk6
CisgICAgICAgIChfZXdrX3RpbGVfbWF0cml4X2NlbGxfZnJlZSk6CisgICAgICAgIChfZXdrX3Rp
bGVfbWF0cml4X3RpbGVfZnJlZSk6CisgICAgICAgIChld2tfdGlsZV9tYXRyaXhfbmV3KToKKyAg
ICAgICAgKGV3a190aWxlX21hdHJpeF96b29tX2xldmVsX3NldCk6CisgICAgICAgIChld2tfdGls
ZV9tYXRyaXhfaW52YWxpZGF0ZSk6CisgICAgICAgIChld2tfdGlsZV9tYXRyaXhfZnJlZSk6Cisg
ICAgICAgIChld2tfdGlsZV9tYXRyaXhfdGlsZV9uZXcpOgorICAgICAgICAqIGV3ay9ld2tfdGls
ZWRfbWF0cml4Lmg6CisKIDIwMTEtMTAtMTQgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJn
QGFwcGxlLmNvbT4KIAogICAgICAgICBSZW5hbWUgdmlydHVhbCBwdXQgdG8gcHV0VmlydHVhbApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxlZF9iYWNraW5nX3N0b3Jl
LmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfYmFja2luZ19zdG9yZS5jcHAK
aW5kZXggNzk0YTkwYy4uZTk5Zjg1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdr
L2V3a190aWxlZF9iYWNraW5nX3N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmUuY3BwCkBAIC02MjksNyArNjI5LDcgQEAgc3RhdGljIGlu
bGluZSB2b2lkIF9ld2tfdGlsZWRfYmFja2luZ19zdG9yZV9tb2RlbF9tYXRyaXhfY3JlYXRlKEV3
a19UaWxlZF9CYWNraW4KICAgICAgICAgZXdrX3RpbGVfbWF0cml4X2ZyZWUocHJpdi0+bW9kZWwu
bWF0cml4KTsKICAgICB9CiAKLSAgICBwcml2LT5tb2RlbC5tYXRyaXggPSBld2tfdGlsZV9tYXRy
aXhfbmV3KHRpbGVVbnVzZWRDYWNoZSwgcHJpdi0+bW9kZWwuY3VyLmNvbHMsIHByaXYtPm1vZGVs
LmN1ci5yb3dzLCBwcml2LT5jc3BhY2UsIF9ld2tfdGlsZWRfYmFja2luZ19zdG9yZV9yZW5kZXIs
IHByaXYpOworICAgIHByaXYtPm1vZGVsLm1hdHJpeCA9IGV3a190aWxlX21hdHJpeF9uZXcodGls
ZVVudXNlZENhY2hlLCBwcml2LT5tb2RlbC5jdXIuY29scywgcHJpdi0+bW9kZWwuY3VyLnJvd3Ms
IHByaXYtPnZpZXcudGlsZS56b29tLCBwcml2LT5jc3BhY2UsIF9ld2tfdGlsZWRfYmFja2luZ19z
dG9yZV9yZW5kZXIsIHByaXYpOwogfQogCiBzdGF0aWMgdm9pZCBfZXdrX3RpbGVkX2JhY2tpbmdf
c3RvcmVfc21hcnRfbWVtYmVyX2RlbChFdmFzX09iamVjdCogZXdrVGlsZSwgRXZhc19PYmplY3Qq
IG1lbWJlcikKQEAgLTEzMDIsNiArMTMwMiw5IEBAIHN0YXRpYyB2b2lkIF9ld2tfdGlsZWRfYmFj
a2luZ19zdG9yZV9zbWFydF9jYWxjdWxhdGUoRXZhc19PYmplY3QqIGV3a1RpbGUpCiAKICAgICBl
d2tfdGlsZV9tYXRyaXhfZnJlZXplKHByaXYtPm1vZGVsLm1hdHJpeCk7CiAKKyAgICBpZiAocHJp
di0+Y2hhbmdlZC5tb2RlbCAmJiAhcHJpdi0+Y2hhbmdlZC5zaXplKQorICAgICAgICBld2tfdGls
ZV9tYXRyaXhfaW52YWxpZGF0ZShwcml2LT5tb2RlbC5tYXRyaXgpOworCiAgICAgaWYgKCFwcml2
LT5yZW5kZXIuc3VzcGVuZCAmJiBwcml2LT5jaGFuZ2VkLm1vZGVsKSB7CiAgICAgICAgIHVuc2ln
bmVkIGxvbmcgY29scywgcm93czsKIApAQCAtMTQ4Niw2ICsxNDg5LDggQEAgc3RhdGljIEVpbmFf
Qm9vbCBfZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfem9vbV9zZXRfaW50ZXJuYWwoRXdrX1RpbGVk
X0JhY2tpbmdfU3QKICAgICBwcml2LT52aWV3Lm9mZnNldC56b29tX2NlbnRlci54ID0gY3VycmVu
dFg7CiAgICAgcHJpdi0+dmlldy5vZmZzZXQuem9vbV9jZW50ZXIueSA9IGN1cnJlbnRZOwogCisg
ICAgZXdrX3RpbGVfbWF0cml4X3pvb21fbGV2ZWxfc2V0KHByaXYtPm1vZGVsLm1hdHJpeCwgKnpv
b20pOworCiAKICAgICBpZiAoIXByaXYtPnZpZXcud2lkdGggfHwgIXByaXYtPnZpZXcuaGVpZ2h0
KSB7CiAgICAgICAgIHByaXYtPnZpZXcub2Zmc2V0LmJhc2UueCA9IDA7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3RpbGVkX21hdHJpeC5jcHAgYi9Tb3VyY2UvV2ViS2l0
L2VmbC9ld2svZXdrX3RpbGVkX21hdHJpeC5jcHAKaW5kZXggZTkxYmQ3Ny4uMDNlN2RkZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxlZF9tYXRyaXguY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfbWF0cml4LmNwcApAQCAtMzEsOCArMzEs
MTggQEAKICNpbmNsdWRlIDxzdGRsaWIuaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KIAorc3RydWN0
IF9Fd2tfVGlsZV9NYXRyaXhfRW50cnkgeworICAgIEVJTkFfSU5MSVNUOworICAgIGZsb2F0IHpv
b207CisgICAgdW5zaWduZWQgbG9uZyBjb3VudDsKKyAgICBFaW5hX01hdHJpeHNwYXJzZSAqbWF0
cml4OworfTsKKwordHlwZWRlZiBzdHJ1Y3QgX0V3a19UaWxlX01hdHJpeF9FbnRyeSBFd2tfVGls
ZV9NYXRyaXhfRW50cnk7CisKIHN0cnVjdCBfRXdrX1RpbGVfTWF0cml4IHsKICAgICBFaW5hX01h
dHJpeHNwYXJzZSogbWF0cml4OworICAgIEVpbmFfSW5saXN0KiBtYXRyaWNlczsKICAgICBFd2tf
VGlsZV9VbnVzZWRfQ2FjaGUqIHR1YzsKICAgICBFdmFzX0NvbG9yc3BhY2UgY3NwYWNlOwogICAg
IHN0cnVjdCB7CkBAIC01OCw2ICs2OCwyMCBAQCBzdGF0aWMgdWludDY0X3QgdGlsZXNfbGVha2Vk
ID0gMDsKIHN0YXRpYyB1aW50NjRfdCBieXRlc19sZWFrZWQgPSAwOwogI2VuZGlmCiAKK3N0YXRp
YyBFd2tfVGlsZV9NYXRyaXhfRW50cnkqIGV3a190aWxlX21hdHJpeF9lbnRyeV9nZXQoRXdrX1Rp
bGVfTWF0cml4KiB0aWxlTWF0cml4LCBmbG9hdCB6b29tKQoreworICAgIEVJTkFfU0FGRVRZX09O
X05VTExfUkVUVVJOX1ZBTCh0aWxlTWF0cml4LCAwKTsKKyAgICBFd2tfVGlsZV9NYXRyaXhfRW50
cnkqIGl0ZXJhdG9yOworCisgICAgRUlOQV9JTkxJU1RfRk9SRUFDSCh0aWxlTWF0cml4LT5tYXRy
aWNlcywgaXRlcmF0b3IpIHsKKyAgICAgICAgaWYgKGl0ZXJhdG9yLT56b29tID09IHpvb20pCisg
ICAgICAgICAgICByZXR1cm4gaXRlcmF0b3I7CisgICAgfQorCisgICAgcmV0dXJuIDA7Cit9CisK
KwogLyogY2FsbGVkIHdoZW4gbWF0cml4c3BhcnNlIGlzIHJlc2l6ZWQgb3IgZnJlZWQgKi8KIHN0
YXRpYyB2b2lkIF9ld2tfdGlsZV9tYXRyaXhfY2VsbF9mcmVlKHZvaWQqIHVzZXJEYXRhLCB2b2lk
KiBjZWxsRGF0YSkKIHsKQEAgLTc4LDExICsxMDIsMTggQEAgc3RhdGljIHZvaWQgX2V3a190aWxl
X21hdHJpeF9jZWxsX2ZyZWUodm9pZCogdXNlckRhdGEsIHZvaWQqIGNlbGxEYXRhKQogICAgICAg
ICBpZiAoIWV3a190aWxlX3VudXNlZF9jYWNoZV90aWxlX2dldCh0bS0+dHVjLCB0aWxlKSkKICAg
ICAgICAgICAgIEVSUigidGlsZSAlcCB3YXMgbm90IGluIGNhY2hlICVwPyBsZWFraW5nLi4uIiwg
dGlsZSwgdG0tPnR1Yyk7CiAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgRXdrX1RpbGVfTWF0
cml4X0VudHJ5KiBlbnRyeTsKICAgICAgICAgICAgIERCRygidGlsZSBjZWxsIGRvZXMgbm90IGV4
aXN0IGFueW1vcmUsIGZyZWUgaXQgJXAiLCB0aWxlKTsKICNpZmRlZiBERUJVR19NRU1fTEVBS1MK
ICAgICAgICAgICAgIHRtLT5zdGF0cy5ieXRlcy5mcmVlZCArPSB0aWxlLT5ieXRlczsKICAgICAg
ICAgICAgIHRtLT5zdGF0cy50aWxlcy5mcmVlZCsrOwogI2VuZGlmCisgICAgICAgICAgICBlbnRy
eSA9IGV3a190aWxlX21hdHJpeF9lbnRyeV9nZXQodG0sIHRpbGUtPnpvb20pOworICAgICAgICAg
ICAgaWYgKCFlbnRyeSkKKyAgICAgICAgICAgICAgICBFUlIoImNhbid0IGZpbmQgbWF0cml4IGZv
ciB6b29tICUwLjNmIiwgdGlsZS0+em9vbSk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAg
ICAgICAgZW50cnktPmNvdW50LS07CisKICAgICAgICAgICAgIGV3a190aWxlX2ZyZWUodGlsZSk7
CiAgICAgICAgIH0KICAgICB9CkBAIC05NCw5ICsxMjUsMTYgQEAgc3RhdGljIHZvaWQgX2V3a190
aWxlX21hdHJpeF9jZWxsX2ZyZWUodm9pZCogdXNlckRhdGEsIHZvaWQqIGNlbGxEYXRhKQogc3Rh
dGljIHZvaWQgX2V3a190aWxlX21hdHJpeF90aWxlX2ZyZWUodm9pZCogZGF0YSwgRXdrX1RpbGUq
IHRpbGUpCiB7CiAgICAgRXdrX1RpbGVfTWF0cml4KiB0bSA9IHN0YXRpY19jYXN0PEV3a19UaWxl
X01hdHJpeCo+KGRhdGEpOworICAgIEV3a19UaWxlX01hdHJpeF9FbnRyeSogZW50cnk7CiAgICAg
RWluYV9NYXRyaXhzcGFyc2VfQ2VsbCogY2VsbDsKIAotICAgIGlmICghZWluYV9tYXRyaXhzcGFy
c2VfY2VsbF9pZHhfZ2V0KHRtLT5tYXRyaXgsIHRpbGUtPnJvdywgdGlsZS0+Y29sLCAmY2VsbCkp
IHsKKyAgICBlbnRyeSA9IGV3a190aWxlX21hdHJpeF9lbnRyeV9nZXQodG0sIHRpbGUtPnpvb20p
OworICAgIGlmICghZW50cnkpIHsKKyAgICAgICAgRVJSKCJyZW1vdmluZyB0aWxlICVwIHRoYXQg
d2FzIG5vdCBpbiBhbnkgbWF0cml4PyBMZWFraW5nLi4uIiwgdGlsZSk7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKKyAgICBpZiAoIWVpbmFfbWF0cml4c3BhcnNlX2NlbGxfaWR4X2dldChlbnRy
eS0+bWF0cml4LCB0aWxlLT5yb3csIHRpbGUtPmNvbCwgJmNlbGwpKSB7CiAgICAgICAgIEVSUigi
cmVtb3ZpbmcgdGlsZSAlcCB0aGF0IHdhcyBub3QgaW4gdGhlIG1hdHJpeD8gTGVha2luZy4uLiIs
IHRpbGUpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTI0LDYgKzE2MiwxMyBAQCBzdGF0
aWMgdm9pZCBfZXdrX3RpbGVfbWF0cml4X3RpbGVfZnJlZSh2b2lkKiBkYXRhLCBFd2tfVGlsZSog
dGlsZSkKICAgICB0bS0+c3RhdHMudGlsZXMuZnJlZWQrKzsKICNlbmRpZgogCisgICAgZW50cnkt
PmNvdW50LS07CisgICAgaWYgKCFlbnRyeS0+Y291bnQgJiYgZW50cnktPm1hdHJpeCAhPSB0bS0+
bWF0cml4KSB7CisgICAgICAgIGVpbmFfbWF0cml4c3BhcnNlX2ZyZWUoZW50cnktPm1hdHJpeCk7
CisgICAgICAgIHRtLT5tYXRyaWNlcyA9IGVpbmFfaW5saXN0X3JlbW92ZSh0bS0+bWF0cmljZXMs
IEVJTkFfSU5MSVNUX0dFVChlbnRyeSkpOworICAgICAgICBmcmVlKGVudHJ5KTsKKyAgICB9CisK
ICAgICBld2tfdGlsZV9mcmVlKHRpbGUpOwogfQogCkBAIC0xMzksMTMgKzE4NCwxNCBAQCBzdGF0
aWMgdm9pZCBfZXdrX3RpbGVfbWF0cml4X3RpbGVfZnJlZSh2b2lkKiBkYXRhLCBFd2tfVGlsZSog
dGlsZSkKICAqICAgICAgICBhdXRvbWF0aWNhbGx5LgogICogQHBhcmFtIGNvbHVtbnMgbnVtYmVy
IG9mIGNvbHVtbnMgaW4gdGhlIG1hdHJpeC4KICAqIEBwYXJhbSByb3dzIG51bWJlciBvZiByb3dz
IGluIHRoZSBtYXRyaXguCisgKiBAcGFyYW0gY3VycmVudFpvb20gY3VycmVudCB6b29tIGxldmVs
IGZvciB0aGUgbWF0cml4LgogICogQHBhcmFtIGNzcGFjZSB0aGUgY29sb3Igc3BhY2UgdXNlZCB0
byBjcmVhdGUgdGlsZXMgaW4gdGhpcyBtYXRyaXguCiAgKiBAcGFyYW0gcmVuZGVyX2NiIGZ1bmN0
aW9uIHVzZWQgdG8gcmVuZGVyIGdpdmVuIHRpbGUgdXBkYXRlLgogICogQHBhcmFtIHJlbmRlcl9k
YXRhIGNvbnRleHQgdG8gZ2l2ZSBiYWNrIHRvIEBhIHJlbmRlcl9jYi4KICAqCiAgKiBAcmV0dXJu
IG5ld2x5IGFsbG9jYXRlZCBpbnN0YW5jZSBvbiBzdWNjZXNzLCBAYyAwIG9uIGZhaWx1cmUuCiAg
Ki8KLUV3a19UaWxlX01hdHJpeCogZXdrX3RpbGVfbWF0cml4X25ldyhFd2tfVGlsZV9VbnVzZWRf
Q2FjaGUqIHRpbGVVbnVzZWRDYWNoZSwgdW5zaWduZWQgbG9uZyBjb2x1bW5zLCB1bnNpZ25lZCBs
b25nIHJvd3MsIEV2YXNfQ29sb3JzcGFjZSBjb2xvclNwYWNlLCB2b2lkICgqcmVuZGVyX2NhbGxi
YWNrKSh2b2lkKiBkYXRhLCBFd2tfVGlsZSogdGlsZSwgY29uc3QgRWluYV9SZWN0YW5nbGUqIHVw
ZGF0ZSksIGNvbnN0IHZvaWQqIHJlbmRlckRhdGEpCitFd2tfVGlsZV9NYXRyaXgqIGV3a190aWxl
X21hdHJpeF9uZXcoRXdrX1RpbGVfVW51c2VkX0NhY2hlKiB0aWxlVW51c2VkQ2FjaGUsIHVuc2ln
bmVkIGxvbmcgY29sdW1ucywgdW5zaWduZWQgbG9uZyByb3dzLCBmbG9hdCBjdXJyZW50Wm9vbSwg
RXZhc19Db2xvcnNwYWNlIGNvbG9yU3BhY2UsIHZvaWQgKCpyZW5kZXJfY2FsbGJhY2spKHZvaWQq
IGRhdGEsIEV3a19UaWxlKiB0aWxlLCBjb25zdCBFaW5hX1JlY3RhbmdsZSogdXBkYXRlKSwgY29u
c3Qgdm9pZCogcmVuZGVyRGF0YSkKIHsKICAgICBFd2tfVGlsZV9NYXRyaXgqIHRtID0gc3RhdGlj
X2Nhc3Q8RXdrX1RpbGVfTWF0cml4Kj4oY2FsbG9jKDEsIHNpemVvZihFd2tfVGlsZV9NYXRyaXgp
KSk7CiAgICAgaWYgKCF0bSkKQEAgLTE1OCw2ICsyMDQsOCBAQCBFd2tfVGlsZV9NYXRyaXgqIGV3
a190aWxlX21hdHJpeF9uZXcoRXdrX1RpbGVfVW51c2VkX0NhY2hlKiB0aWxlVW51c2VkQ2FjaGUs
IHVucwogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKKyAgICBld2tfdGlsZV9tYXRyaXhfem9v
bV9sZXZlbF9zZXQodG0sIGN1cnJlbnRab29tKTsKKwogICAgIGlmICh0aWxlVW51c2VkQ2FjaGUp
CiAgICAgICAgIHRtLT50dWMgPSBld2tfdGlsZV91bnVzZWRfY2FjaGVfcmVmKHRpbGVVbnVzZWRD
YWNoZSk7CiAgICAgZWxzZSB7CkBAIC0xNzksNiArMjI3LDYxIEBAIEV3a19UaWxlX01hdHJpeCog
ZXdrX3RpbGVfbWF0cml4X25ldyhFd2tfVGlsZV9VbnVzZWRfQ2FjaGUqIHRpbGVVbnVzZWRDYWNo
ZSwgdW5zCiAgICAgcmV0dXJuIHRtOwogfQogCit2b2lkIGV3a190aWxlX21hdHJpeF96b29tX2xl
dmVsX3NldChFd2tfVGlsZV9NYXRyaXgqIHRpbGVNYXRyaXgsIGZsb2F0IHpvb20pCit7CisgICAg
RUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk4odGlsZU1hdHJpeCk7CisgICAgRXdrX1RpbGVfTWF0
cml4X0VudHJ5KiBpdGVyYXRvciA9IDA7CisgICAgRXdrX1RpbGVfTWF0cml4X0VudHJ5KiBlbnRy
eSA9IDA7CisgICAgdW5zaWduZWQgbG9uZyByb3dzID0gMCwgY29sdW1ucyA9IDA7CisKKyAgICBl
aW5hX21hdHJpeHNwYXJzZV9zaXplX2dldCh0aWxlTWF0cml4LT5tYXRyaXgsICZyb3dzLCAmY29s
dW1ucyk7CisKKyAgICBFSU5BX0lOTElTVF9GT1JFQUNIKHRpbGVNYXRyaXgtPm1hdHJpY2VzLCBp
dGVyYXRvcikgeworICAgICAgICBpZiAoaXRlcmF0b3ItPnpvb20gIT0gem9vbSkKKyAgICAgICAg
ICAgIGNvbnRpbnVlOworICAgICAgICBlbnRyeSA9IGl0ZXJhdG9yOworICAgICAgICB0aWxlTWF0
cml4LT5tYXRyaWNlcyA9IGVpbmFfaW5saXN0X3Byb21vdGUodGlsZU1hdHJpeC0+bWF0cmljZXMs
IEVJTkFfSU5MSVNUX0dFVChlbnRyeSkpOworICAgICAgICBlaW5hX21hdHJpeHNwYXJzZV9zaXpl
X3NldChlbnRyeS0+bWF0cml4LCByb3dzLCBjb2x1bW5zKTsKKyAgICB9CisKKyAgICBpZiAoIWVu
dHJ5KSB7CisgICAgICAgIGVudHJ5ID0gc3RhdGljX2Nhc3Q8RXdrX1RpbGVfTWF0cml4X0VudHJ5
Kj4oY2FsbG9jKDEsIHNpemVvZihFd2tfVGlsZV9NYXRyaXhfRW50cnkpKSk7CisgICAgICAgIGVu
dHJ5LT56b29tID0gem9vbTsKKyAgICAgICAgZW50cnktPm1hdHJpeCA9IGVpbmFfbWF0cml4c3Bh
cnNlX25ldyhyb3dzLCBjb2x1bW5zLCBfZXdrX3RpbGVfbWF0cml4X2NlbGxfZnJlZSwgdGlsZU1h
dHJpeCk7CisgICAgICAgIGlmICghZW50cnktPm1hdHJpeCkgeworICAgICAgICAgICAgRVJSKCJj
b3VsZCBub3QgY3JlYXRlIHNwYXJzZSBtYXRyaXguIik7CisgICAgICAgICAgICBmcmVlKGVudHJ5
KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICB0aWxlTWF0cml4LT5t
YXRyaWNlcyA9IGVpbmFfaW5saXN0X3ByZXBlbmQodGlsZU1hdHJpeC0+bWF0cmljZXMsIEVJTkFf
SU5MSVNUX0dFVChlbnRyeSkpOworICAgIH0KKworICAgIHRpbGVNYXRyaXgtPm1hdHJpeCA9IGVu
dHJ5LT5tYXRyaXg7Cit9CisKK3ZvaWQgZXdrX3RpbGVfbWF0cml4X2ludmFsaWRhdGUoRXdrX1Rp
bGVfTWF0cml4KiB0aWxlTWF0cml4KQoreworICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJO
KHRpbGVNYXRyaXgpOworICAgIEV3a19UaWxlX01hdHJpeF9FbnRyeSogaXRlcmF0b3I7CisgICAg
RWluYV9Jbmxpc3QqIG1hdHJpeExpc3Q7CisKKyAgICBtYXRyaXhMaXN0ID0gdGlsZU1hdHJpeC0+
bWF0cmljZXM7CisgICAgd2hpbGUgKG1hdHJpeExpc3QpIHsKKyAgICAgICAgaXRlcmF0b3IgPSBF
SU5BX0lOTElTVF9DT05UQUlORVJfR0VUKG1hdHJpeExpc3QsIEV3a19UaWxlX01hdHJpeF9FbnRy
eSk7CisgICAgICAgIEVpbmFfSW5saXN0ICpuZXh0ID0gKG1hdHJpeExpc3QtPm5leHQpID8gbWF0
cml4TGlzdC0+bmV4dCA6IDA7CisKKyAgICAgICAgaWYgKGl0ZXJhdG9yLT5tYXRyaXggIT0gdGls
ZU1hdHJpeC0+bWF0cml4KSB7CisgICAgICAgICAgICBlaW5hX21hdHJpeHNwYXJzZV9mcmVlKGl0
ZXJhdG9yLT5tYXRyaXgpOworICAgICAgICAgICAgdGlsZU1hdHJpeC0+bWF0cmljZXMgPSBlaW5h
X2lubGlzdF9yZW1vdmUodGlsZU1hdHJpeC0+bWF0cmljZXMsIG1hdHJpeExpc3QpOworICAgICAg
ICAgICAgZnJlZShpdGVyYXRvcik7CisgICAgICAgIH0KKworICAgICAgICBtYXRyaXhMaXN0ID0g
bmV4dDsKKyAgICB9Cit9CisKKworCiAvKioKICAqIERlc3Ryb3lzIHRpbGVzIG1hdHJpeCwgcmVs
ZWFzaW5nIGl0cyByZXNvdXJjZXMuCiAgKgpAQCAtMTg2LDYgKzI4OSw3IEBAIEV3a19UaWxlX01h
dHJpeCogZXdrX3RpbGVfbWF0cml4X25ldyhFd2tfVGlsZV9VbnVzZWRfQ2FjaGUqIHRpbGVVbnVz
ZWRDYWNoZSwgdW5zCiAgKi8KIHZvaWQgZXdrX3RpbGVfbWF0cml4X2ZyZWUoRXdrX1RpbGVfTWF0
cml4KiB0aWxlTWF0cml4KQogeworICAgIEV3a19UaWxlX01hdHJpeF9FbnRyeSogZW50cnk7CiAj
aWZkZWYgREVCVUdfTUVNX0xFQUtTCiAgICAgdWludDY0X3QgdGlsZXMsIGJ5dGVzOwogI2VuZGlm
CkBAIC0xOTMsNyArMjk3LDEyIEBAIHZvaWQgZXdrX3RpbGVfbWF0cml4X2ZyZWUoRXdrX1RpbGVf
TWF0cml4KiB0aWxlTWF0cml4KQogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOKHRpbGVN
YXRyaXgpOwogICAgIGV3a190aWxlX3VudXNlZF9jYWNoZV9mcmVlemUodGlsZU1hdHJpeC0+dHVj
KTsKIAotICAgIGVpbmFfbWF0cml4c3BhcnNlX2ZyZWUodGlsZU1hdHJpeC0+bWF0cml4KTsKKyAg
ICBld2tfdGlsZV91bnVzZWRfY2FjaGVfZnJlZXplKHRpbGVNYXRyaXgtPnR1Yyk7CisgICAgZXdr
X3RpbGVfbWF0cml4X2ludmFsaWRhdGUodGlsZU1hdHJpeCk7CisgICAgZW50cnkgPSBFSU5BX0lO
TElTVF9DT05UQUlORVJfR0VUKHRpbGVNYXRyaXgtPm1hdHJpY2VzLCBFd2tfVGlsZV9NYXRyaXhf
RW50cnkpOworICAgIGVpbmFfbWF0cml4c3BhcnNlX2ZyZWUoZW50cnktPm1hdHJpeCk7ICAgIAor
ICAgIGZyZWUoZW50cnkpOworICAgIHRpbGVNYXRyaXgtPm1hdHJpY2VzID0gMDsKIAogICAgIGV3
a190aWxlX3VudXNlZF9jYWNoZV90aGF3KHRpbGVNYXRyaXgtPnR1Yyk7CiAgICAgZXdrX3RpbGVf
dW51c2VkX2NhY2hlX3VucmVmKHRpbGVNYXRyaXgtPnR1Yyk7CkBAIC0zMjIsOSArNDMxLDE2IEBA
IEV3a19UaWxlKiBld2tfdGlsZV9tYXRyaXhfdGlsZV9uZXcoRXdrX1RpbGVfTWF0cml4KiB0aWxl
TWF0cml4LCBFdmFzKiBjYW52YXMsIHVuCiB7CiAgICAgRXZhc19Db29yZCB0dywgdGg7CiAgICAg
RXdrX1RpbGUqIHRpbGU7CisgICAgRXdrX1RpbGVfTWF0cml4X0VudHJ5KiBlbnRyeTsKIAogICAg
IEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTCh0aWxlTWF0cml4LCAwKTsKICAgICBFSU5B
X1NBRkVUWV9PTl9GQUxTRV9SRVRVUk5fVkFMKHpvb20gPiAwLjAsIDApOworICAgIGVudHJ5ID0g
ZXdrX3RpbGVfbWF0cml4X2VudHJ5X2dldCh0aWxlTWF0cml4LCB6b29tKTsKKyAgICBpZiAoIWVu
dHJ5KSB7CisgICAgICAgIEVSUigiY291bGQgbm90IGdldCBtYXRyaXggYXQgem9vbSAlZiBmb3Ig
dGlsZSIsIHpvb20pOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgZW50cnktPmNvdW50
Kys7CiAKICAgICB0dyA9IHRpbGVNYXRyaXgtPnRpbGUud2lkdGg7CiAgICAgdGggPSB0aWxlTWF0
cml4LT50aWxlLmhlaWdodDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tf
dGlsZWRfbWF0cml4LmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3RpbGVkX21hdHJpeC5o
CmluZGV4IGQzZGM1MTcuLjRiYmQyNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3
ay9ld2tfdGlsZWRfbWF0cml4LmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxl
ZF9tYXRyaXguaApAQCAtMjYsMTAgKzI2LDEyIEBACiAjaW5jbHVkZSA8RXZhcy5oPgogCiAvKiBt
YXRyaXggb2YgdGlsZXMgKi8KLUV3a19UaWxlX01hdHJpeCogZXdrX3RpbGVfbWF0cml4X25ldyhF
d2tfVGlsZV9VbnVzZWRfQ2FjaGUqIHR1YywgdW5zaWduZWQgbG9uZyBjb2xzLCB1bnNpZ25lZCBs
b25nIHJvd3MsIEV2YXNfQ29sb3JzcGFjZSBjc3BhY2UsIHZvaWQgKCogcmVuZGVyX2NiKSh2b2lk
KiBkYXRhLCBFd2tfVGlsZSogdCwgY29uc3QgRWluYV9SZWN0YW5nbGUqIHVwZGF0ZSksIGNvbnN0
IHZvaWQqIHJlbmRlcl9kYXRhKTsKK0V3a19UaWxlX01hdHJpeCogZXdrX3RpbGVfbWF0cml4X25l
dyhFd2tfVGlsZV9VbnVzZWRfQ2FjaGUqIHRpbGVVbnVzZWRDYWNoZSwgdW5zaWduZWQgbG9uZyBj
b2x1bW5zLCB1bnNpZ25lZCBsb25nIHJvd3MsIGZsb2F0IGN1cnJlbnRab29tLCBFdmFzX0NvbG9y
c3BhY2UgY29sb3JTcGFjZSwgdm9pZCAoKnJlbmRlcl9jYWxsYmFjaykodm9pZCogZGF0YSwgRXdr
X1RpbGUqIHRpbGUsIGNvbnN0IEVpbmFfUmVjdGFuZ2xlKiB1cGRhdGUpLCBjb25zdCB2b2lkKiBy
ZW5kZXJEYXRhKTsKIHZvaWQgZXdrX3RpbGVfbWF0cml4X2ZyZWUoRXdrX1RpbGVfTWF0cml4KiB0
bSk7CiAKIHZvaWQgZXdrX3RpbGVfbWF0cml4X3Jlc2l6ZShFd2tfVGlsZV9NYXRyaXgqIHRtLCB1
bnNpZ25lZCBsb25nIGNvbHMsIHVuc2lnbmVkIGxvbmcgcm93cyk7Cit2b2lkIGV3a190aWxlX21h
dHJpeF96b29tX2xldmVsX3NldChFd2tfVGlsZV9NYXRyaXgqIHRpbGVNYXRyaXgsIGZsb2F0IHpv
b20pOwordm9pZCBld2tfdGlsZV9tYXRyaXhfaW52YWxpZGF0ZShFd2tfVGlsZV9NYXRyaXgqIHRp
bGVNYXRyaXgpOwogCiBFd2tfVGlsZV9VbnVzZWRfQ2FjaGUqIGV3a190aWxlX21hdHJpeF91bnVz
ZWRfY2FjaGVfZ2V0KGNvbnN0IEV3a19UaWxlX01hdHJpeCogdG0pOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>111122</attachid>
            <date>2011-10-14 20:21:52 -0700</date>
            <delta_ts>2011-10-15 07:57:32 -0700</delta_ts>
            <desc>Patch.</desc>
            <filename>1015_matrix_list_2.patch</filename>
            <type>application/octet-stream</type>
            <size>12127</size>
            <attacher name="KwangHyuk">hyuki.kim</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCA2OTIwNmI0Li40ZGNlMjhhIDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjggQEAKKzIwMTEtMTAtMTQgIEt3YW5nSHl1ayBLaW0gIDxoeXVraS5raW1Ac2Ft
c3VuZy5jb20+CisKKyAgICAgICAgW0VGTF0gQWRkIG1hdHJpeCBsaXN0IHRvIHJldXNlIHRpbGUg
bWF0cml4IGZvciBlYWNoIGRpZmZlcmVudCB6b29tIGxldmVsLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1OTUKKworICAgICAgICBBZGQgbWF0cml4
IGxpc3QgdG8ga2VlcCBlYWNoIHRpbGUgbWF0cml4IGNvcnJlc3BvbmRpbmcgdG8gZWFjaCBkaWZm
ZXJlbnQgem9vbSBsZXZlbCB3aGVuIHpvb20gbGV2ZWwgaXMgY2hhbmdlZC4KKyAgICAgICAgVGhl
biBiYWNraW5nIHN0b3JlIGNhbiByZXVzZSB0aWxlIG1hdHJpeCBieSBnZXR0aW5nIGl0IGZyb20g
dGhpcyBtYXRyaXggbGlzdC4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGV3ay9ld2tfdGlsZWRfYmFja2luZ19zdG9yZS5jcHA6CisgICAgICAgIChf
ZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfbW9kZWxfbWF0cml4X2NyZWF0ZSk6CisgICAgICAgIChf
ZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfc21hcnRfY2FsY3VsYXRlKToKKyAgICAgICAgKF9ld2tf
dGlsZWRfYmFja2luZ19zdG9yZV96b29tX3NldF9pbnRlcm5hbCk6CisgICAgICAgICogZXdrL2V3
a190aWxlZF9tYXRyaXguY3BwOgorICAgICAgICAoZXdrX3RpbGVfbWF0cml4X2VudHJ5X2dldCk6
CisgICAgICAgIChfZXdrX3RpbGVfbWF0cml4X2NlbGxfZnJlZSk6CisgICAgICAgIChfZXdrX3Rp
bGVfbWF0cml4X3RpbGVfZnJlZSk6CisgICAgICAgIChld2tfdGlsZV9tYXRyaXhfbmV3KToKKyAg
ICAgICAgKGV3a190aWxlX21hdHJpeF96b29tX2xldmVsX3NldCk6CisgICAgICAgIChld2tfdGls
ZV9tYXRyaXhfaW52YWxpZGF0ZSk6CisgICAgICAgIChld2tfdGlsZV9tYXRyaXhfZnJlZSk6Cisg
ICAgICAgIChld2tfdGlsZV9tYXRyaXhfdGlsZV9uZXcpOgorICAgICAgICAqIGV3ay9ld2tfdGls
ZWRfbWF0cml4Lmg6CisKIDIwMTEtMTAtMTQgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJn
QGFwcGxlLmNvbT4KIAogICAgICAgICBSZW5hbWUgdmlydHVhbCBwdXQgdG8gcHV0VmlydHVhbApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxlZF9iYWNraW5nX3N0b3Jl
LmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfYmFja2luZ19zdG9yZS5jcHAK
aW5kZXggNzk0YTkwYy4uZTk5Zjg1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdr
L2V3a190aWxlZF9iYWNraW5nX3N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmUuY3BwCkBAIC02MjksNyArNjI5LDcgQEAgc3RhdGljIGlu
bGluZSB2b2lkIF9ld2tfdGlsZWRfYmFja2luZ19zdG9yZV9tb2RlbF9tYXRyaXhfY3JlYXRlKEV3
a19UaWxlZF9CYWNraW4KICAgICAgICAgZXdrX3RpbGVfbWF0cml4X2ZyZWUocHJpdi0+bW9kZWwu
bWF0cml4KTsKICAgICB9CiAKLSAgICBwcml2LT5tb2RlbC5tYXRyaXggPSBld2tfdGlsZV9tYXRy
aXhfbmV3KHRpbGVVbnVzZWRDYWNoZSwgcHJpdi0+bW9kZWwuY3VyLmNvbHMsIHByaXYtPm1vZGVs
LmN1ci5yb3dzLCBwcml2LT5jc3BhY2UsIF9ld2tfdGlsZWRfYmFja2luZ19zdG9yZV9yZW5kZXIs
IHByaXYpOworICAgIHByaXYtPm1vZGVsLm1hdHJpeCA9IGV3a190aWxlX21hdHJpeF9uZXcodGls
ZVVudXNlZENhY2hlLCBwcml2LT5tb2RlbC5jdXIuY29scywgcHJpdi0+bW9kZWwuY3VyLnJvd3Ms
IHByaXYtPnZpZXcudGlsZS56b29tLCBwcml2LT5jc3BhY2UsIF9ld2tfdGlsZWRfYmFja2luZ19z
dG9yZV9yZW5kZXIsIHByaXYpOwogfQogCiBzdGF0aWMgdm9pZCBfZXdrX3RpbGVkX2JhY2tpbmdf
c3RvcmVfc21hcnRfbWVtYmVyX2RlbChFdmFzX09iamVjdCogZXdrVGlsZSwgRXZhc19PYmplY3Qq
IG1lbWJlcikKQEAgLTEzMDIsNiArMTMwMiw5IEBAIHN0YXRpYyB2b2lkIF9ld2tfdGlsZWRfYmFj
a2luZ19zdG9yZV9zbWFydF9jYWxjdWxhdGUoRXZhc19PYmplY3QqIGV3a1RpbGUpCiAKICAgICBl
d2tfdGlsZV9tYXRyaXhfZnJlZXplKHByaXYtPm1vZGVsLm1hdHJpeCk7CiAKKyAgICBpZiAocHJp
di0+Y2hhbmdlZC5tb2RlbCAmJiAhcHJpdi0+Y2hhbmdlZC5zaXplKQorICAgICAgICBld2tfdGls
ZV9tYXRyaXhfaW52YWxpZGF0ZShwcml2LT5tb2RlbC5tYXRyaXgpOworCiAgICAgaWYgKCFwcml2
LT5yZW5kZXIuc3VzcGVuZCAmJiBwcml2LT5jaGFuZ2VkLm1vZGVsKSB7CiAgICAgICAgIHVuc2ln
bmVkIGxvbmcgY29scywgcm93czsKIApAQCAtMTQ4Niw2ICsxNDg5LDggQEAgc3RhdGljIEVpbmFf
Qm9vbCBfZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfem9vbV9zZXRfaW50ZXJuYWwoRXdrX1RpbGVk
X0JhY2tpbmdfU3QKICAgICBwcml2LT52aWV3Lm9mZnNldC56b29tX2NlbnRlci54ID0gY3VycmVu
dFg7CiAgICAgcHJpdi0+dmlldy5vZmZzZXQuem9vbV9jZW50ZXIueSA9IGN1cnJlbnRZOwogCisg
ICAgZXdrX3RpbGVfbWF0cml4X3pvb21fbGV2ZWxfc2V0KHByaXYtPm1vZGVsLm1hdHJpeCwgKnpv
b20pOworCiAKICAgICBpZiAoIXByaXYtPnZpZXcud2lkdGggfHwgIXByaXYtPnZpZXcuaGVpZ2h0
KSB7CiAgICAgICAgIHByaXYtPnZpZXcub2Zmc2V0LmJhc2UueCA9IDA7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3RpbGVkX21hdHJpeC5jcHAgYi9Tb3VyY2UvV2ViS2l0
L2VmbC9ld2svZXdrX3RpbGVkX21hdHJpeC5jcHAKaW5kZXggZTkxYmQ3Ny4uYWQyZDdkNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxlZF9tYXRyaXguY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfbWF0cml4LmNwcApAQCAtMzEsOCArMzEs
MTggQEAKICNpbmNsdWRlIDxzdGRsaWIuaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KIAorc3RydWN0
IF9Fd2tfVGlsZV9NYXRyaXhfRW50cnkgeworICAgIEVJTkFfSU5MSVNUOworICAgIGZsb2F0IHpv
b207CisgICAgdW5zaWduZWQgbG9uZyBjb3VudDsKKyAgICBFaW5hX01hdHJpeHNwYXJzZSogbWF0
cml4OworfTsKKwordHlwZWRlZiBzdHJ1Y3QgX0V3a19UaWxlX01hdHJpeF9FbnRyeSBFd2tfVGls
ZV9NYXRyaXhfRW50cnk7CisKIHN0cnVjdCBfRXdrX1RpbGVfTWF0cml4IHsKICAgICBFaW5hX01h
dHJpeHNwYXJzZSogbWF0cml4OworICAgIEVpbmFfSW5saXN0KiBtYXRyaWNlczsKICAgICBFd2tf
VGlsZV9VbnVzZWRfQ2FjaGUqIHR1YzsKICAgICBFdmFzX0NvbG9yc3BhY2UgY3NwYWNlOwogICAg
IHN0cnVjdCB7CkBAIC01OCw2ICs2OCwyMCBAQCBzdGF0aWMgdWludDY0X3QgdGlsZXNfbGVha2Vk
ID0gMDsKIHN0YXRpYyB1aW50NjRfdCBieXRlc19sZWFrZWQgPSAwOwogI2VuZGlmCiAKK3N0YXRp
YyBFd2tfVGlsZV9NYXRyaXhfRW50cnkqIGV3a190aWxlX21hdHJpeF9lbnRyeV9nZXQoRXdrX1Rp
bGVfTWF0cml4KiB0aWxlTWF0cml4LCBmbG9hdCB6b29tKQoreworICAgIEVJTkFfU0FGRVRZX09O
X05VTExfUkVUVVJOX1ZBTCh0aWxlTWF0cml4LCAwKTsKKyAgICBFd2tfVGlsZV9NYXRyaXhfRW50
cnkqIGl0ZXJhdG9yOworCisgICAgRUlOQV9JTkxJU1RfRk9SRUFDSCh0aWxlTWF0cml4LT5tYXRy
aWNlcywgaXRlcmF0b3IpIHsKKyAgICAgICAgaWYgKGl0ZXJhdG9yLT56b29tID09IHpvb20pCisg
ICAgICAgICAgICByZXR1cm4gaXRlcmF0b3I7CisgICAgfQorCisgICAgcmV0dXJuIDA7Cit9CisK
KwogLyogY2FsbGVkIHdoZW4gbWF0cml4c3BhcnNlIGlzIHJlc2l6ZWQgb3IgZnJlZWQgKi8KIHN0
YXRpYyB2b2lkIF9ld2tfdGlsZV9tYXRyaXhfY2VsbF9mcmVlKHZvaWQqIHVzZXJEYXRhLCB2b2lk
KiBjZWxsRGF0YSkKIHsKQEAgLTc4LDExICsxMDIsMTggQEAgc3RhdGljIHZvaWQgX2V3a190aWxl
X21hdHJpeF9jZWxsX2ZyZWUodm9pZCogdXNlckRhdGEsIHZvaWQqIGNlbGxEYXRhKQogICAgICAg
ICBpZiAoIWV3a190aWxlX3VudXNlZF9jYWNoZV90aWxlX2dldCh0bS0+dHVjLCB0aWxlKSkKICAg
ICAgICAgICAgIEVSUigidGlsZSAlcCB3YXMgbm90IGluIGNhY2hlICVwPyBsZWFraW5nLi4uIiwg
dGlsZSwgdG0tPnR1Yyk7CiAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgRXdrX1RpbGVfTWF0
cml4X0VudHJ5KiBlbnRyeTsKICAgICAgICAgICAgIERCRygidGlsZSBjZWxsIGRvZXMgbm90IGV4
aXN0IGFueW1vcmUsIGZyZWUgaXQgJXAiLCB0aWxlKTsKICNpZmRlZiBERUJVR19NRU1fTEVBS1MK
ICAgICAgICAgICAgIHRtLT5zdGF0cy5ieXRlcy5mcmVlZCArPSB0aWxlLT5ieXRlczsKICAgICAg
ICAgICAgIHRtLT5zdGF0cy50aWxlcy5mcmVlZCsrOwogI2VuZGlmCisgICAgICAgICAgICBlbnRy
eSA9IGV3a190aWxlX21hdHJpeF9lbnRyeV9nZXQodG0sIHRpbGUtPnpvb20pOworICAgICAgICAg
ICAgaWYgKCFlbnRyeSkKKyAgICAgICAgICAgICAgICBFUlIoImNhbid0IGZpbmQgbWF0cml4IGZv
ciB6b29tICUwLjNmIiwgdGlsZS0+em9vbSk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAg
ICAgICAgZW50cnktPmNvdW50LS07CisKICAgICAgICAgICAgIGV3a190aWxlX2ZyZWUodGlsZSk7
CiAgICAgICAgIH0KICAgICB9CkBAIC05NCw5ICsxMjUsMTYgQEAgc3RhdGljIHZvaWQgX2V3a190
aWxlX21hdHJpeF9jZWxsX2ZyZWUodm9pZCogdXNlckRhdGEsIHZvaWQqIGNlbGxEYXRhKQogc3Rh
dGljIHZvaWQgX2V3a190aWxlX21hdHJpeF90aWxlX2ZyZWUodm9pZCogZGF0YSwgRXdrX1RpbGUq
IHRpbGUpCiB7CiAgICAgRXdrX1RpbGVfTWF0cml4KiB0bSA9IHN0YXRpY19jYXN0PEV3a19UaWxl
X01hdHJpeCo+KGRhdGEpOworICAgIEV3a19UaWxlX01hdHJpeF9FbnRyeSogZW50cnk7CiAgICAg
RWluYV9NYXRyaXhzcGFyc2VfQ2VsbCogY2VsbDsKIAotICAgIGlmICghZWluYV9tYXRyaXhzcGFy
c2VfY2VsbF9pZHhfZ2V0KHRtLT5tYXRyaXgsIHRpbGUtPnJvdywgdGlsZS0+Y29sLCAmY2VsbCkp
IHsKKyAgICBlbnRyeSA9IGV3a190aWxlX21hdHJpeF9lbnRyeV9nZXQodG0sIHRpbGUtPnpvb20p
OworICAgIGlmICghZW50cnkpIHsKKyAgICAgICAgRVJSKCJyZW1vdmluZyB0aWxlICVwIHRoYXQg
d2FzIG5vdCBpbiBhbnkgbWF0cml4PyBMZWFraW5nLi4uIiwgdGlsZSk7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKKyAgICBpZiAoIWVpbmFfbWF0cml4c3BhcnNlX2NlbGxfaWR4X2dldChlbnRy
eS0+bWF0cml4LCB0aWxlLT5yb3csIHRpbGUtPmNvbCwgJmNlbGwpKSB7CiAgICAgICAgIEVSUigi
cmVtb3ZpbmcgdGlsZSAlcCB0aGF0IHdhcyBub3QgaW4gdGhlIG1hdHJpeD8gTGVha2luZy4uLiIs
IHRpbGUpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTI0LDYgKzE2MiwxMyBAQCBzdGF0
aWMgdm9pZCBfZXdrX3RpbGVfbWF0cml4X3RpbGVfZnJlZSh2b2lkKiBkYXRhLCBFd2tfVGlsZSog
dGlsZSkKICAgICB0bS0+c3RhdHMudGlsZXMuZnJlZWQrKzsKICNlbmRpZgogCisgICAgZW50cnkt
PmNvdW50LS07CisgICAgaWYgKCFlbnRyeS0+Y291bnQgJiYgZW50cnktPm1hdHJpeCAhPSB0bS0+
bWF0cml4KSB7CisgICAgICAgIGVpbmFfbWF0cml4c3BhcnNlX2ZyZWUoZW50cnktPm1hdHJpeCk7
CisgICAgICAgIHRtLT5tYXRyaWNlcyA9IGVpbmFfaW5saXN0X3JlbW92ZSh0bS0+bWF0cmljZXMs
IEVJTkFfSU5MSVNUX0dFVChlbnRyeSkpOworICAgICAgICBmcmVlKGVudHJ5KTsKKyAgICB9CisK
ICAgICBld2tfdGlsZV9mcmVlKHRpbGUpOwogfQogCkBAIC0xMzksMTMgKzE4NCwxNCBAQCBzdGF0
aWMgdm9pZCBfZXdrX3RpbGVfbWF0cml4X3RpbGVfZnJlZSh2b2lkKiBkYXRhLCBFd2tfVGlsZSog
dGlsZSkKICAqICAgICAgICBhdXRvbWF0aWNhbGx5LgogICogQHBhcmFtIGNvbHVtbnMgbnVtYmVy
IG9mIGNvbHVtbnMgaW4gdGhlIG1hdHJpeC4KICAqIEBwYXJhbSByb3dzIG51bWJlciBvZiByb3dz
IGluIHRoZSBtYXRyaXguCisgKiBAcGFyYW0gY3VycmVudFpvb20gY3VycmVudCB6b29tIGxldmVs
IGZvciB0aGUgbWF0cml4LgogICogQHBhcmFtIGNzcGFjZSB0aGUgY29sb3Igc3BhY2UgdXNlZCB0
byBjcmVhdGUgdGlsZXMgaW4gdGhpcyBtYXRyaXguCiAgKiBAcGFyYW0gcmVuZGVyX2NiIGZ1bmN0
aW9uIHVzZWQgdG8gcmVuZGVyIGdpdmVuIHRpbGUgdXBkYXRlLgogICogQHBhcmFtIHJlbmRlcl9k
YXRhIGNvbnRleHQgdG8gZ2l2ZSBiYWNrIHRvIEBhIHJlbmRlcl9jYi4KICAqCiAgKiBAcmV0dXJu
IG5ld2x5IGFsbG9jYXRlZCBpbnN0YW5jZSBvbiBzdWNjZXNzLCBAYyAwIG9uIGZhaWx1cmUuCiAg
Ki8KLUV3a19UaWxlX01hdHJpeCogZXdrX3RpbGVfbWF0cml4X25ldyhFd2tfVGlsZV9VbnVzZWRf
Q2FjaGUqIHRpbGVVbnVzZWRDYWNoZSwgdW5zaWduZWQgbG9uZyBjb2x1bW5zLCB1bnNpZ25lZCBs
b25nIHJvd3MsIEV2YXNfQ29sb3JzcGFjZSBjb2xvclNwYWNlLCB2b2lkICgqcmVuZGVyX2NhbGxi
YWNrKSh2b2lkKiBkYXRhLCBFd2tfVGlsZSogdGlsZSwgY29uc3QgRWluYV9SZWN0YW5nbGUqIHVw
ZGF0ZSksIGNvbnN0IHZvaWQqIHJlbmRlckRhdGEpCitFd2tfVGlsZV9NYXRyaXgqIGV3a190aWxl
X21hdHJpeF9uZXcoRXdrX1RpbGVfVW51c2VkX0NhY2hlKiB0aWxlVW51c2VkQ2FjaGUsIHVuc2ln
bmVkIGxvbmcgY29sdW1ucywgdW5zaWduZWQgbG9uZyByb3dzLCBmbG9hdCBjdXJyZW50Wm9vbSwg
RXZhc19Db2xvcnNwYWNlIGNvbG9yU3BhY2UsIHZvaWQgKCpyZW5kZXJfY2FsbGJhY2spKHZvaWQq
IGRhdGEsIEV3a19UaWxlKiB0aWxlLCBjb25zdCBFaW5hX1JlY3RhbmdsZSogdXBkYXRlKSwgY29u
c3Qgdm9pZCogcmVuZGVyRGF0YSkKIHsKICAgICBFd2tfVGlsZV9NYXRyaXgqIHRtID0gc3RhdGlj
X2Nhc3Q8RXdrX1RpbGVfTWF0cml4Kj4oY2FsbG9jKDEsIHNpemVvZihFd2tfVGlsZV9NYXRyaXgp
KSk7CiAgICAgaWYgKCF0bSkKQEAgLTE1OCw2ICsyMDQsOCBAQCBFd2tfVGlsZV9NYXRyaXgqIGV3
a190aWxlX21hdHJpeF9uZXcoRXdrX1RpbGVfVW51c2VkX0NhY2hlKiB0aWxlVW51c2VkQ2FjaGUs
IHVucwogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKKyAgICBld2tfdGlsZV9tYXRyaXhfem9v
bV9sZXZlbF9zZXQodG0sIGN1cnJlbnRab29tKTsKKwogICAgIGlmICh0aWxlVW51c2VkQ2FjaGUp
CiAgICAgICAgIHRtLT50dWMgPSBld2tfdGlsZV91bnVzZWRfY2FjaGVfcmVmKHRpbGVVbnVzZWRD
YWNoZSk7CiAgICAgZWxzZSB7CkBAIC0xNzksNiArMjI3LDYxIEBAIEV3a19UaWxlX01hdHJpeCog
ZXdrX3RpbGVfbWF0cml4X25ldyhFd2tfVGlsZV9VbnVzZWRfQ2FjaGUqIHRpbGVVbnVzZWRDYWNo
ZSwgdW5zCiAgICAgcmV0dXJuIHRtOwogfQogCit2b2lkIGV3a190aWxlX21hdHJpeF96b29tX2xl
dmVsX3NldChFd2tfVGlsZV9NYXRyaXgqIHRpbGVNYXRyaXgsIGZsb2F0IHpvb20pCit7CisgICAg
RUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk4odGlsZU1hdHJpeCk7CisgICAgRXdrX1RpbGVfTWF0
cml4X0VudHJ5KiBpdGVyYXRvciA9IDA7CisgICAgRXdrX1RpbGVfTWF0cml4X0VudHJ5KiBlbnRy
eSA9IDA7CisgICAgdW5zaWduZWQgbG9uZyByb3dzID0gMCwgY29sdW1ucyA9IDA7CisKKyAgICBl
aW5hX21hdHJpeHNwYXJzZV9zaXplX2dldCh0aWxlTWF0cml4LT5tYXRyaXgsICZyb3dzLCAmY29s
dW1ucyk7CisKKyAgICBFSU5BX0lOTElTVF9GT1JFQUNIKHRpbGVNYXRyaXgtPm1hdHJpY2VzLCBp
dGVyYXRvcikgeworICAgICAgICBpZiAoaXRlcmF0b3ItPnpvb20gIT0gem9vbSkKKyAgICAgICAg
ICAgIGNvbnRpbnVlOworICAgICAgICBlbnRyeSA9IGl0ZXJhdG9yOworICAgICAgICB0aWxlTWF0
cml4LT5tYXRyaWNlcyA9IGVpbmFfaW5saXN0X3Byb21vdGUodGlsZU1hdHJpeC0+bWF0cmljZXMs
IEVJTkFfSU5MSVNUX0dFVChlbnRyeSkpOworICAgICAgICBlaW5hX21hdHJpeHNwYXJzZV9zaXpl
X3NldChlbnRyeS0+bWF0cml4LCByb3dzLCBjb2x1bW5zKTsKKyAgICB9CisKKyAgICBpZiAoIWVu
dHJ5KSB7CisgICAgICAgIGVudHJ5ID0gc3RhdGljX2Nhc3Q8RXdrX1RpbGVfTWF0cml4X0VudHJ5
Kj4oY2FsbG9jKDEsIHNpemVvZihFd2tfVGlsZV9NYXRyaXhfRW50cnkpKSk7CisgICAgICAgIGVu
dHJ5LT56b29tID0gem9vbTsKKyAgICAgICAgZW50cnktPm1hdHJpeCA9IGVpbmFfbWF0cml4c3Bh
cnNlX25ldyhyb3dzLCBjb2x1bW5zLCBfZXdrX3RpbGVfbWF0cml4X2NlbGxfZnJlZSwgdGlsZU1h
dHJpeCk7CisgICAgICAgIGlmICghZW50cnktPm1hdHJpeCkgeworICAgICAgICAgICAgRVJSKCJj
b3VsZCBub3QgY3JlYXRlIHNwYXJzZSBtYXRyaXguIik7CisgICAgICAgICAgICBmcmVlKGVudHJ5
KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICB0aWxlTWF0cml4LT5t
YXRyaWNlcyA9IGVpbmFfaW5saXN0X3ByZXBlbmQodGlsZU1hdHJpeC0+bWF0cmljZXMsIEVJTkFf
SU5MSVNUX0dFVChlbnRyeSkpOworICAgIH0KKworICAgIHRpbGVNYXRyaXgtPm1hdHJpeCA9IGVu
dHJ5LT5tYXRyaXg7Cit9CisKK3ZvaWQgZXdrX3RpbGVfbWF0cml4X2ludmFsaWRhdGUoRXdrX1Rp
bGVfTWF0cml4KiB0aWxlTWF0cml4KQoreworICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJO
KHRpbGVNYXRyaXgpOworICAgIEV3a19UaWxlX01hdHJpeF9FbnRyeSogaXRlcmF0b3I7CisgICAg
RWluYV9Jbmxpc3QqIG1hdHJpeExpc3Q7CisKKyAgICBtYXRyaXhMaXN0ID0gdGlsZU1hdHJpeC0+
bWF0cmljZXM7CisgICAgd2hpbGUgKG1hdHJpeExpc3QpIHsKKyAgICAgICAgaXRlcmF0b3IgPSBF
SU5BX0lOTElTVF9DT05UQUlORVJfR0VUKG1hdHJpeExpc3QsIEV3a19UaWxlX01hdHJpeF9FbnRy
eSk7CisgICAgICAgIEVpbmFfSW5saXN0ICpuZXh0ID0gKG1hdHJpeExpc3QtPm5leHQpID8gbWF0
cml4TGlzdC0+bmV4dCA6IDA7CisKKyAgICAgICAgaWYgKGl0ZXJhdG9yLT5tYXRyaXggIT0gdGls
ZU1hdHJpeC0+bWF0cml4KSB7CisgICAgICAgICAgICBlaW5hX21hdHJpeHNwYXJzZV9mcmVlKGl0
ZXJhdG9yLT5tYXRyaXgpOworICAgICAgICAgICAgdGlsZU1hdHJpeC0+bWF0cmljZXMgPSBlaW5h
X2lubGlzdF9yZW1vdmUodGlsZU1hdHJpeC0+bWF0cmljZXMsIG1hdHJpeExpc3QpOworICAgICAg
ICAgICAgZnJlZShpdGVyYXRvcik7CisgICAgICAgIH0KKworICAgICAgICBtYXRyaXhMaXN0ID0g
bmV4dDsKKyAgICB9Cit9CisKKworCiAvKioKICAqIERlc3Ryb3lzIHRpbGVzIG1hdHJpeCwgcmVs
ZWFzaW5nIGl0cyByZXNvdXJjZXMuCiAgKgpAQCAtMTg2LDYgKzI4OSw3IEBAIEV3a19UaWxlX01h
dHJpeCogZXdrX3RpbGVfbWF0cml4X25ldyhFd2tfVGlsZV9VbnVzZWRfQ2FjaGUqIHRpbGVVbnVz
ZWRDYWNoZSwgdW5zCiAgKi8KIHZvaWQgZXdrX3RpbGVfbWF0cml4X2ZyZWUoRXdrX1RpbGVfTWF0
cml4KiB0aWxlTWF0cml4KQogeworICAgIEV3a19UaWxlX01hdHJpeF9FbnRyeSogZW50cnk7CiAj
aWZkZWYgREVCVUdfTUVNX0xFQUtTCiAgICAgdWludDY0X3QgdGlsZXMsIGJ5dGVzOwogI2VuZGlm
CkBAIC0xOTMsNyArMjk3LDEyIEBAIHZvaWQgZXdrX3RpbGVfbWF0cml4X2ZyZWUoRXdrX1RpbGVf
TWF0cml4KiB0aWxlTWF0cml4KQogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOKHRpbGVN
YXRyaXgpOwogICAgIGV3a190aWxlX3VudXNlZF9jYWNoZV9mcmVlemUodGlsZU1hdHJpeC0+dHVj
KTsKIAotICAgIGVpbmFfbWF0cml4c3BhcnNlX2ZyZWUodGlsZU1hdHJpeC0+bWF0cml4KTsKKyAg
ICBld2tfdGlsZV91bnVzZWRfY2FjaGVfZnJlZXplKHRpbGVNYXRyaXgtPnR1Yyk7CisgICAgZXdr
X3RpbGVfbWF0cml4X2ludmFsaWRhdGUodGlsZU1hdHJpeCk7CisgICAgZW50cnkgPSBFSU5BX0lO
TElTVF9DT05UQUlORVJfR0VUKHRpbGVNYXRyaXgtPm1hdHJpY2VzLCBFd2tfVGlsZV9NYXRyaXhf
RW50cnkpOworICAgIGVpbmFfbWF0cml4c3BhcnNlX2ZyZWUoZW50cnktPm1hdHJpeCk7ICAgIAor
ICAgIGZyZWUoZW50cnkpOworICAgIHRpbGVNYXRyaXgtPm1hdHJpY2VzID0gMDsKIAogICAgIGV3
a190aWxlX3VudXNlZF9jYWNoZV90aGF3KHRpbGVNYXRyaXgtPnR1Yyk7CiAgICAgZXdrX3RpbGVf
dW51c2VkX2NhY2hlX3VucmVmKHRpbGVNYXRyaXgtPnR1Yyk7CkBAIC0zMjIsOSArNDMxLDE2IEBA
IEV3a19UaWxlKiBld2tfdGlsZV9tYXRyaXhfdGlsZV9uZXcoRXdrX1RpbGVfTWF0cml4KiB0aWxl
TWF0cml4LCBFdmFzKiBjYW52YXMsIHVuCiB7CiAgICAgRXZhc19Db29yZCB0dywgdGg7CiAgICAg
RXdrX1RpbGUqIHRpbGU7CisgICAgRXdrX1RpbGVfTWF0cml4X0VudHJ5KiBlbnRyeTsKIAogICAg
IEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTCh0aWxlTWF0cml4LCAwKTsKICAgICBFSU5B
X1NBRkVUWV9PTl9GQUxTRV9SRVRVUk5fVkFMKHpvb20gPiAwLjAsIDApOworICAgIGVudHJ5ID0g
ZXdrX3RpbGVfbWF0cml4X2VudHJ5X2dldCh0aWxlTWF0cml4LCB6b29tKTsKKyAgICBpZiAoIWVu
dHJ5KSB7CisgICAgICAgIEVSUigiY291bGQgbm90IGdldCBtYXRyaXggYXQgem9vbSAlZiBmb3Ig
dGlsZSIsIHpvb20pOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgZW50cnktPmNvdW50
Kys7CiAKICAgICB0dyA9IHRpbGVNYXRyaXgtPnRpbGUud2lkdGg7CiAgICAgdGggPSB0aWxlTWF0
cml4LT50aWxlLmhlaWdodDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tf
dGlsZWRfbWF0cml4LmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3RpbGVkX21hdHJpeC5o
CmluZGV4IGQzZGM1MTcuLjRiYmQyNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3
ay9ld2tfdGlsZWRfbWF0cml4LmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxl
ZF9tYXRyaXguaApAQCAtMjYsMTAgKzI2LDEyIEBACiAjaW5jbHVkZSA8RXZhcy5oPgogCiAvKiBt
YXRyaXggb2YgdGlsZXMgKi8KLUV3a19UaWxlX01hdHJpeCogZXdrX3RpbGVfbWF0cml4X25ldyhF
d2tfVGlsZV9VbnVzZWRfQ2FjaGUqIHR1YywgdW5zaWduZWQgbG9uZyBjb2xzLCB1bnNpZ25lZCBs
b25nIHJvd3MsIEV2YXNfQ29sb3JzcGFjZSBjc3BhY2UsIHZvaWQgKCogcmVuZGVyX2NiKSh2b2lk
KiBkYXRhLCBFd2tfVGlsZSogdCwgY29uc3QgRWluYV9SZWN0YW5nbGUqIHVwZGF0ZSksIGNvbnN0
IHZvaWQqIHJlbmRlcl9kYXRhKTsKK0V3a19UaWxlX01hdHJpeCogZXdrX3RpbGVfbWF0cml4X25l
dyhFd2tfVGlsZV9VbnVzZWRfQ2FjaGUqIHRpbGVVbnVzZWRDYWNoZSwgdW5zaWduZWQgbG9uZyBj
b2x1bW5zLCB1bnNpZ25lZCBsb25nIHJvd3MsIGZsb2F0IGN1cnJlbnRab29tLCBFdmFzX0NvbG9y
c3BhY2UgY29sb3JTcGFjZSwgdm9pZCAoKnJlbmRlcl9jYWxsYmFjaykodm9pZCogZGF0YSwgRXdr
X1RpbGUqIHRpbGUsIGNvbnN0IEVpbmFfUmVjdGFuZ2xlKiB1cGRhdGUpLCBjb25zdCB2b2lkKiBy
ZW5kZXJEYXRhKTsKIHZvaWQgZXdrX3RpbGVfbWF0cml4X2ZyZWUoRXdrX1RpbGVfTWF0cml4KiB0
bSk7CiAKIHZvaWQgZXdrX3RpbGVfbWF0cml4X3Jlc2l6ZShFd2tfVGlsZV9NYXRyaXgqIHRtLCB1
bnNpZ25lZCBsb25nIGNvbHMsIHVuc2lnbmVkIGxvbmcgcm93cyk7Cit2b2lkIGV3a190aWxlX21h
dHJpeF96b29tX2xldmVsX3NldChFd2tfVGlsZV9NYXRyaXgqIHRpbGVNYXRyaXgsIGZsb2F0IHpv
b20pOwordm9pZCBld2tfdGlsZV9tYXRyaXhfaW52YWxpZGF0ZShFd2tfVGlsZV9NYXRyaXgqIHRp
bGVNYXRyaXgpOwogCiBFd2tfVGlsZV9VbnVzZWRfQ2FjaGUqIGV3a190aWxlX21hdHJpeF91bnVz
ZWRfY2FjaGVfZ2V0KGNvbnN0IEV3a19UaWxlX01hdHJpeCogdG0pOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111135</attachid>
            <date>2011-10-15 07:57:32 -0700</date>
            <delta_ts>2011-10-16 19:43:17 -0700</delta_ts>
            <desc>Patch.</desc>
            <filename>1015_matrix_list_2.patch</filename>
            <type>text/plain</type>
            <size>12127</size>
            <attacher name="KwangHyuk">hyuki.kim</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCA2OTIwNmI0Li40ZGNlMjhhIDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjggQEAKKzIwMTEtMTAtMTQgIEt3YW5nSHl1ayBLaW0gIDxoeXVraS5raW1Ac2Ft
c3VuZy5jb20+CisKKyAgICAgICAgW0VGTF0gQWRkIG1hdHJpeCBsaXN0IHRvIHJldXNlIHRpbGUg
bWF0cml4IGZvciBlYWNoIGRpZmZlcmVudCB6b29tIGxldmVsLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1OTUKKworICAgICAgICBBZGQgbWF0cml4
IGxpc3QgdG8ga2VlcCBlYWNoIHRpbGUgbWF0cml4IGNvcnJlc3BvbmRpbmcgdG8gZWFjaCBkaWZm
ZXJlbnQgem9vbSBsZXZlbCB3aGVuIHpvb20gbGV2ZWwgaXMgY2hhbmdlZC4KKyAgICAgICAgVGhl
biBiYWNraW5nIHN0b3JlIGNhbiByZXVzZSB0aWxlIG1hdHJpeCBieSBnZXR0aW5nIGl0IGZyb20g
dGhpcyBtYXRyaXggbGlzdC4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGV3ay9ld2tfdGlsZWRfYmFja2luZ19zdG9yZS5jcHA6CisgICAgICAgIChf
ZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfbW9kZWxfbWF0cml4X2NyZWF0ZSk6CisgICAgICAgIChf
ZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfc21hcnRfY2FsY3VsYXRlKToKKyAgICAgICAgKF9ld2tf
dGlsZWRfYmFja2luZ19zdG9yZV96b29tX3NldF9pbnRlcm5hbCk6CisgICAgICAgICogZXdrL2V3
a190aWxlZF9tYXRyaXguY3BwOgorICAgICAgICAoZXdrX3RpbGVfbWF0cml4X2VudHJ5X2dldCk6
CisgICAgICAgIChfZXdrX3RpbGVfbWF0cml4X2NlbGxfZnJlZSk6CisgICAgICAgIChfZXdrX3Rp
bGVfbWF0cml4X3RpbGVfZnJlZSk6CisgICAgICAgIChld2tfdGlsZV9tYXRyaXhfbmV3KToKKyAg
ICAgICAgKGV3a190aWxlX21hdHJpeF96b29tX2xldmVsX3NldCk6CisgICAgICAgIChld2tfdGls
ZV9tYXRyaXhfaW52YWxpZGF0ZSk6CisgICAgICAgIChld2tfdGlsZV9tYXRyaXhfZnJlZSk6Cisg
ICAgICAgIChld2tfdGlsZV9tYXRyaXhfdGlsZV9uZXcpOgorICAgICAgICAqIGV3ay9ld2tfdGls
ZWRfbWF0cml4Lmg6CisKIDIwMTEtMTAtMTQgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJn
QGFwcGxlLmNvbT4KIAogICAgICAgICBSZW5hbWUgdmlydHVhbCBwdXQgdG8gcHV0VmlydHVhbApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxlZF9iYWNraW5nX3N0b3Jl
LmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfYmFja2luZ19zdG9yZS5jcHAK
aW5kZXggNzk0YTkwYy4uZTk5Zjg1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdr
L2V3a190aWxlZF9iYWNraW5nX3N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmUuY3BwCkBAIC02MjksNyArNjI5LDcgQEAgc3RhdGljIGlu
bGluZSB2b2lkIF9ld2tfdGlsZWRfYmFja2luZ19zdG9yZV9tb2RlbF9tYXRyaXhfY3JlYXRlKEV3
a19UaWxlZF9CYWNraW4KICAgICAgICAgZXdrX3RpbGVfbWF0cml4X2ZyZWUocHJpdi0+bW9kZWwu
bWF0cml4KTsKICAgICB9CiAKLSAgICBwcml2LT5tb2RlbC5tYXRyaXggPSBld2tfdGlsZV9tYXRy
aXhfbmV3KHRpbGVVbnVzZWRDYWNoZSwgcHJpdi0+bW9kZWwuY3VyLmNvbHMsIHByaXYtPm1vZGVs
LmN1ci5yb3dzLCBwcml2LT5jc3BhY2UsIF9ld2tfdGlsZWRfYmFja2luZ19zdG9yZV9yZW5kZXIs
IHByaXYpOworICAgIHByaXYtPm1vZGVsLm1hdHJpeCA9IGV3a190aWxlX21hdHJpeF9uZXcodGls
ZVVudXNlZENhY2hlLCBwcml2LT5tb2RlbC5jdXIuY29scywgcHJpdi0+bW9kZWwuY3VyLnJvd3Ms
IHByaXYtPnZpZXcudGlsZS56b29tLCBwcml2LT5jc3BhY2UsIF9ld2tfdGlsZWRfYmFja2luZ19z
dG9yZV9yZW5kZXIsIHByaXYpOwogfQogCiBzdGF0aWMgdm9pZCBfZXdrX3RpbGVkX2JhY2tpbmdf
c3RvcmVfc21hcnRfbWVtYmVyX2RlbChFdmFzX09iamVjdCogZXdrVGlsZSwgRXZhc19PYmplY3Qq
IG1lbWJlcikKQEAgLTEzMDIsNiArMTMwMiw5IEBAIHN0YXRpYyB2b2lkIF9ld2tfdGlsZWRfYmFj
a2luZ19zdG9yZV9zbWFydF9jYWxjdWxhdGUoRXZhc19PYmplY3QqIGV3a1RpbGUpCiAKICAgICBl
d2tfdGlsZV9tYXRyaXhfZnJlZXplKHByaXYtPm1vZGVsLm1hdHJpeCk7CiAKKyAgICBpZiAocHJp
di0+Y2hhbmdlZC5tb2RlbCAmJiAhcHJpdi0+Y2hhbmdlZC5zaXplKQorICAgICAgICBld2tfdGls
ZV9tYXRyaXhfaW52YWxpZGF0ZShwcml2LT5tb2RlbC5tYXRyaXgpOworCiAgICAgaWYgKCFwcml2
LT5yZW5kZXIuc3VzcGVuZCAmJiBwcml2LT5jaGFuZ2VkLm1vZGVsKSB7CiAgICAgICAgIHVuc2ln
bmVkIGxvbmcgY29scywgcm93czsKIApAQCAtMTQ4Niw2ICsxNDg5LDggQEAgc3RhdGljIEVpbmFf
Qm9vbCBfZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfem9vbV9zZXRfaW50ZXJuYWwoRXdrX1RpbGVk
X0JhY2tpbmdfU3QKICAgICBwcml2LT52aWV3Lm9mZnNldC56b29tX2NlbnRlci54ID0gY3VycmVu
dFg7CiAgICAgcHJpdi0+dmlldy5vZmZzZXQuem9vbV9jZW50ZXIueSA9IGN1cnJlbnRZOwogCisg
ICAgZXdrX3RpbGVfbWF0cml4X3pvb21fbGV2ZWxfc2V0KHByaXYtPm1vZGVsLm1hdHJpeCwgKnpv
b20pOworCiAKICAgICBpZiAoIXByaXYtPnZpZXcud2lkdGggfHwgIXByaXYtPnZpZXcuaGVpZ2h0
KSB7CiAgICAgICAgIHByaXYtPnZpZXcub2Zmc2V0LmJhc2UueCA9IDA7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3RpbGVkX21hdHJpeC5jcHAgYi9Tb3VyY2UvV2ViS2l0
L2VmbC9ld2svZXdrX3RpbGVkX21hdHJpeC5jcHAKaW5kZXggZTkxYmQ3Ny4uYWQyZDdkNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxlZF9tYXRyaXguY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfbWF0cml4LmNwcApAQCAtMzEsOCArMzEs
MTggQEAKICNpbmNsdWRlIDxzdGRsaWIuaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KIAorc3RydWN0
IF9Fd2tfVGlsZV9NYXRyaXhfRW50cnkgeworICAgIEVJTkFfSU5MSVNUOworICAgIGZsb2F0IHpv
b207CisgICAgdW5zaWduZWQgbG9uZyBjb3VudDsKKyAgICBFaW5hX01hdHJpeHNwYXJzZSogbWF0
cml4OworfTsKKwordHlwZWRlZiBzdHJ1Y3QgX0V3a19UaWxlX01hdHJpeF9FbnRyeSBFd2tfVGls
ZV9NYXRyaXhfRW50cnk7CisKIHN0cnVjdCBfRXdrX1RpbGVfTWF0cml4IHsKICAgICBFaW5hX01h
dHJpeHNwYXJzZSogbWF0cml4OworICAgIEVpbmFfSW5saXN0KiBtYXRyaWNlczsKICAgICBFd2tf
VGlsZV9VbnVzZWRfQ2FjaGUqIHR1YzsKICAgICBFdmFzX0NvbG9yc3BhY2UgY3NwYWNlOwogICAg
IHN0cnVjdCB7CkBAIC01OCw2ICs2OCwyMCBAQCBzdGF0aWMgdWludDY0X3QgdGlsZXNfbGVha2Vk
ID0gMDsKIHN0YXRpYyB1aW50NjRfdCBieXRlc19sZWFrZWQgPSAwOwogI2VuZGlmCiAKK3N0YXRp
YyBFd2tfVGlsZV9NYXRyaXhfRW50cnkqIGV3a190aWxlX21hdHJpeF9lbnRyeV9nZXQoRXdrX1Rp
bGVfTWF0cml4KiB0aWxlTWF0cml4LCBmbG9hdCB6b29tKQoreworICAgIEVJTkFfU0FGRVRZX09O
X05VTExfUkVUVVJOX1ZBTCh0aWxlTWF0cml4LCAwKTsKKyAgICBFd2tfVGlsZV9NYXRyaXhfRW50
cnkqIGl0ZXJhdG9yOworCisgICAgRUlOQV9JTkxJU1RfRk9SRUFDSCh0aWxlTWF0cml4LT5tYXRy
aWNlcywgaXRlcmF0b3IpIHsKKyAgICAgICAgaWYgKGl0ZXJhdG9yLT56b29tID09IHpvb20pCisg
ICAgICAgICAgICByZXR1cm4gaXRlcmF0b3I7CisgICAgfQorCisgICAgcmV0dXJuIDA7Cit9CisK
KwogLyogY2FsbGVkIHdoZW4gbWF0cml4c3BhcnNlIGlzIHJlc2l6ZWQgb3IgZnJlZWQgKi8KIHN0
YXRpYyB2b2lkIF9ld2tfdGlsZV9tYXRyaXhfY2VsbF9mcmVlKHZvaWQqIHVzZXJEYXRhLCB2b2lk
KiBjZWxsRGF0YSkKIHsKQEAgLTc4LDExICsxMDIsMTggQEAgc3RhdGljIHZvaWQgX2V3a190aWxl
X21hdHJpeF9jZWxsX2ZyZWUodm9pZCogdXNlckRhdGEsIHZvaWQqIGNlbGxEYXRhKQogICAgICAg
ICBpZiAoIWV3a190aWxlX3VudXNlZF9jYWNoZV90aWxlX2dldCh0bS0+dHVjLCB0aWxlKSkKICAg
ICAgICAgICAgIEVSUigidGlsZSAlcCB3YXMgbm90IGluIGNhY2hlICVwPyBsZWFraW5nLi4uIiwg
dGlsZSwgdG0tPnR1Yyk7CiAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgRXdrX1RpbGVfTWF0
cml4X0VudHJ5KiBlbnRyeTsKICAgICAgICAgICAgIERCRygidGlsZSBjZWxsIGRvZXMgbm90IGV4
aXN0IGFueW1vcmUsIGZyZWUgaXQgJXAiLCB0aWxlKTsKICNpZmRlZiBERUJVR19NRU1fTEVBS1MK
ICAgICAgICAgICAgIHRtLT5zdGF0cy5ieXRlcy5mcmVlZCArPSB0aWxlLT5ieXRlczsKICAgICAg
ICAgICAgIHRtLT5zdGF0cy50aWxlcy5mcmVlZCsrOwogI2VuZGlmCisgICAgICAgICAgICBlbnRy
eSA9IGV3a190aWxlX21hdHJpeF9lbnRyeV9nZXQodG0sIHRpbGUtPnpvb20pOworICAgICAgICAg
ICAgaWYgKCFlbnRyeSkKKyAgICAgICAgICAgICAgICBFUlIoImNhbid0IGZpbmQgbWF0cml4IGZv
ciB6b29tICUwLjNmIiwgdGlsZS0+em9vbSk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAg
ICAgICAgZW50cnktPmNvdW50LS07CisKICAgICAgICAgICAgIGV3a190aWxlX2ZyZWUodGlsZSk7
CiAgICAgICAgIH0KICAgICB9CkBAIC05NCw5ICsxMjUsMTYgQEAgc3RhdGljIHZvaWQgX2V3a190
aWxlX21hdHJpeF9jZWxsX2ZyZWUodm9pZCogdXNlckRhdGEsIHZvaWQqIGNlbGxEYXRhKQogc3Rh
dGljIHZvaWQgX2V3a190aWxlX21hdHJpeF90aWxlX2ZyZWUodm9pZCogZGF0YSwgRXdrX1RpbGUq
IHRpbGUpCiB7CiAgICAgRXdrX1RpbGVfTWF0cml4KiB0bSA9IHN0YXRpY19jYXN0PEV3a19UaWxl
X01hdHJpeCo+KGRhdGEpOworICAgIEV3a19UaWxlX01hdHJpeF9FbnRyeSogZW50cnk7CiAgICAg
RWluYV9NYXRyaXhzcGFyc2VfQ2VsbCogY2VsbDsKIAotICAgIGlmICghZWluYV9tYXRyaXhzcGFy
c2VfY2VsbF9pZHhfZ2V0KHRtLT5tYXRyaXgsIHRpbGUtPnJvdywgdGlsZS0+Y29sLCAmY2VsbCkp
IHsKKyAgICBlbnRyeSA9IGV3a190aWxlX21hdHJpeF9lbnRyeV9nZXQodG0sIHRpbGUtPnpvb20p
OworICAgIGlmICghZW50cnkpIHsKKyAgICAgICAgRVJSKCJyZW1vdmluZyB0aWxlICVwIHRoYXQg
d2FzIG5vdCBpbiBhbnkgbWF0cml4PyBMZWFraW5nLi4uIiwgdGlsZSk7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKKyAgICBpZiAoIWVpbmFfbWF0cml4c3BhcnNlX2NlbGxfaWR4X2dldChlbnRy
eS0+bWF0cml4LCB0aWxlLT5yb3csIHRpbGUtPmNvbCwgJmNlbGwpKSB7CiAgICAgICAgIEVSUigi
cmVtb3ZpbmcgdGlsZSAlcCB0aGF0IHdhcyBub3QgaW4gdGhlIG1hdHJpeD8gTGVha2luZy4uLiIs
IHRpbGUpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTI0LDYgKzE2MiwxMyBAQCBzdGF0
aWMgdm9pZCBfZXdrX3RpbGVfbWF0cml4X3RpbGVfZnJlZSh2b2lkKiBkYXRhLCBFd2tfVGlsZSog
dGlsZSkKICAgICB0bS0+c3RhdHMudGlsZXMuZnJlZWQrKzsKICNlbmRpZgogCisgICAgZW50cnkt
PmNvdW50LS07CisgICAgaWYgKCFlbnRyeS0+Y291bnQgJiYgZW50cnktPm1hdHJpeCAhPSB0bS0+
bWF0cml4KSB7CisgICAgICAgIGVpbmFfbWF0cml4c3BhcnNlX2ZyZWUoZW50cnktPm1hdHJpeCk7
CisgICAgICAgIHRtLT5tYXRyaWNlcyA9IGVpbmFfaW5saXN0X3JlbW92ZSh0bS0+bWF0cmljZXMs
IEVJTkFfSU5MSVNUX0dFVChlbnRyeSkpOworICAgICAgICBmcmVlKGVudHJ5KTsKKyAgICB9CisK
ICAgICBld2tfdGlsZV9mcmVlKHRpbGUpOwogfQogCkBAIC0xMzksMTMgKzE4NCwxNCBAQCBzdGF0
aWMgdm9pZCBfZXdrX3RpbGVfbWF0cml4X3RpbGVfZnJlZSh2b2lkKiBkYXRhLCBFd2tfVGlsZSog
dGlsZSkKICAqICAgICAgICBhdXRvbWF0aWNhbGx5LgogICogQHBhcmFtIGNvbHVtbnMgbnVtYmVy
IG9mIGNvbHVtbnMgaW4gdGhlIG1hdHJpeC4KICAqIEBwYXJhbSByb3dzIG51bWJlciBvZiByb3dz
IGluIHRoZSBtYXRyaXguCisgKiBAcGFyYW0gY3VycmVudFpvb20gY3VycmVudCB6b29tIGxldmVs
IGZvciB0aGUgbWF0cml4LgogICogQHBhcmFtIGNzcGFjZSB0aGUgY29sb3Igc3BhY2UgdXNlZCB0
byBjcmVhdGUgdGlsZXMgaW4gdGhpcyBtYXRyaXguCiAgKiBAcGFyYW0gcmVuZGVyX2NiIGZ1bmN0
aW9uIHVzZWQgdG8gcmVuZGVyIGdpdmVuIHRpbGUgdXBkYXRlLgogICogQHBhcmFtIHJlbmRlcl9k
YXRhIGNvbnRleHQgdG8gZ2l2ZSBiYWNrIHRvIEBhIHJlbmRlcl9jYi4KICAqCiAgKiBAcmV0dXJu
IG5ld2x5IGFsbG9jYXRlZCBpbnN0YW5jZSBvbiBzdWNjZXNzLCBAYyAwIG9uIGZhaWx1cmUuCiAg
Ki8KLUV3a19UaWxlX01hdHJpeCogZXdrX3RpbGVfbWF0cml4X25ldyhFd2tfVGlsZV9VbnVzZWRf
Q2FjaGUqIHRpbGVVbnVzZWRDYWNoZSwgdW5zaWduZWQgbG9uZyBjb2x1bW5zLCB1bnNpZ25lZCBs
b25nIHJvd3MsIEV2YXNfQ29sb3JzcGFjZSBjb2xvclNwYWNlLCB2b2lkICgqcmVuZGVyX2NhbGxi
YWNrKSh2b2lkKiBkYXRhLCBFd2tfVGlsZSogdGlsZSwgY29uc3QgRWluYV9SZWN0YW5nbGUqIHVw
ZGF0ZSksIGNvbnN0IHZvaWQqIHJlbmRlckRhdGEpCitFd2tfVGlsZV9NYXRyaXgqIGV3a190aWxl
X21hdHJpeF9uZXcoRXdrX1RpbGVfVW51c2VkX0NhY2hlKiB0aWxlVW51c2VkQ2FjaGUsIHVuc2ln
bmVkIGxvbmcgY29sdW1ucywgdW5zaWduZWQgbG9uZyByb3dzLCBmbG9hdCBjdXJyZW50Wm9vbSwg
RXZhc19Db2xvcnNwYWNlIGNvbG9yU3BhY2UsIHZvaWQgKCpyZW5kZXJfY2FsbGJhY2spKHZvaWQq
IGRhdGEsIEV3a19UaWxlKiB0aWxlLCBjb25zdCBFaW5hX1JlY3RhbmdsZSogdXBkYXRlKSwgY29u
c3Qgdm9pZCogcmVuZGVyRGF0YSkKIHsKICAgICBFd2tfVGlsZV9NYXRyaXgqIHRtID0gc3RhdGlj
X2Nhc3Q8RXdrX1RpbGVfTWF0cml4Kj4oY2FsbG9jKDEsIHNpemVvZihFd2tfVGlsZV9NYXRyaXgp
KSk7CiAgICAgaWYgKCF0bSkKQEAgLTE1OCw2ICsyMDQsOCBAQCBFd2tfVGlsZV9NYXRyaXgqIGV3
a190aWxlX21hdHJpeF9uZXcoRXdrX1RpbGVfVW51c2VkX0NhY2hlKiB0aWxlVW51c2VkQ2FjaGUs
IHVucwogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKKyAgICBld2tfdGlsZV9tYXRyaXhfem9v
bV9sZXZlbF9zZXQodG0sIGN1cnJlbnRab29tKTsKKwogICAgIGlmICh0aWxlVW51c2VkQ2FjaGUp
CiAgICAgICAgIHRtLT50dWMgPSBld2tfdGlsZV91bnVzZWRfY2FjaGVfcmVmKHRpbGVVbnVzZWRD
YWNoZSk7CiAgICAgZWxzZSB7CkBAIC0xNzksNiArMjI3LDYxIEBAIEV3a19UaWxlX01hdHJpeCog
ZXdrX3RpbGVfbWF0cml4X25ldyhFd2tfVGlsZV9VbnVzZWRfQ2FjaGUqIHRpbGVVbnVzZWRDYWNo
ZSwgdW5zCiAgICAgcmV0dXJuIHRtOwogfQogCit2b2lkIGV3a190aWxlX21hdHJpeF96b29tX2xl
dmVsX3NldChFd2tfVGlsZV9NYXRyaXgqIHRpbGVNYXRyaXgsIGZsb2F0IHpvb20pCit7CisgICAg
RUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk4odGlsZU1hdHJpeCk7CisgICAgRXdrX1RpbGVfTWF0
cml4X0VudHJ5KiBpdGVyYXRvciA9IDA7CisgICAgRXdrX1RpbGVfTWF0cml4X0VudHJ5KiBlbnRy
eSA9IDA7CisgICAgdW5zaWduZWQgbG9uZyByb3dzID0gMCwgY29sdW1ucyA9IDA7CisKKyAgICBl
aW5hX21hdHJpeHNwYXJzZV9zaXplX2dldCh0aWxlTWF0cml4LT5tYXRyaXgsICZyb3dzLCAmY29s
dW1ucyk7CisKKyAgICBFSU5BX0lOTElTVF9GT1JFQUNIKHRpbGVNYXRyaXgtPm1hdHJpY2VzLCBp
dGVyYXRvcikgeworICAgICAgICBpZiAoaXRlcmF0b3ItPnpvb20gIT0gem9vbSkKKyAgICAgICAg
ICAgIGNvbnRpbnVlOworICAgICAgICBlbnRyeSA9IGl0ZXJhdG9yOworICAgICAgICB0aWxlTWF0
cml4LT5tYXRyaWNlcyA9IGVpbmFfaW5saXN0X3Byb21vdGUodGlsZU1hdHJpeC0+bWF0cmljZXMs
IEVJTkFfSU5MSVNUX0dFVChlbnRyeSkpOworICAgICAgICBlaW5hX21hdHJpeHNwYXJzZV9zaXpl
X3NldChlbnRyeS0+bWF0cml4LCByb3dzLCBjb2x1bW5zKTsKKyAgICB9CisKKyAgICBpZiAoIWVu
dHJ5KSB7CisgICAgICAgIGVudHJ5ID0gc3RhdGljX2Nhc3Q8RXdrX1RpbGVfTWF0cml4X0VudHJ5
Kj4oY2FsbG9jKDEsIHNpemVvZihFd2tfVGlsZV9NYXRyaXhfRW50cnkpKSk7CisgICAgICAgIGVu
dHJ5LT56b29tID0gem9vbTsKKyAgICAgICAgZW50cnktPm1hdHJpeCA9IGVpbmFfbWF0cml4c3Bh
cnNlX25ldyhyb3dzLCBjb2x1bW5zLCBfZXdrX3RpbGVfbWF0cml4X2NlbGxfZnJlZSwgdGlsZU1h
dHJpeCk7CisgICAgICAgIGlmICghZW50cnktPm1hdHJpeCkgeworICAgICAgICAgICAgRVJSKCJj
b3VsZCBub3QgY3JlYXRlIHNwYXJzZSBtYXRyaXguIik7CisgICAgICAgICAgICBmcmVlKGVudHJ5
KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICB0aWxlTWF0cml4LT5t
YXRyaWNlcyA9IGVpbmFfaW5saXN0X3ByZXBlbmQodGlsZU1hdHJpeC0+bWF0cmljZXMsIEVJTkFf
SU5MSVNUX0dFVChlbnRyeSkpOworICAgIH0KKworICAgIHRpbGVNYXRyaXgtPm1hdHJpeCA9IGVu
dHJ5LT5tYXRyaXg7Cit9CisKK3ZvaWQgZXdrX3RpbGVfbWF0cml4X2ludmFsaWRhdGUoRXdrX1Rp
bGVfTWF0cml4KiB0aWxlTWF0cml4KQoreworICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJO
KHRpbGVNYXRyaXgpOworICAgIEV3a19UaWxlX01hdHJpeF9FbnRyeSogaXRlcmF0b3I7CisgICAg
RWluYV9Jbmxpc3QqIG1hdHJpeExpc3Q7CisKKyAgICBtYXRyaXhMaXN0ID0gdGlsZU1hdHJpeC0+
bWF0cmljZXM7CisgICAgd2hpbGUgKG1hdHJpeExpc3QpIHsKKyAgICAgICAgaXRlcmF0b3IgPSBF
SU5BX0lOTElTVF9DT05UQUlORVJfR0VUKG1hdHJpeExpc3QsIEV3a19UaWxlX01hdHJpeF9FbnRy
eSk7CisgICAgICAgIEVpbmFfSW5saXN0ICpuZXh0ID0gKG1hdHJpeExpc3QtPm5leHQpID8gbWF0
cml4TGlzdC0+bmV4dCA6IDA7CisKKyAgICAgICAgaWYgKGl0ZXJhdG9yLT5tYXRyaXggIT0gdGls
ZU1hdHJpeC0+bWF0cml4KSB7CisgICAgICAgICAgICBlaW5hX21hdHJpeHNwYXJzZV9mcmVlKGl0
ZXJhdG9yLT5tYXRyaXgpOworICAgICAgICAgICAgdGlsZU1hdHJpeC0+bWF0cmljZXMgPSBlaW5h
X2lubGlzdF9yZW1vdmUodGlsZU1hdHJpeC0+bWF0cmljZXMsIG1hdHJpeExpc3QpOworICAgICAg
ICAgICAgZnJlZShpdGVyYXRvcik7CisgICAgICAgIH0KKworICAgICAgICBtYXRyaXhMaXN0ID0g
bmV4dDsKKyAgICB9Cit9CisKKworCiAvKioKICAqIERlc3Ryb3lzIHRpbGVzIG1hdHJpeCwgcmVs
ZWFzaW5nIGl0cyByZXNvdXJjZXMuCiAgKgpAQCAtMTg2LDYgKzI4OSw3IEBAIEV3a19UaWxlX01h
dHJpeCogZXdrX3RpbGVfbWF0cml4X25ldyhFd2tfVGlsZV9VbnVzZWRfQ2FjaGUqIHRpbGVVbnVz
ZWRDYWNoZSwgdW5zCiAgKi8KIHZvaWQgZXdrX3RpbGVfbWF0cml4X2ZyZWUoRXdrX1RpbGVfTWF0
cml4KiB0aWxlTWF0cml4KQogeworICAgIEV3a19UaWxlX01hdHJpeF9FbnRyeSogZW50cnk7CiAj
aWZkZWYgREVCVUdfTUVNX0xFQUtTCiAgICAgdWludDY0X3QgdGlsZXMsIGJ5dGVzOwogI2VuZGlm
CkBAIC0xOTMsNyArMjk3LDEyIEBAIHZvaWQgZXdrX3RpbGVfbWF0cml4X2ZyZWUoRXdrX1RpbGVf
TWF0cml4KiB0aWxlTWF0cml4KQogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOKHRpbGVN
YXRyaXgpOwogICAgIGV3a190aWxlX3VudXNlZF9jYWNoZV9mcmVlemUodGlsZU1hdHJpeC0+dHVj
KTsKIAotICAgIGVpbmFfbWF0cml4c3BhcnNlX2ZyZWUodGlsZU1hdHJpeC0+bWF0cml4KTsKKyAg
ICBld2tfdGlsZV91bnVzZWRfY2FjaGVfZnJlZXplKHRpbGVNYXRyaXgtPnR1Yyk7CisgICAgZXdr
X3RpbGVfbWF0cml4X2ludmFsaWRhdGUodGlsZU1hdHJpeCk7CisgICAgZW50cnkgPSBFSU5BX0lO
TElTVF9DT05UQUlORVJfR0VUKHRpbGVNYXRyaXgtPm1hdHJpY2VzLCBFd2tfVGlsZV9NYXRyaXhf
RW50cnkpOworICAgIGVpbmFfbWF0cml4c3BhcnNlX2ZyZWUoZW50cnktPm1hdHJpeCk7ICAgIAor
ICAgIGZyZWUoZW50cnkpOworICAgIHRpbGVNYXRyaXgtPm1hdHJpY2VzID0gMDsKIAogICAgIGV3
a190aWxlX3VudXNlZF9jYWNoZV90aGF3KHRpbGVNYXRyaXgtPnR1Yyk7CiAgICAgZXdrX3RpbGVf
dW51c2VkX2NhY2hlX3VucmVmKHRpbGVNYXRyaXgtPnR1Yyk7CkBAIC0zMjIsOSArNDMxLDE2IEBA
IEV3a19UaWxlKiBld2tfdGlsZV9tYXRyaXhfdGlsZV9uZXcoRXdrX1RpbGVfTWF0cml4KiB0aWxl
TWF0cml4LCBFdmFzKiBjYW52YXMsIHVuCiB7CiAgICAgRXZhc19Db29yZCB0dywgdGg7CiAgICAg
RXdrX1RpbGUqIHRpbGU7CisgICAgRXdrX1RpbGVfTWF0cml4X0VudHJ5KiBlbnRyeTsKIAogICAg
IEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTCh0aWxlTWF0cml4LCAwKTsKICAgICBFSU5B
X1NBRkVUWV9PTl9GQUxTRV9SRVRVUk5fVkFMKHpvb20gPiAwLjAsIDApOworICAgIGVudHJ5ID0g
ZXdrX3RpbGVfbWF0cml4X2VudHJ5X2dldCh0aWxlTWF0cml4LCB6b29tKTsKKyAgICBpZiAoIWVu
dHJ5KSB7CisgICAgICAgIEVSUigiY291bGQgbm90IGdldCBtYXRyaXggYXQgem9vbSAlZiBmb3Ig
dGlsZSIsIHpvb20pOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgZW50cnktPmNvdW50
Kys7CiAKICAgICB0dyA9IHRpbGVNYXRyaXgtPnRpbGUud2lkdGg7CiAgICAgdGggPSB0aWxlTWF0
cml4LT50aWxlLmhlaWdodDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tf
dGlsZWRfbWF0cml4LmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3RpbGVkX21hdHJpeC5o
CmluZGV4IGQzZGM1MTcuLjRiYmQyNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3
ay9ld2tfdGlsZWRfbWF0cml4LmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxl
ZF9tYXRyaXguaApAQCAtMjYsMTAgKzI2LDEyIEBACiAjaW5jbHVkZSA8RXZhcy5oPgogCiAvKiBt
YXRyaXggb2YgdGlsZXMgKi8KLUV3a19UaWxlX01hdHJpeCogZXdrX3RpbGVfbWF0cml4X25ldyhF
d2tfVGlsZV9VbnVzZWRfQ2FjaGUqIHR1YywgdW5zaWduZWQgbG9uZyBjb2xzLCB1bnNpZ25lZCBs
b25nIHJvd3MsIEV2YXNfQ29sb3JzcGFjZSBjc3BhY2UsIHZvaWQgKCogcmVuZGVyX2NiKSh2b2lk
KiBkYXRhLCBFd2tfVGlsZSogdCwgY29uc3QgRWluYV9SZWN0YW5nbGUqIHVwZGF0ZSksIGNvbnN0
IHZvaWQqIHJlbmRlcl9kYXRhKTsKK0V3a19UaWxlX01hdHJpeCogZXdrX3RpbGVfbWF0cml4X25l
dyhFd2tfVGlsZV9VbnVzZWRfQ2FjaGUqIHRpbGVVbnVzZWRDYWNoZSwgdW5zaWduZWQgbG9uZyBj
b2x1bW5zLCB1bnNpZ25lZCBsb25nIHJvd3MsIGZsb2F0IGN1cnJlbnRab29tLCBFdmFzX0NvbG9y
c3BhY2UgY29sb3JTcGFjZSwgdm9pZCAoKnJlbmRlcl9jYWxsYmFjaykodm9pZCogZGF0YSwgRXdr
X1RpbGUqIHRpbGUsIGNvbnN0IEVpbmFfUmVjdGFuZ2xlKiB1cGRhdGUpLCBjb25zdCB2b2lkKiBy
ZW5kZXJEYXRhKTsKIHZvaWQgZXdrX3RpbGVfbWF0cml4X2ZyZWUoRXdrX1RpbGVfTWF0cml4KiB0
bSk7CiAKIHZvaWQgZXdrX3RpbGVfbWF0cml4X3Jlc2l6ZShFd2tfVGlsZV9NYXRyaXgqIHRtLCB1
bnNpZ25lZCBsb25nIGNvbHMsIHVuc2lnbmVkIGxvbmcgcm93cyk7Cit2b2lkIGV3a190aWxlX21h
dHJpeF96b29tX2xldmVsX3NldChFd2tfVGlsZV9NYXRyaXgqIHRpbGVNYXRyaXgsIGZsb2F0IHpv
b20pOwordm9pZCBld2tfdGlsZV9tYXRyaXhfaW52YWxpZGF0ZShFd2tfVGlsZV9NYXRyaXgqIHRp
bGVNYXRyaXgpOwogCiBFd2tfVGlsZV9VbnVzZWRfQ2FjaGUqIGV3a190aWxlX21hdHJpeF91bnVz
ZWRfY2FjaGVfZ2V0KGNvbnN0IEV3a19UaWxlX01hdHJpeCogdG0pOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111200</attachid>
            <date>2011-10-16 19:43:17 -0700</date>
            <delta_ts>2011-10-17 17:47:56 -0700</delta_ts>
            <desc>Patch.</desc>
            <filename>1015_matrix_list_3.patch</filename>
            <type>text/plain</type>
            <size>12121</size>
            <attacher name="KwangHyuk">hyuki.kim</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCA2OTIwNmI0Li5hOGExZjdhIDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjggQEAKKzIwMTEtMTAtMTYgIEt3YW5nSHl1ayBLaW0gIDxoeXVraS5raW1Ac2Ft
c3VuZy5jb20+CisKKyAgICAgICAgW0VGTF0gQWRkIG1hdHJpeCBsaXN0IHRvIHJldXNlIHRpbGUg
bWF0cml4IGZvciBlYWNoIGRpZmZlcmVudCB6b29tIGxldmVsLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1OTUKKworICAgICAgICBBZGQgbWF0cml4
IGxpc3QgdG8ga2VlcCBlYWNoIHRpbGUgbWF0cml4IGNvcnJlc3BvbmRpbmcgdG8gZWFjaCBkaWZm
ZXJlbnQgem9vbSBsZXZlbCB3aGVuIHpvb20gbGV2ZWwgaXMgY2hhbmdlZC4KKyAgICAgICAgVGhl
biBiYWNraW5nIHN0b3JlIGNhbiByZXVzZSB0aWxlIG1hdHJpeCBieSBnZXR0aW5nIGl0IGZyb20g
dGhpcyBtYXRyaXggbGlzdC4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGV3ay9ld2tfdGlsZWRfYmFja2luZ19zdG9yZS5jcHA6CisgICAgICAgIChf
ZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfbW9kZWxfbWF0cml4X2NyZWF0ZSk6CisgICAgICAgIChf
ZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfc21hcnRfY2FsY3VsYXRlKToKKyAgICAgICAgKF9ld2tf
dGlsZWRfYmFja2luZ19zdG9yZV96b29tX3NldF9pbnRlcm5hbCk6CisgICAgICAgICogZXdrL2V3
a190aWxlZF9tYXRyaXguY3BwOgorICAgICAgICAoZXdrX3RpbGVfbWF0cml4X2VudHJ5X2dldCk6
CisgICAgICAgIChfZXdrX3RpbGVfbWF0cml4X2NlbGxfZnJlZSk6CisgICAgICAgIChfZXdrX3Rp
bGVfbWF0cml4X3RpbGVfZnJlZSk6CisgICAgICAgIChld2tfdGlsZV9tYXRyaXhfbmV3KToKKyAg
ICAgICAgKGV3a190aWxlX21hdHJpeF96b29tX2xldmVsX3NldCk6CisgICAgICAgIChld2tfdGls
ZV9tYXRyaXhfaW52YWxpZGF0ZSk6CisgICAgICAgIChld2tfdGlsZV9tYXRyaXhfZnJlZSk6Cisg
ICAgICAgIChld2tfdGlsZV9tYXRyaXhfdGlsZV9uZXcpOgorICAgICAgICAqIGV3ay9ld2tfdGls
ZWRfbWF0cml4Lmg6CisKIDIwMTEtMTAtMTQgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJn
QGFwcGxlLmNvbT4KIAogICAgICAgICBSZW5hbWUgdmlydHVhbCBwdXQgdG8gcHV0VmlydHVhbApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxlZF9iYWNraW5nX3N0b3Jl
LmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfYmFja2luZ19zdG9yZS5jcHAK
aW5kZXggNzk0YTkwYy4uZTk5Zjg1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdr
L2V3a190aWxlZF9iYWNraW5nX3N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmUuY3BwCkBAIC02MjksNyArNjI5LDcgQEAgc3RhdGljIGlu
bGluZSB2b2lkIF9ld2tfdGlsZWRfYmFja2luZ19zdG9yZV9tb2RlbF9tYXRyaXhfY3JlYXRlKEV3
a19UaWxlZF9CYWNraW4KICAgICAgICAgZXdrX3RpbGVfbWF0cml4X2ZyZWUocHJpdi0+bW9kZWwu
bWF0cml4KTsKICAgICB9CiAKLSAgICBwcml2LT5tb2RlbC5tYXRyaXggPSBld2tfdGlsZV9tYXRy
aXhfbmV3KHRpbGVVbnVzZWRDYWNoZSwgcHJpdi0+bW9kZWwuY3VyLmNvbHMsIHByaXYtPm1vZGVs
LmN1ci5yb3dzLCBwcml2LT5jc3BhY2UsIF9ld2tfdGlsZWRfYmFja2luZ19zdG9yZV9yZW5kZXIs
IHByaXYpOworICAgIHByaXYtPm1vZGVsLm1hdHJpeCA9IGV3a190aWxlX21hdHJpeF9uZXcodGls
ZVVudXNlZENhY2hlLCBwcml2LT5tb2RlbC5jdXIuY29scywgcHJpdi0+bW9kZWwuY3VyLnJvd3Ms
IHByaXYtPnZpZXcudGlsZS56b29tLCBwcml2LT5jc3BhY2UsIF9ld2tfdGlsZWRfYmFja2luZ19z
dG9yZV9yZW5kZXIsIHByaXYpOwogfQogCiBzdGF0aWMgdm9pZCBfZXdrX3RpbGVkX2JhY2tpbmdf
c3RvcmVfc21hcnRfbWVtYmVyX2RlbChFdmFzX09iamVjdCogZXdrVGlsZSwgRXZhc19PYmplY3Qq
IG1lbWJlcikKQEAgLTEzMDIsNiArMTMwMiw5IEBAIHN0YXRpYyB2b2lkIF9ld2tfdGlsZWRfYmFj
a2luZ19zdG9yZV9zbWFydF9jYWxjdWxhdGUoRXZhc19PYmplY3QqIGV3a1RpbGUpCiAKICAgICBl
d2tfdGlsZV9tYXRyaXhfZnJlZXplKHByaXYtPm1vZGVsLm1hdHJpeCk7CiAKKyAgICBpZiAocHJp
di0+Y2hhbmdlZC5tb2RlbCAmJiAhcHJpdi0+Y2hhbmdlZC5zaXplKQorICAgICAgICBld2tfdGls
ZV9tYXRyaXhfaW52YWxpZGF0ZShwcml2LT5tb2RlbC5tYXRyaXgpOworCiAgICAgaWYgKCFwcml2
LT5yZW5kZXIuc3VzcGVuZCAmJiBwcml2LT5jaGFuZ2VkLm1vZGVsKSB7CiAgICAgICAgIHVuc2ln
bmVkIGxvbmcgY29scywgcm93czsKIApAQCAtMTQ4Niw2ICsxNDg5LDggQEAgc3RhdGljIEVpbmFf
Qm9vbCBfZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfem9vbV9zZXRfaW50ZXJuYWwoRXdrX1RpbGVk
X0JhY2tpbmdfU3QKICAgICBwcml2LT52aWV3Lm9mZnNldC56b29tX2NlbnRlci54ID0gY3VycmVu
dFg7CiAgICAgcHJpdi0+dmlldy5vZmZzZXQuem9vbV9jZW50ZXIueSA9IGN1cnJlbnRZOwogCisg
ICAgZXdrX3RpbGVfbWF0cml4X3pvb21fbGV2ZWxfc2V0KHByaXYtPm1vZGVsLm1hdHJpeCwgKnpv
b20pOworCiAKICAgICBpZiAoIXByaXYtPnZpZXcud2lkdGggfHwgIXByaXYtPnZpZXcuaGVpZ2h0
KSB7CiAgICAgICAgIHByaXYtPnZpZXcub2Zmc2V0LmJhc2UueCA9IDA7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3RpbGVkX21hdHJpeC5jcHAgYi9Tb3VyY2UvV2ViS2l0
L2VmbC9ld2svZXdrX3RpbGVkX21hdHJpeC5jcHAKaW5kZXggZTkxYmQ3Ny4uMTU3ZDljYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxlZF9tYXRyaXguY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfbWF0cml4LmNwcApAQCAtMzEsOCArMzEs
MTggQEAKICNpbmNsdWRlIDxzdGRsaWIuaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KIAorc3RydWN0
IF9Fd2tfVGlsZV9NYXRyaXhfRW50cnkgeworICAgIEVJTkFfSU5MSVNUOworICAgIGZsb2F0IHpv
b207CisgICAgdW5zaWduZWQgbG9uZyBjb3VudDsKKyAgICBFaW5hX01hdHJpeHNwYXJzZSogbWF0
cml4OworfTsKKwordHlwZWRlZiBzdHJ1Y3QgX0V3a19UaWxlX01hdHJpeF9FbnRyeSBFd2tfVGls
ZV9NYXRyaXhfRW50cnk7CisKIHN0cnVjdCBfRXdrX1RpbGVfTWF0cml4IHsKICAgICBFaW5hX01h
dHJpeHNwYXJzZSogbWF0cml4OworICAgIEVpbmFfSW5saXN0KiBtYXRyaWNlczsKICAgICBFd2tf
VGlsZV9VbnVzZWRfQ2FjaGUqIHR1YzsKICAgICBFdmFzX0NvbG9yc3BhY2UgY3NwYWNlOwogICAg
IHN0cnVjdCB7CkBAIC01OCw2ICs2OCwxOSBAQCBzdGF0aWMgdWludDY0X3QgdGlsZXNfbGVha2Vk
ID0gMDsKIHN0YXRpYyB1aW50NjRfdCBieXRlc19sZWFrZWQgPSAwOwogI2VuZGlmCiAKK3N0YXRp
YyBFd2tfVGlsZV9NYXRyaXhfRW50cnkqIGV3a190aWxlX21hdHJpeF9lbnRyeV9nZXQoRXdrX1Rp
bGVfTWF0cml4KiB0aWxlTWF0cml4LCBmbG9hdCB6b29tKQoreworICAgIEVJTkFfU0FGRVRZX09O
X05VTExfUkVUVVJOX1ZBTCh0aWxlTWF0cml4LCAwKTsKKyAgICBFd2tfVGlsZV9NYXRyaXhfRW50
cnkqIGl0ZXJhdG9yOworCisgICAgRUlOQV9JTkxJU1RfRk9SRUFDSCh0aWxlTWF0cml4LT5tYXRy
aWNlcywgaXRlcmF0b3IpIHsKKyAgICAgICAgaWYgKGl0ZXJhdG9yLT56b29tID09IHpvb20pCisg
ICAgICAgICAgICByZXR1cm4gaXRlcmF0b3I7CisgICAgfQorCisgICAgcmV0dXJuIDA7Cit9CisK
IC8qIGNhbGxlZCB3aGVuIG1hdHJpeHNwYXJzZSBpcyByZXNpemVkIG9yIGZyZWVkICovCiBzdGF0
aWMgdm9pZCBfZXdrX3RpbGVfbWF0cml4X2NlbGxfZnJlZSh2b2lkKiB1c2VyRGF0YSwgdm9pZCog
Y2VsbERhdGEpCiB7CkBAIC03OCwxMSArMTAxLDE4IEBAIHN0YXRpYyB2b2lkIF9ld2tfdGlsZV9t
YXRyaXhfY2VsbF9mcmVlKHZvaWQqIHVzZXJEYXRhLCB2b2lkKiBjZWxsRGF0YSkKICAgICAgICAg
aWYgKCFld2tfdGlsZV91bnVzZWRfY2FjaGVfdGlsZV9nZXQodG0tPnR1YywgdGlsZSkpCiAgICAg
ICAgICAgICBFUlIoInRpbGUgJXAgd2FzIG5vdCBpbiBjYWNoZSAlcD8gbGVha2luZy4uLiIsIHRp
bGUsIHRtLT50dWMpOwogICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIEV3a19UaWxlX01hdHJp
eF9FbnRyeSogZW50cnk7CiAgICAgICAgICAgICBEQkcoInRpbGUgY2VsbCBkb2VzIG5vdCBleGlz
dCBhbnltb3JlLCBmcmVlIGl0ICVwIiwgdGlsZSk7CiAjaWZkZWYgREVCVUdfTUVNX0xFQUtTCiAg
ICAgICAgICAgICB0bS0+c3RhdHMuYnl0ZXMuZnJlZWQgKz0gdGlsZS0+Ynl0ZXM7CiAgICAgICAg
ICAgICB0bS0+c3RhdHMudGlsZXMuZnJlZWQrKzsKICNlbmRpZgorICAgICAgICAgICAgZW50cnkg
PSBld2tfdGlsZV9tYXRyaXhfZW50cnlfZ2V0KHRtLCB0aWxlLT56b29tKTsKKyAgICAgICAgICAg
IGlmICghZW50cnkpCisgICAgICAgICAgICAgICAgRVJSKCJjYW4ndCBmaW5kIG1hdHJpeCBmb3Ig
em9vbSAlMC4zZiIsIHRpbGUtPnpvb20pOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAg
ICAgIGVudHJ5LT5jb3VudC0tOworCiAgICAgICAgICAgICBld2tfdGlsZV9mcmVlKHRpbGUpOwog
ICAgICAgICB9CiAgICAgfQpAQCAtOTQsOSArMTI0LDE2IEBAIHN0YXRpYyB2b2lkIF9ld2tfdGls
ZV9tYXRyaXhfY2VsbF9mcmVlKHZvaWQqIHVzZXJEYXRhLCB2b2lkKiBjZWxsRGF0YSkKIHN0YXRp
YyB2b2lkIF9ld2tfdGlsZV9tYXRyaXhfdGlsZV9mcmVlKHZvaWQqIGRhdGEsIEV3a19UaWxlKiB0
aWxlKQogewogICAgIEV3a19UaWxlX01hdHJpeCogdG0gPSBzdGF0aWNfY2FzdDxFd2tfVGlsZV9N
YXRyaXgqPihkYXRhKTsKKyAgICBFd2tfVGlsZV9NYXRyaXhfRW50cnkqIGVudHJ5OwogICAgIEVp
bmFfTWF0cml4c3BhcnNlX0NlbGwqIGNlbGw7CiAKLSAgICBpZiAoIWVpbmFfbWF0cml4c3BhcnNl
X2NlbGxfaWR4X2dldCh0bS0+bWF0cml4LCB0aWxlLT5yb3csIHRpbGUtPmNvbCwgJmNlbGwpKSB7
CisgICAgZW50cnkgPSBld2tfdGlsZV9tYXRyaXhfZW50cnlfZ2V0KHRtLCB0aWxlLT56b29tKTsK
KyAgICBpZiAoIWVudHJ5KSB7CisgICAgICAgIEVSUigicmVtb3ZpbmcgdGlsZSAlcCB0aGF0IHdh
cyBub3QgaW4gYW55IG1hdHJpeD8gTGVha2luZy4uLiIsIHRpbGUpOworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgaWYgKCFlaW5hX21hdHJpeHNwYXJzZV9jZWxsX2lkeF9nZXQoZW50cnkt
Pm1hdHJpeCwgdGlsZS0+cm93LCB0aWxlLT5jb2wsICZjZWxsKSkgewogICAgICAgICBFUlIoInJl
bW92aW5nIHRpbGUgJXAgdGhhdCB3YXMgbm90IGluIHRoZSBtYXRyaXg/IExlYWtpbmcuLi4iLCB0
aWxlKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTEyNCw2ICsxNjEsMTMgQEAgc3RhdGlj
IHZvaWQgX2V3a190aWxlX21hdHJpeF90aWxlX2ZyZWUodm9pZCogZGF0YSwgRXdrX1RpbGUqIHRp
bGUpCiAgICAgdG0tPnN0YXRzLnRpbGVzLmZyZWVkKys7CiAjZW5kaWYKIAorICAgIGVudHJ5LT5j
b3VudC0tOworICAgIGlmICghZW50cnktPmNvdW50ICYmIGVudHJ5LT5tYXRyaXggIT0gdG0tPm1h
dHJpeCkgeworICAgICAgICBlaW5hX21hdHJpeHNwYXJzZV9mcmVlKGVudHJ5LT5tYXRyaXgpOwor
ICAgICAgICB0bS0+bWF0cmljZXMgPSBlaW5hX2lubGlzdF9yZW1vdmUodG0tPm1hdHJpY2VzLCBF
SU5BX0lOTElTVF9HRVQoZW50cnkpKTsKKyAgICAgICAgZnJlZShlbnRyeSk7CisgICAgfQorCiAg
ICAgZXdrX3RpbGVfZnJlZSh0aWxlKTsKIH0KIApAQCAtMTM5LDEzICsxODMsMTQgQEAgc3RhdGlj
IHZvaWQgX2V3a190aWxlX21hdHJpeF90aWxlX2ZyZWUodm9pZCogZGF0YSwgRXdrX1RpbGUqIHRp
bGUpCiAgKiAgICAgICAgYXV0b21hdGljYWxseS4KICAqIEBwYXJhbSBjb2x1bW5zIG51bWJlciBv
ZiBjb2x1bW5zIGluIHRoZSBtYXRyaXguCiAgKiBAcGFyYW0gcm93cyBudW1iZXIgb2Ygcm93cyBp
biB0aGUgbWF0cml4LgorICogQHBhcmFtIGN1cnJlbnRab29tIGN1cnJlbnQgem9vbSBsZXZlbCBm
b3IgdGhlIG1hdHJpeC4KICAqIEBwYXJhbSBjc3BhY2UgdGhlIGNvbG9yIHNwYWNlIHVzZWQgdG8g
Y3JlYXRlIHRpbGVzIGluIHRoaXMgbWF0cml4LgogICogQHBhcmFtIHJlbmRlcl9jYiBmdW5jdGlv
biB1c2VkIHRvIHJlbmRlciBnaXZlbiB0aWxlIHVwZGF0ZS4KICAqIEBwYXJhbSByZW5kZXJfZGF0
YSBjb250ZXh0IHRvIGdpdmUgYmFjayB0byBAYSByZW5kZXJfY2IuCiAgKgogICogQHJldHVybiBu
ZXdseSBhbGxvY2F0ZWQgaW5zdGFuY2Ugb24gc3VjY2VzcywgQGMgMCBvbiBmYWlsdXJlLgogICov
Ci1Fd2tfVGlsZV9NYXRyaXgqIGV3a190aWxlX21hdHJpeF9uZXcoRXdrX1RpbGVfVW51c2VkX0Nh
Y2hlKiB0aWxlVW51c2VkQ2FjaGUsIHVuc2lnbmVkIGxvbmcgY29sdW1ucywgdW5zaWduZWQgbG9u
ZyByb3dzLCBFdmFzX0NvbG9yc3BhY2UgY29sb3JTcGFjZSwgdm9pZCAoKnJlbmRlcl9jYWxsYmFj
aykodm9pZCogZGF0YSwgRXdrX1RpbGUqIHRpbGUsIGNvbnN0IEVpbmFfUmVjdGFuZ2xlKiB1cGRh
dGUpLCBjb25zdCB2b2lkKiByZW5kZXJEYXRhKQorRXdrX1RpbGVfTWF0cml4KiBld2tfdGlsZV9t
YXRyaXhfbmV3KEV3a19UaWxlX1VudXNlZF9DYWNoZSogdGlsZVVudXNlZENhY2hlLCB1bnNpZ25l
ZCBsb25nIGNvbHVtbnMsIHVuc2lnbmVkIGxvbmcgcm93cywgZmxvYXQgY3VycmVudFpvb20sIEV2
YXNfQ29sb3JzcGFjZSBjb2xvclNwYWNlLCB2b2lkICgqcmVuZGVyX2NhbGxiYWNrKSh2b2lkKiBk
YXRhLCBFd2tfVGlsZSogdGlsZSwgY29uc3QgRWluYV9SZWN0YW5nbGUqIHVwZGF0ZSksIGNvbnN0
IHZvaWQqIHJlbmRlckRhdGEpCiB7CiAgICAgRXdrX1RpbGVfTWF0cml4KiB0bSA9IHN0YXRpY19j
YXN0PEV3a19UaWxlX01hdHJpeCo+KGNhbGxvYygxLCBzaXplb2YoRXdrX1RpbGVfTWF0cml4KSkp
OwogICAgIGlmICghdG0pCkBAIC0xNTgsNiArMjAzLDggQEAgRXdrX1RpbGVfTWF0cml4KiBld2tf
dGlsZV9tYXRyaXhfbmV3KEV3a19UaWxlX1VudXNlZF9DYWNoZSogdGlsZVVudXNlZENhY2hlLCB1
bnMKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCisgICAgZXdrX3RpbGVfbWF0cml4X3pvb21f
bGV2ZWxfc2V0KHRtLCBjdXJyZW50Wm9vbSk7CisKICAgICBpZiAodGlsZVVudXNlZENhY2hlKQog
ICAgICAgICB0bS0+dHVjID0gZXdrX3RpbGVfdW51c2VkX2NhY2hlX3JlZih0aWxlVW51c2VkQ2Fj
aGUpOwogICAgIGVsc2UgewpAQCAtMTc5LDYgKzIyNiw1OSBAQCBFd2tfVGlsZV9NYXRyaXgqIGV3
a190aWxlX21hdHJpeF9uZXcoRXdrX1RpbGVfVW51c2VkX0NhY2hlKiB0aWxlVW51c2VkQ2FjaGUs
IHVucwogICAgIHJldHVybiB0bTsKIH0KIAordm9pZCBld2tfdGlsZV9tYXRyaXhfem9vbV9sZXZl
bF9zZXQoRXdrX1RpbGVfTWF0cml4KiB0aWxlTWF0cml4LCBmbG9hdCB6b29tKQoreworICAgIEVJ
TkFfU0FGRVRZX09OX05VTExfUkVUVVJOKHRpbGVNYXRyaXgpOworICAgIEV3a19UaWxlX01hdHJp
eF9FbnRyeSogaXRlcmF0b3IgPSAwOworICAgIEV3a19UaWxlX01hdHJpeF9FbnRyeSogZW50cnkg
PSAwOworICAgIHVuc2lnbmVkIGxvbmcgcm93cyA9IDAsIGNvbHVtbnMgPSAwOworCisgICAgZWlu
YV9tYXRyaXhzcGFyc2Vfc2l6ZV9nZXQodGlsZU1hdHJpeC0+bWF0cml4LCAmcm93cywgJmNvbHVt
bnMpOworCisgICAgRUlOQV9JTkxJU1RfRk9SRUFDSCh0aWxlTWF0cml4LT5tYXRyaWNlcywgaXRl
cmF0b3IpIHsKKyAgICAgICAgaWYgKGl0ZXJhdG9yLT56b29tICE9IHpvb20pCisgICAgICAgICAg
ICBjb250aW51ZTsKKyAgICAgICAgZW50cnkgPSBpdGVyYXRvcjsKKyAgICAgICAgdGlsZU1hdHJp
eC0+bWF0cmljZXMgPSBlaW5hX2lubGlzdF9wcm9tb3RlKHRpbGVNYXRyaXgtPm1hdHJpY2VzLCBF
SU5BX0lOTElTVF9HRVQoZW50cnkpKTsKKyAgICAgICAgZWluYV9tYXRyaXhzcGFyc2Vfc2l6ZV9z
ZXQoZW50cnktPm1hdHJpeCwgcm93cywgY29sdW1ucyk7CisgICAgfQorCisgICAgaWYgKCFlbnRy
eSkgeworICAgICAgICBlbnRyeSA9IHN0YXRpY19jYXN0PEV3a19UaWxlX01hdHJpeF9FbnRyeSo+
KGNhbGxvYygxLCBzaXplb2YoRXdrX1RpbGVfTWF0cml4X0VudHJ5KSkpOworICAgICAgICBlbnRy
eS0+em9vbSA9IHpvb207CisgICAgICAgIGVudHJ5LT5tYXRyaXggPSBlaW5hX21hdHJpeHNwYXJz
ZV9uZXcocm93cywgY29sdW1ucywgX2V3a190aWxlX21hdHJpeF9jZWxsX2ZyZWUsIHRpbGVNYXRy
aXgpOworICAgICAgICBpZiAoIWVudHJ5LT5tYXRyaXgpIHsKKyAgICAgICAgICAgIEVSUigiY291
bGQgbm90IGNyZWF0ZSBzcGFyc2UgbWF0cml4LiIpOworICAgICAgICAgICAgZnJlZShlbnRyeSk7
CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgdGlsZU1hdHJpeC0+bWF0
cmljZXMgPSBlaW5hX2lubGlzdF9wcmVwZW5kKHRpbGVNYXRyaXgtPm1hdHJpY2VzLCBFSU5BX0lO
TElTVF9HRVQoZW50cnkpKTsKKyAgICB9CisKKyAgICB0aWxlTWF0cml4LT5tYXRyaXggPSBlbnRy
eS0+bWF0cml4OworfQorCit2b2lkIGV3a190aWxlX21hdHJpeF9pbnZhbGlkYXRlKEV3a19UaWxl
X01hdHJpeCogdGlsZU1hdHJpeCkKK3sKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTih0
aWxlTWF0cml4KTsKKyAgICBFd2tfVGlsZV9NYXRyaXhfRW50cnkqIGl0ZXJhdG9yOworICAgIEVp
bmFfSW5saXN0KiBtYXRyaXhMaXN0OworCisgICAgbWF0cml4TGlzdCA9IHRpbGVNYXRyaXgtPm1h
dHJpY2VzOworICAgIHdoaWxlIChtYXRyaXhMaXN0KSB7CisgICAgICAgIGl0ZXJhdG9yID0gRUlO
QV9JTkxJU1RfQ09OVEFJTkVSX0dFVChtYXRyaXhMaXN0LCBFd2tfVGlsZV9NYXRyaXhfRW50cnkp
OworICAgICAgICBFaW5hX0lubGlzdCAqbmV4dCA9IChtYXRyaXhMaXN0LT5uZXh0KSA/IG1hdHJp
eExpc3QtPm5leHQgOiAwOworCisgICAgICAgIGlmIChpdGVyYXRvci0+bWF0cml4ICE9IHRpbGVN
YXRyaXgtPm1hdHJpeCkgeworICAgICAgICAgICAgZWluYV9tYXRyaXhzcGFyc2VfZnJlZShpdGVy
YXRvci0+bWF0cml4KTsKKyAgICAgICAgICAgIHRpbGVNYXRyaXgtPm1hdHJpY2VzID0gZWluYV9p
bmxpc3RfcmVtb3ZlKHRpbGVNYXRyaXgtPm1hdHJpY2VzLCBtYXRyaXhMaXN0KTsKKyAgICAgICAg
ICAgIGZyZWUoaXRlcmF0b3IpOworICAgICAgICB9CisKKyAgICAgICAgbWF0cml4TGlzdCA9IG5l
eHQ7CisgICAgfQorfQorCiAvKioKICAqIERlc3Ryb3lzIHRpbGVzIG1hdHJpeCwgcmVsZWFzaW5n
IGl0cyByZXNvdXJjZXMuCiAgKgpAQCAtMTg2LDYgKzI4Niw3IEBAIEV3a19UaWxlX01hdHJpeCog
ZXdrX3RpbGVfbWF0cml4X25ldyhFd2tfVGlsZV9VbnVzZWRfQ2FjaGUqIHRpbGVVbnVzZWRDYWNo
ZSwgdW5zCiAgKi8KIHZvaWQgZXdrX3RpbGVfbWF0cml4X2ZyZWUoRXdrX1RpbGVfTWF0cml4KiB0
aWxlTWF0cml4KQogeworICAgIEV3a19UaWxlX01hdHJpeF9FbnRyeSogZW50cnk7CiAjaWZkZWYg
REVCVUdfTUVNX0xFQUtTCiAgICAgdWludDY0X3QgdGlsZXMsIGJ5dGVzOwogI2VuZGlmCkBAIC0x
OTMsNyArMjk0LDEyIEBAIHZvaWQgZXdrX3RpbGVfbWF0cml4X2ZyZWUoRXdrX1RpbGVfTWF0cml4
KiB0aWxlTWF0cml4KQogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOKHRpbGVNYXRyaXgp
OwogICAgIGV3a190aWxlX3VudXNlZF9jYWNoZV9mcmVlemUodGlsZU1hdHJpeC0+dHVjKTsKIAot
ICAgIGVpbmFfbWF0cml4c3BhcnNlX2ZyZWUodGlsZU1hdHJpeC0+bWF0cml4KTsKKyAgICBld2tf
dGlsZV91bnVzZWRfY2FjaGVfZnJlZXplKHRpbGVNYXRyaXgtPnR1Yyk7CisgICAgZXdrX3RpbGVf
bWF0cml4X2ludmFsaWRhdGUodGlsZU1hdHJpeCk7CisgICAgZW50cnkgPSBFSU5BX0lOTElTVF9D
T05UQUlORVJfR0VUKHRpbGVNYXRyaXgtPm1hdHJpY2VzLCBFd2tfVGlsZV9NYXRyaXhfRW50cnkp
OworICAgIGVpbmFfbWF0cml4c3BhcnNlX2ZyZWUoZW50cnktPm1hdHJpeCk7ICAgIAorICAgIGZy
ZWUoZW50cnkpOworICAgIHRpbGVNYXRyaXgtPm1hdHJpY2VzID0gMDsKIAogICAgIGV3a190aWxl
X3VudXNlZF9jYWNoZV90aGF3KHRpbGVNYXRyaXgtPnR1Yyk7CiAgICAgZXdrX3RpbGVfdW51c2Vk
X2NhY2hlX3VucmVmKHRpbGVNYXRyaXgtPnR1Yyk7CkBAIC0zMjIsOSArNDI4LDE2IEBAIEV3a19U
aWxlKiBld2tfdGlsZV9tYXRyaXhfdGlsZV9uZXcoRXdrX1RpbGVfTWF0cml4KiB0aWxlTWF0cml4
LCBFdmFzKiBjYW52YXMsIHVuCiB7CiAgICAgRXZhc19Db29yZCB0dywgdGg7CiAgICAgRXdrX1Rp
bGUqIHRpbGU7CisgICAgRXdrX1RpbGVfTWF0cml4X0VudHJ5KiBlbnRyeTsKIAogICAgIEVJTkFf
U0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTCh0aWxlTWF0cml4LCAwKTsKICAgICBFSU5BX1NBRkVU
WV9PTl9GQUxTRV9SRVRVUk5fVkFMKHpvb20gPiAwLjAsIDApOworICAgIGVudHJ5ID0gZXdrX3Rp
bGVfbWF0cml4X2VudHJ5X2dldCh0aWxlTWF0cml4LCB6b29tKTsKKyAgICBpZiAoIWVudHJ5KSB7
CisgICAgICAgIEVSUigiY291bGQgbm90IGdldCBtYXRyaXggYXQgem9vbSAlZiBmb3IgdGlsZSIs
IHpvb20pOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgZW50cnktPmNvdW50Kys7CiAK
ICAgICB0dyA9IHRpbGVNYXRyaXgtPnRpbGUud2lkdGg7CiAgICAgdGggPSB0aWxlTWF0cml4LT50
aWxlLmhlaWdodDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRf
bWF0cml4LmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3RpbGVkX21hdHJpeC5oCmluZGV4
IGQzZGM1MTcuLjRiYmQyNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tf
dGlsZWRfbWF0cml4LmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxlZF9tYXRy
aXguaApAQCAtMjYsMTAgKzI2LDEyIEBACiAjaW5jbHVkZSA8RXZhcy5oPgogCiAvKiBtYXRyaXgg
b2YgdGlsZXMgKi8KLUV3a19UaWxlX01hdHJpeCogZXdrX3RpbGVfbWF0cml4X25ldyhFd2tfVGls
ZV9VbnVzZWRfQ2FjaGUqIHR1YywgdW5zaWduZWQgbG9uZyBjb2xzLCB1bnNpZ25lZCBsb25nIHJv
d3MsIEV2YXNfQ29sb3JzcGFjZSBjc3BhY2UsIHZvaWQgKCogcmVuZGVyX2NiKSh2b2lkKiBkYXRh
LCBFd2tfVGlsZSogdCwgY29uc3QgRWluYV9SZWN0YW5nbGUqIHVwZGF0ZSksIGNvbnN0IHZvaWQq
IHJlbmRlcl9kYXRhKTsKK0V3a19UaWxlX01hdHJpeCogZXdrX3RpbGVfbWF0cml4X25ldyhFd2tf
VGlsZV9VbnVzZWRfQ2FjaGUqIHRpbGVVbnVzZWRDYWNoZSwgdW5zaWduZWQgbG9uZyBjb2x1bW5z
LCB1bnNpZ25lZCBsb25nIHJvd3MsIGZsb2F0IGN1cnJlbnRab29tLCBFdmFzX0NvbG9yc3BhY2Ug
Y29sb3JTcGFjZSwgdm9pZCAoKnJlbmRlcl9jYWxsYmFjaykodm9pZCogZGF0YSwgRXdrX1RpbGUq
IHRpbGUsIGNvbnN0IEVpbmFfUmVjdGFuZ2xlKiB1cGRhdGUpLCBjb25zdCB2b2lkKiByZW5kZXJE
YXRhKTsKIHZvaWQgZXdrX3RpbGVfbWF0cml4X2ZyZWUoRXdrX1RpbGVfTWF0cml4KiB0bSk7CiAK
IHZvaWQgZXdrX3RpbGVfbWF0cml4X3Jlc2l6ZShFd2tfVGlsZV9NYXRyaXgqIHRtLCB1bnNpZ25l
ZCBsb25nIGNvbHMsIHVuc2lnbmVkIGxvbmcgcm93cyk7Cit2b2lkIGV3a190aWxlX21hdHJpeF96
b29tX2xldmVsX3NldChFd2tfVGlsZV9NYXRyaXgqIHRpbGVNYXRyaXgsIGZsb2F0IHpvb20pOwor
dm9pZCBld2tfdGlsZV9tYXRyaXhfaW52YWxpZGF0ZShFd2tfVGlsZV9NYXRyaXgqIHRpbGVNYXRy
aXgpOwogCiBFd2tfVGlsZV9VbnVzZWRfQ2FjaGUqIGV3a190aWxlX21hdHJpeF91bnVzZWRfY2Fj
aGVfZ2V0KGNvbnN0IEV3a19UaWxlX01hdHJpeCogdG0pOwogCg==
</data>
<flag name="commit-queue"
          id="108953"
          type_id="3"
          status="-"
          setter="rakuco"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111359</attachid>
            <date>2011-10-17 17:47:56 -0700</date>
            <delta_ts>2011-11-10 20:49:50 -0800</delta_ts>
            <desc>Patch.</desc>
            <filename>1015_matrix_list_3.patch</filename>
            <type>text/plain</type>
            <size>12103</size>
            <attacher name="KwangHyuk">hyuki.kim</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCA2OTIwNmI0Li42MTdlODdhIDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjggQEAKKzIwMTEtMTAtMTcgIEt3YW5nSHl1ayBLaW0gIDxoeXVraS5raW1Ac2Ft
c3VuZy5jb20+CisKKyAgICAgICAgW0VGTF0gQWRkIG1hdHJpeCBsaXN0IHRvIHJldXNlIHRpbGUg
bWF0cml4IGZvciBlYWNoIGRpZmZlcmVudCB6b29tIGxldmVsLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1OTUKKworICAgICAgICBBZGQgbWF0cml4
IGxpc3QgdG8ga2VlcCBlYWNoIHRpbGUgbWF0cml4IGNvcnJlc3BvbmRpbmcgdG8gZWFjaCBkaWZm
ZXJlbnQgem9vbSBsZXZlbCB3aGVuIHpvb20gbGV2ZWwgaXMgY2hhbmdlZC4KKyAgICAgICAgVGhl
biBiYWNraW5nIHN0b3JlIGNhbiByZXVzZSB0aWxlIG1hdHJpeCBieSBnZXR0aW5nIGl0IGZyb20g
dGhpcyBtYXRyaXggbGlzdC4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGV3ay9ld2tfdGlsZWRfYmFja2luZ19zdG9yZS5jcHA6CisgICAgICAgIChf
ZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfbW9kZWxfbWF0cml4X2NyZWF0ZSk6CisgICAgICAgIChf
ZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfc21hcnRfY2FsY3VsYXRlKToKKyAgICAgICAgKF9ld2tf
dGlsZWRfYmFja2luZ19zdG9yZV96b29tX3NldF9pbnRlcm5hbCk6CisgICAgICAgICogZXdrL2V3
a190aWxlZF9tYXRyaXguY3BwOgorICAgICAgICAoZXdrX3RpbGVfbWF0cml4X2VudHJ5X2dldCk6
CisgICAgICAgIChfZXdrX3RpbGVfbWF0cml4X2NlbGxfZnJlZSk6CisgICAgICAgIChfZXdrX3Rp
bGVfbWF0cml4X3RpbGVfZnJlZSk6CisgICAgICAgIChld2tfdGlsZV9tYXRyaXhfbmV3KToKKyAg
ICAgICAgKGV3a190aWxlX21hdHJpeF96b29tX2xldmVsX3NldCk6CisgICAgICAgIChld2tfdGls
ZV9tYXRyaXhfaW52YWxpZGF0ZSk6CisgICAgICAgIChld2tfdGlsZV9tYXRyaXhfZnJlZSk6Cisg
ICAgICAgIChld2tfdGlsZV9tYXRyaXhfdGlsZV9uZXcpOgorICAgICAgICAqIGV3ay9ld2tfdGls
ZWRfbWF0cml4Lmg6CisKIDIwMTEtMTAtMTQgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJn
QGFwcGxlLmNvbT4KIAogICAgICAgICBSZW5hbWUgdmlydHVhbCBwdXQgdG8gcHV0VmlydHVhbApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxlZF9iYWNraW5nX3N0b3Jl
LmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfYmFja2luZ19zdG9yZS5jcHAK
aW5kZXggNzk0YTkwYy4uNDM3YjE0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdr
L2V3a190aWxlZF9iYWNraW5nX3N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmUuY3BwCkBAIC02MjksNyArNjI5LDcgQEAgc3RhdGljIGlu
bGluZSB2b2lkIF9ld2tfdGlsZWRfYmFja2luZ19zdG9yZV9tb2RlbF9tYXRyaXhfY3JlYXRlKEV3
a19UaWxlZF9CYWNraW4KICAgICAgICAgZXdrX3RpbGVfbWF0cml4X2ZyZWUocHJpdi0+bW9kZWwu
bWF0cml4KTsKICAgICB9CiAKLSAgICBwcml2LT5tb2RlbC5tYXRyaXggPSBld2tfdGlsZV9tYXRy
aXhfbmV3KHRpbGVVbnVzZWRDYWNoZSwgcHJpdi0+bW9kZWwuY3VyLmNvbHMsIHByaXYtPm1vZGVs
LmN1ci5yb3dzLCBwcml2LT5jc3BhY2UsIF9ld2tfdGlsZWRfYmFja2luZ19zdG9yZV9yZW5kZXIs
IHByaXYpOworICAgIHByaXYtPm1vZGVsLm1hdHJpeCA9IGV3a190aWxlX21hdHJpeF9uZXcodGls
ZVVudXNlZENhY2hlLCBwcml2LT5tb2RlbC5jdXIuY29scywgcHJpdi0+bW9kZWwuY3VyLnJvd3Ms
IHByaXYtPnZpZXcudGlsZS56b29tLCBwcml2LT5jc3BhY2UsIF9ld2tfdGlsZWRfYmFja2luZ19z
dG9yZV9yZW5kZXIsIHByaXYpOwogfQogCiBzdGF0aWMgdm9pZCBfZXdrX3RpbGVkX2JhY2tpbmdf
c3RvcmVfc21hcnRfbWVtYmVyX2RlbChFdmFzX09iamVjdCogZXdrVGlsZSwgRXZhc19PYmplY3Qq
IG1lbWJlcikKQEAgLTEzMDIsNiArMTMwMiw5IEBAIHN0YXRpYyB2b2lkIF9ld2tfdGlsZWRfYmFj
a2luZ19zdG9yZV9zbWFydF9jYWxjdWxhdGUoRXZhc19PYmplY3QqIGV3a1RpbGUpCiAKICAgICBl
d2tfdGlsZV9tYXRyaXhfZnJlZXplKHByaXYtPm1vZGVsLm1hdHJpeCk7CiAKKyAgICBpZiAocHJp
di0+Y2hhbmdlZC5tb2RlbCAmJiAhcHJpdi0+Y2hhbmdlZC5zaXplKQorICAgICAgICBld2tfdGls
ZV9tYXRyaXhfaW52YWxpZGF0ZShwcml2LT5tb2RlbC5tYXRyaXgpOworCiAgICAgaWYgKCFwcml2
LT5yZW5kZXIuc3VzcGVuZCAmJiBwcml2LT5jaGFuZ2VkLm1vZGVsKSB7CiAgICAgICAgIHVuc2ln
bmVkIGxvbmcgY29scywgcm93czsKIApAQCAtMTQ4Niw2ICsxNDg5LDcgQEAgc3RhdGljIEVpbmFf
Qm9vbCBfZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfem9vbV9zZXRfaW50ZXJuYWwoRXdrX1RpbGVk
X0JhY2tpbmdfU3QKICAgICBwcml2LT52aWV3Lm9mZnNldC56b29tX2NlbnRlci54ID0gY3VycmVu
dFg7CiAgICAgcHJpdi0+dmlldy5vZmZzZXQuem9vbV9jZW50ZXIueSA9IGN1cnJlbnRZOwogCisg
ICAgZXdrX3RpbGVfbWF0cml4X3pvb21fbGV2ZWxfc2V0KHByaXYtPm1vZGVsLm1hdHJpeCwgKnpv
b20pOwogCiAgICAgaWYgKCFwcml2LT52aWV3LndpZHRoIHx8ICFwcml2LT52aWV3LmhlaWdodCkg
ewogICAgICAgICBwcml2LT52aWV3Lm9mZnNldC5iYXNlLnggPSAwOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxlZF9tYXRyaXguY3BwIGIvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a190aWxlZF9tYXRyaXguY3BwCmluZGV4IGU5MWJkNzcuLmI2ZmYwZDUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfbWF0cml4LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3RpbGVkX21hdHJpeC5jcHAKQEAgLTMxLDggKzMxLDE4
IEBACiAjaW5jbHVkZSA8c3RkbGliLmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAKK3N0cnVjdCBf
RXdrX1RpbGVfTWF0cml4X0VudHJ5IHsKKyAgICBFSU5BX0lOTElTVDsKKyAgICBmbG9hdCB6b29t
OworICAgIHVuc2lnbmVkIGxvbmcgY291bnQ7CisgICAgRWluYV9NYXRyaXhzcGFyc2UqIG1hdHJp
eDsKK307CisKK3R5cGVkZWYgc3RydWN0IF9Fd2tfVGlsZV9NYXRyaXhfRW50cnkgRXdrX1RpbGVf
TWF0cml4X0VudHJ5OworCiBzdHJ1Y3QgX0V3a19UaWxlX01hdHJpeCB7CiAgICAgRWluYV9NYXRy
aXhzcGFyc2UqIG1hdHJpeDsKKyAgICBFaW5hX0lubGlzdCogbWF0cmljZXM7CiAgICAgRXdrX1Rp
bGVfVW51c2VkX0NhY2hlKiB0dWM7CiAgICAgRXZhc19Db2xvcnNwYWNlIGNzcGFjZTsKICAgICBz
dHJ1Y3QgewpAQCAtNTgsNiArNjgsMTkgQEAgc3RhdGljIHVpbnQ2NF90IHRpbGVzX2xlYWtlZCA9
IDA7CiBzdGF0aWMgdWludDY0X3QgYnl0ZXNfbGVha2VkID0gMDsKICNlbmRpZgogCitzdGF0aWMg
RXdrX1RpbGVfTWF0cml4X0VudHJ5KiBld2tfdGlsZV9tYXRyaXhfZW50cnlfZ2V0KEV3a19UaWxl
X01hdHJpeCogdGlsZU1hdHJpeCwgZmxvYXQgem9vbSkKK3sKKyAgICBFSU5BX1NBRkVUWV9PTl9O
VUxMX1JFVFVSTl9WQUwodGlsZU1hdHJpeCwgMCk7CisgICAgRXdrX1RpbGVfTWF0cml4X0VudHJ5
KiBpdGVyYXRvcjsKKworICAgIEVJTkFfSU5MSVNUX0ZPUkVBQ0godGlsZU1hdHJpeC0+bWF0cmlj
ZXMsIGl0ZXJhdG9yKSB7CisgICAgICAgIGlmIChpdGVyYXRvci0+em9vbSA9PSB6b29tKQorICAg
ICAgICAgICAgcmV0dXJuIGl0ZXJhdG9yOworICAgIH0KKworICAgIHJldHVybiAwOworfQorCiAv
KiBjYWxsZWQgd2hlbiBtYXRyaXhzcGFyc2UgaXMgcmVzaXplZCBvciBmcmVlZCAqLwogc3RhdGlj
IHZvaWQgX2V3a190aWxlX21hdHJpeF9jZWxsX2ZyZWUodm9pZCogdXNlckRhdGEsIHZvaWQqIGNl
bGxEYXRhKQogewpAQCAtNzgsMTEgKzEwMSwxOCBAQCBzdGF0aWMgdm9pZCBfZXdrX3RpbGVfbWF0
cml4X2NlbGxfZnJlZSh2b2lkKiB1c2VyRGF0YSwgdm9pZCogY2VsbERhdGEpCiAgICAgICAgIGlm
ICghZXdrX3RpbGVfdW51c2VkX2NhY2hlX3RpbGVfZ2V0KHRtLT50dWMsIHRpbGUpKQogICAgICAg
ICAgICAgRVJSKCJ0aWxlICVwIHdhcyBub3QgaW4gY2FjaGUgJXA/IGxlYWtpbmcuLi4iLCB0aWxl
LCB0bS0+dHVjKTsKICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBFd2tfVGlsZV9NYXRyaXhf
RW50cnkqIGVudHJ5OwogICAgICAgICAgICAgREJHKCJ0aWxlIGNlbGwgZG9lcyBub3QgZXhpc3Qg
YW55bW9yZSwgZnJlZSBpdCAlcCIsIHRpbGUpOwogI2lmZGVmIERFQlVHX01FTV9MRUFLUwogICAg
ICAgICAgICAgdG0tPnN0YXRzLmJ5dGVzLmZyZWVkICs9IHRpbGUtPmJ5dGVzOwogICAgICAgICAg
ICAgdG0tPnN0YXRzLnRpbGVzLmZyZWVkKys7CiAjZW5kaWYKKyAgICAgICAgICAgIGVudHJ5ID0g
ZXdrX3RpbGVfbWF0cml4X2VudHJ5X2dldCh0bSwgdGlsZS0+em9vbSk7CisgICAgICAgICAgICBp
ZiAoIWVudHJ5KQorICAgICAgICAgICAgICAgIEVSUigiY2FuJ3QgZmluZCBtYXRyaXggZm9yIHpv
b20gJTAuM2YiLCB0aWxlLT56b29tKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAg
ICBlbnRyeS0+Y291bnQtLTsKKwogICAgICAgICAgICAgZXdrX3RpbGVfZnJlZSh0aWxlKTsKICAg
ICAgICAgfQogICAgIH0KQEAgLTk0LDkgKzEyNCwxNiBAQCBzdGF0aWMgdm9pZCBfZXdrX3RpbGVf
bWF0cml4X2NlbGxfZnJlZSh2b2lkKiB1c2VyRGF0YSwgdm9pZCogY2VsbERhdGEpCiBzdGF0aWMg
dm9pZCBfZXdrX3RpbGVfbWF0cml4X3RpbGVfZnJlZSh2b2lkKiBkYXRhLCBFd2tfVGlsZSogdGls
ZSkKIHsKICAgICBFd2tfVGlsZV9NYXRyaXgqIHRtID0gc3RhdGljX2Nhc3Q8RXdrX1RpbGVfTWF0
cml4Kj4oZGF0YSk7CisgICAgRXdrX1RpbGVfTWF0cml4X0VudHJ5KiBlbnRyeTsKICAgICBFaW5h
X01hdHJpeHNwYXJzZV9DZWxsKiBjZWxsOwogCi0gICAgaWYgKCFlaW5hX21hdHJpeHNwYXJzZV9j
ZWxsX2lkeF9nZXQodG0tPm1hdHJpeCwgdGlsZS0+cm93LCB0aWxlLT5jb2wsICZjZWxsKSkgewor
ICAgIGVudHJ5ID0gZXdrX3RpbGVfbWF0cml4X2VudHJ5X2dldCh0bSwgdGlsZS0+em9vbSk7Cisg
ICAgaWYgKCFlbnRyeSkgeworICAgICAgICBFUlIoInJlbW92aW5nIHRpbGUgJXAgdGhhdCB3YXMg
bm90IGluIGFueSBtYXRyaXg/IExlYWtpbmcuLi4iLCB0aWxlKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKworICAgIGlmICghZWluYV9tYXRyaXhzcGFyc2VfY2VsbF9pZHhfZ2V0KGVudHJ5LT5t
YXRyaXgsIHRpbGUtPnJvdywgdGlsZS0+Y29sLCAmY2VsbCkpIHsKICAgICAgICAgRVJSKCJyZW1v
dmluZyB0aWxlICVwIHRoYXQgd2FzIG5vdCBpbiB0aGUgbWF0cml4PyBMZWFraW5nLi4uIiwgdGls
ZSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0xMjQsNiArMTYxLDEzIEBAIHN0YXRpYyB2
b2lkIF9ld2tfdGlsZV9tYXRyaXhfdGlsZV9mcmVlKHZvaWQqIGRhdGEsIEV3a19UaWxlKiB0aWxl
KQogICAgIHRtLT5zdGF0cy50aWxlcy5mcmVlZCsrOwogI2VuZGlmCiAKKyAgICBlbnRyeS0+Y291
bnQtLTsKKyAgICBpZiAoIWVudHJ5LT5jb3VudCAmJiBlbnRyeS0+bWF0cml4ICE9IHRtLT5tYXRy
aXgpIHsKKyAgICAgICAgZWluYV9tYXRyaXhzcGFyc2VfZnJlZShlbnRyeS0+bWF0cml4KTsKKyAg
ICAgICAgdG0tPm1hdHJpY2VzID0gZWluYV9pbmxpc3RfcmVtb3ZlKHRtLT5tYXRyaWNlcywgRUlO
QV9JTkxJU1RfR0VUKGVudHJ5KSk7CisgICAgICAgIGZyZWUoZW50cnkpOworICAgIH0KKwogICAg
IGV3a190aWxlX2ZyZWUodGlsZSk7CiB9CiAKQEAgLTEzOSwxMyArMTgzLDE0IEBAIHN0YXRpYyB2
b2lkIF9ld2tfdGlsZV9tYXRyaXhfdGlsZV9mcmVlKHZvaWQqIGRhdGEsIEV3a19UaWxlKiB0aWxl
KQogICogICAgICAgIGF1dG9tYXRpY2FsbHkuCiAgKiBAcGFyYW0gY29sdW1ucyBudW1iZXIgb2Yg
Y29sdW1ucyBpbiB0aGUgbWF0cml4LgogICogQHBhcmFtIHJvd3MgbnVtYmVyIG9mIHJvd3MgaW4g
dGhlIG1hdHJpeC4KKyAqIEBwYXJhbSB6b29tTGV2ZWwgem9vbSBsZXZlbCBmb3IgdGhlIG1hdHJp
eC4KICAqIEBwYXJhbSBjc3BhY2UgdGhlIGNvbG9yIHNwYWNlIHVzZWQgdG8gY3JlYXRlIHRpbGVz
IGluIHRoaXMgbWF0cml4LgogICogQHBhcmFtIHJlbmRlcl9jYiBmdW5jdGlvbiB1c2VkIHRvIHJl
bmRlciBnaXZlbiB0aWxlIHVwZGF0ZS4KICAqIEBwYXJhbSByZW5kZXJfZGF0YSBjb250ZXh0IHRv
IGdpdmUgYmFjayB0byBAYSByZW5kZXJfY2IuCiAgKgogICogQHJldHVybiBuZXdseSBhbGxvY2F0
ZWQgaW5zdGFuY2Ugb24gc3VjY2VzcywgQGMgMCBvbiBmYWlsdXJlLgogICovCi1Fd2tfVGlsZV9N
YXRyaXgqIGV3a190aWxlX21hdHJpeF9uZXcoRXdrX1RpbGVfVW51c2VkX0NhY2hlKiB0aWxlVW51
c2VkQ2FjaGUsIHVuc2lnbmVkIGxvbmcgY29sdW1ucywgdW5zaWduZWQgbG9uZyByb3dzLCBFdmFz
X0NvbG9yc3BhY2UgY29sb3JTcGFjZSwgdm9pZCAoKnJlbmRlcl9jYWxsYmFjaykodm9pZCogZGF0
YSwgRXdrX1RpbGUqIHRpbGUsIGNvbnN0IEVpbmFfUmVjdGFuZ2xlKiB1cGRhdGUpLCBjb25zdCB2
b2lkKiByZW5kZXJEYXRhKQorRXdrX1RpbGVfTWF0cml4KiBld2tfdGlsZV9tYXRyaXhfbmV3KEV3
a19UaWxlX1VudXNlZF9DYWNoZSogdGlsZVVudXNlZENhY2hlLCB1bnNpZ25lZCBsb25nIGNvbHVt
bnMsIHVuc2lnbmVkIGxvbmcgcm93cywgZmxvYXQgem9vbUxldmVsLCBFdmFzX0NvbG9yc3BhY2Ug
Y29sb3JTcGFjZSwgdm9pZCAoKnJlbmRlcl9jYWxsYmFjaykodm9pZCogZGF0YSwgRXdrX1RpbGUq
IHRpbGUsIGNvbnN0IEVpbmFfUmVjdGFuZ2xlKiB1cGRhdGUpLCBjb25zdCB2b2lkKiByZW5kZXJE
YXRhKQogewogICAgIEV3a19UaWxlX01hdHJpeCogdG0gPSBzdGF0aWNfY2FzdDxFd2tfVGlsZV9N
YXRyaXgqPihjYWxsb2MoMSwgc2l6ZW9mKEV3a19UaWxlX01hdHJpeCkpKTsKICAgICBpZiAoIXRt
KQpAQCAtMTU4LDYgKzIwMyw4IEBAIEV3a19UaWxlX01hdHJpeCogZXdrX3RpbGVfbWF0cml4X25l
dyhFd2tfVGlsZV9VbnVzZWRfQ2FjaGUqIHRpbGVVbnVzZWRDYWNoZSwgdW5zCiAgICAgICAgIHJl
dHVybiAwOwogICAgIH0KIAorICAgIGV3a190aWxlX21hdHJpeF96b29tX2xldmVsX3NldCh0bSwg
em9vbUxldmVsKTsKKwogICAgIGlmICh0aWxlVW51c2VkQ2FjaGUpCiAgICAgICAgIHRtLT50dWMg
PSBld2tfdGlsZV91bnVzZWRfY2FjaGVfcmVmKHRpbGVVbnVzZWRDYWNoZSk7CiAgICAgZWxzZSB7
CkBAIC0xNzksNiArMjI2LDU5IEBAIEV3a19UaWxlX01hdHJpeCogZXdrX3RpbGVfbWF0cml4X25l
dyhFd2tfVGlsZV9VbnVzZWRfQ2FjaGUqIHRpbGVVbnVzZWRDYWNoZSwgdW5zCiAgICAgcmV0dXJu
IHRtOwogfQogCit2b2lkIGV3a190aWxlX21hdHJpeF96b29tX2xldmVsX3NldChFd2tfVGlsZV9N
YXRyaXgqIHRpbGVNYXRyaXgsIGZsb2F0IHpvb20pCit7CisgICAgRUlOQV9TQUZFVFlfT05fTlVM
TF9SRVRVUk4odGlsZU1hdHJpeCk7CisgICAgRXdrX1RpbGVfTWF0cml4X0VudHJ5KiBpdGVyYXRv
ciA9IDA7CisgICAgRXdrX1RpbGVfTWF0cml4X0VudHJ5KiBlbnRyeSA9IDA7CisgICAgdW5zaWdu
ZWQgbG9uZyByb3dzID0gMCwgY29sdW1ucyA9IDA7CisKKyAgICBlaW5hX21hdHJpeHNwYXJzZV9z
aXplX2dldCh0aWxlTWF0cml4LT5tYXRyaXgsICZyb3dzLCAmY29sdW1ucyk7CisKKyAgICBFSU5B
X0lOTElTVF9GT1JFQUNIKHRpbGVNYXRyaXgtPm1hdHJpY2VzLCBpdGVyYXRvcikgeworICAgICAg
ICBpZiAoaXRlcmF0b3ItPnpvb20gIT0gem9vbSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAg
ICAgICBlbnRyeSA9IGl0ZXJhdG9yOworICAgICAgICB0aWxlTWF0cml4LT5tYXRyaWNlcyA9IGVp
bmFfaW5saXN0X3Byb21vdGUodGlsZU1hdHJpeC0+bWF0cmljZXMsIEVJTkFfSU5MSVNUX0dFVChl
bnRyeSkpOworICAgICAgICBlaW5hX21hdHJpeHNwYXJzZV9zaXplX3NldChlbnRyeS0+bWF0cml4
LCByb3dzLCBjb2x1bW5zKTsKKyAgICB9CisKKyAgICBpZiAoIWVudHJ5KSB7CisgICAgICAgIGVu
dHJ5ID0gc3RhdGljX2Nhc3Q8RXdrX1RpbGVfTWF0cml4X0VudHJ5Kj4oY2FsbG9jKDEsIHNpemVv
ZihFd2tfVGlsZV9NYXRyaXhfRW50cnkpKSk7CisgICAgICAgIGVudHJ5LT56b29tID0gem9vbTsK
KyAgICAgICAgZW50cnktPm1hdHJpeCA9IGVpbmFfbWF0cml4c3BhcnNlX25ldyhyb3dzLCBjb2x1
bW5zLCBfZXdrX3RpbGVfbWF0cml4X2NlbGxfZnJlZSwgdGlsZU1hdHJpeCk7CisgICAgICAgIGlm
ICghZW50cnktPm1hdHJpeCkgeworICAgICAgICAgICAgRVJSKCJjb3VsZCBub3QgY3JlYXRlIHNw
YXJzZSBtYXRyaXguIik7CisgICAgICAgICAgICBmcmVlKGVudHJ5KTsKKyAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgfQorICAgICAgICB0aWxlTWF0cml4LT5tYXRyaWNlcyA9IGVpbmFfaW5s
aXN0X3ByZXBlbmQodGlsZU1hdHJpeC0+bWF0cmljZXMsIEVJTkFfSU5MSVNUX0dFVChlbnRyeSkp
OworICAgIH0KKworICAgIHRpbGVNYXRyaXgtPm1hdHJpeCA9IGVudHJ5LT5tYXRyaXg7Cit9CisK
K3ZvaWQgZXdrX3RpbGVfbWF0cml4X2ludmFsaWRhdGUoRXdrX1RpbGVfTWF0cml4KiB0aWxlTWF0
cml4KQoreworICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOKHRpbGVNYXRyaXgpOworICAg
IEV3a19UaWxlX01hdHJpeF9FbnRyeSogaXRlcmF0b3I7CisgICAgRWluYV9Jbmxpc3QqIG1hdHJp
eExpc3Q7CisKKyAgICBtYXRyaXhMaXN0ID0gdGlsZU1hdHJpeC0+bWF0cmljZXM7CisgICAgd2hp
bGUgKG1hdHJpeExpc3QpIHsKKyAgICAgICAgaXRlcmF0b3IgPSBFSU5BX0lOTElTVF9DT05UQUlO
RVJfR0VUKG1hdHJpeExpc3QsIEV3a19UaWxlX01hdHJpeF9FbnRyeSk7CisgICAgICAgIEVpbmFf
SW5saXN0ICpuZXh0ID0gKG1hdHJpeExpc3QtPm5leHQpID8gbWF0cml4TGlzdC0+bmV4dCA6IDA7
CisKKyAgICAgICAgaWYgKGl0ZXJhdG9yLT5tYXRyaXggIT0gdGlsZU1hdHJpeC0+bWF0cml4KSB7
CisgICAgICAgICAgICBlaW5hX21hdHJpeHNwYXJzZV9mcmVlKGl0ZXJhdG9yLT5tYXRyaXgpOwor
ICAgICAgICAgICAgdGlsZU1hdHJpeC0+bWF0cmljZXMgPSBlaW5hX2lubGlzdF9yZW1vdmUodGls
ZU1hdHJpeC0+bWF0cmljZXMsIG1hdHJpeExpc3QpOworICAgICAgICAgICAgZnJlZShpdGVyYXRv
cik7CisgICAgICAgIH0KKworICAgICAgICBtYXRyaXhMaXN0ID0gbmV4dDsKKyAgICB9Cit9CisK
IC8qKgogICogRGVzdHJveXMgdGlsZXMgbWF0cml4LCByZWxlYXNpbmcgaXRzIHJlc291cmNlcy4K
ICAqCkBAIC0xODYsNiArMjg2LDcgQEAgRXdrX1RpbGVfTWF0cml4KiBld2tfdGlsZV9tYXRyaXhf
bmV3KEV3a19UaWxlX1VudXNlZF9DYWNoZSogdGlsZVVudXNlZENhY2hlLCB1bnMKICAqLwogdm9p
ZCBld2tfdGlsZV9tYXRyaXhfZnJlZShFd2tfVGlsZV9NYXRyaXgqIHRpbGVNYXRyaXgpCiB7Cisg
ICAgRXdrX1RpbGVfTWF0cml4X0VudHJ5KiBlbnRyeTsKICNpZmRlZiBERUJVR19NRU1fTEVBS1MK
ICAgICB1aW50NjRfdCB0aWxlcywgYnl0ZXM7CiAjZW5kaWYKQEAgLTE5Myw3ICsyOTQsMTIgQEAg
dm9pZCBld2tfdGlsZV9tYXRyaXhfZnJlZShFd2tfVGlsZV9NYXRyaXgqIHRpbGVNYXRyaXgpCiAg
ICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk4odGlsZU1hdHJpeCk7CiAgICAgZXdrX3RpbGVf
dW51c2VkX2NhY2hlX2ZyZWV6ZSh0aWxlTWF0cml4LT50dWMpOwogCi0gICAgZWluYV9tYXRyaXhz
cGFyc2VfZnJlZSh0aWxlTWF0cml4LT5tYXRyaXgpOworICAgIGV3a190aWxlX3VudXNlZF9jYWNo
ZV9mcmVlemUodGlsZU1hdHJpeC0+dHVjKTsKKyAgICBld2tfdGlsZV9tYXRyaXhfaW52YWxpZGF0
ZSh0aWxlTWF0cml4KTsKKyAgICBlbnRyeSA9IEVJTkFfSU5MSVNUX0NPTlRBSU5FUl9HRVQodGls
ZU1hdHJpeC0+bWF0cmljZXMsIEV3a19UaWxlX01hdHJpeF9FbnRyeSk7CisgICAgZWluYV9tYXRy
aXhzcGFyc2VfZnJlZShlbnRyeS0+bWF0cml4KTsgICAgCisgICAgZnJlZShlbnRyeSk7CisgICAg
dGlsZU1hdHJpeC0+bWF0cmljZXMgPSAwOwogCiAgICAgZXdrX3RpbGVfdW51c2VkX2NhY2hlX3Ro
YXcodGlsZU1hdHJpeC0+dHVjKTsKICAgICBld2tfdGlsZV91bnVzZWRfY2FjaGVfdW5yZWYodGls
ZU1hdHJpeC0+dHVjKTsKQEAgLTMyMiw5ICs0MjgsMTYgQEAgRXdrX1RpbGUqIGV3a190aWxlX21h
dHJpeF90aWxlX25ldyhFd2tfVGlsZV9NYXRyaXgqIHRpbGVNYXRyaXgsIEV2YXMqIGNhbnZhcywg
dW4KIHsKICAgICBFdmFzX0Nvb3JkIHR3LCB0aDsKICAgICBFd2tfVGlsZSogdGlsZTsKKyAgICBF
d2tfVGlsZV9NYXRyaXhfRW50cnkqIGVudHJ5OwogCiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9S
RVRVUk5fVkFMKHRpbGVNYXRyaXgsIDApOwogICAgIEVJTkFfU0FGRVRZX09OX0ZBTFNFX1JFVFVS
Tl9WQUwoem9vbSA+IDAuMCwgMCk7CisgICAgZW50cnkgPSBld2tfdGlsZV9tYXRyaXhfZW50cnlf
Z2V0KHRpbGVNYXRyaXgsIHpvb20pOworICAgIGlmICghZW50cnkpIHsKKyAgICAgICAgRVJSKCJj
b3VsZCBub3QgZ2V0IG1hdHJpeCBhdCB6b29tICVmIGZvciB0aWxlIiwgem9vbSk7CisgICAgICAg
IHJldHVybiAwOworICAgIH0KKyAgICBlbnRyeS0+Y291bnQrKzsKIAogICAgIHR3ID0gdGlsZU1h
dHJpeC0+dGlsZS53aWR0aDsKICAgICB0aCA9IHRpbGVNYXRyaXgtPnRpbGUuaGVpZ2h0OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxlZF9tYXRyaXguaCBiL1NvdXJj
ZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfbWF0cml4LmgKaW5kZXggZDNkYzUxNy4uZmU2YjY2
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxlZF9tYXRyaXguaAor
KysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3RpbGVkX21hdHJpeC5oCkBAIC0yNiwxMCAr
MjYsMTIgQEAKICNpbmNsdWRlIDxFdmFzLmg+CiAKIC8qIG1hdHJpeCBvZiB0aWxlcyAqLwotRXdr
X1RpbGVfTWF0cml4KiBld2tfdGlsZV9tYXRyaXhfbmV3KEV3a19UaWxlX1VudXNlZF9DYWNoZSog
dHVjLCB1bnNpZ25lZCBsb25nIGNvbHMsIHVuc2lnbmVkIGxvbmcgcm93cywgRXZhc19Db2xvcnNw
YWNlIGNzcGFjZSwgdm9pZCAoKiByZW5kZXJfY2IpKHZvaWQqIGRhdGEsIEV3a19UaWxlKiB0LCBj
b25zdCBFaW5hX1JlY3RhbmdsZSogdXBkYXRlKSwgY29uc3Qgdm9pZCogcmVuZGVyX2RhdGEpOwor
RXdrX1RpbGVfTWF0cml4KiBld2tfdGlsZV9tYXRyaXhfbmV3KEV3a19UaWxlX1VudXNlZF9DYWNo
ZSogdGlsZVVudXNlZENhY2hlLCB1bnNpZ25lZCBsb25nIGNvbHVtbnMsIHVuc2lnbmVkIGxvbmcg
cm93cywgZmxvYXQgem9vbUxldmVsLCBFdmFzX0NvbG9yc3BhY2UgY29sb3JTcGFjZSwgdm9pZCAo
KnJlbmRlcl9jYWxsYmFjaykodm9pZCogZGF0YSwgRXdrX1RpbGUqIHRpbGUsIGNvbnN0IEVpbmFf
UmVjdGFuZ2xlKiB1cGRhdGUpLCBjb25zdCB2b2lkKiByZW5kZXJEYXRhKTsKIHZvaWQgZXdrX3Rp
bGVfbWF0cml4X2ZyZWUoRXdrX1RpbGVfTWF0cml4KiB0bSk7CiAKIHZvaWQgZXdrX3RpbGVfbWF0
cml4X3Jlc2l6ZShFd2tfVGlsZV9NYXRyaXgqIHRtLCB1bnNpZ25lZCBsb25nIGNvbHMsIHVuc2ln
bmVkIGxvbmcgcm93cyk7Cit2b2lkIGV3a190aWxlX21hdHJpeF96b29tX2xldmVsX3NldChFd2tf
VGlsZV9NYXRyaXgqIHRpbGVNYXRyaXgsIGZsb2F0IHpvb20pOwordm9pZCBld2tfdGlsZV9tYXRy
aXhfaW52YWxpZGF0ZShFd2tfVGlsZV9NYXRyaXgqIHRpbGVNYXRyaXgpOwogCiBFd2tfVGlsZV9V
bnVzZWRfQ2FjaGUqIGV3a190aWxlX21hdHJpeF91bnVzZWRfY2FjaGVfZ2V0KGNvbnN0IEV3a19U
aWxlX01hdHJpeCogdG0pOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114618</attachid>
            <date>2011-11-10 20:49:50 -0800</date>
            <delta_ts>2011-11-16 23:52:30 -0800</delta_ts>
            <desc>patch rebased.</desc>
            <filename>1015_matrix_list_4.patch</filename>
            <type>text/plain</type>
            <size>12474</size>
            <attacher name="KwangHyuk">hyuki.kim</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCA5MzIxNjY5Li42Y2M1M2YyIDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjggQEAKKzIwMTEtMTEtMTAgIEt3YW5nSHl1ayBLaW0gIDxoeXVraS5raW1Ac2Ft
c3VuZy5jb20+CisKKyAgICAgICAgW0VGTF0gQWRkIG1hdHJpeCBsaXN0IHRvIHJldXNlIHRpbGUg
bWF0cml4IGZvciBlYWNoIGRpZmZlcmVudCB6b29tIGxldmVsLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1OTUKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgbWF0cml4IGxpc3QgdG8ga2VlcCBlYWNo
IHRpbGUgbWF0cml4IGNvcnJlc3BvbmRpbmcgdG8gZWFjaCBkaWZmZXJlbnQgem9vbSBsZXZlbCB3
aGVuIHpvb20gbGV2ZWwgaXMgY2hhbmdlZC4KKyAgICAgICAgVGhlbiBiYWNraW5nIHN0b3JlIGNh
biByZXVzZSB0aWxlIG1hdHJpeCBieSBnZXR0aW5nIGl0IGZyb20gdGhpcyBtYXRyaXggbGlzdC4K
KworICAgICAgICAqIGV3ay9ld2tfdGlsZWRfYmFja2luZ19zdG9yZS5jcHA6CisgICAgICAgIChf
ZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfbW9kZWxfbWF0cml4X2NyZWF0ZSk6CisgICAgICAgIChf
ZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfc21hcnRfY2FsY3VsYXRlKToKKyAgICAgICAgKF9ld2tf
dGlsZWRfYmFja2luZ19zdG9yZV96b29tX3NldF9pbnRlcm5hbCk6CisgICAgICAgICogZXdrL2V3
a190aWxlZF9tYXRyaXguY3BwOgorICAgICAgICAoZXdrX3RpbGVfbWF0cml4X2VudHJ5X2dldCk6
CisgICAgICAgIChfZXdrX3RpbGVfbWF0cml4X2NlbGxfZnJlZSk6CisgICAgICAgIChfZXdrX3Rp
bGVfbWF0cml4X3RpbGVfZnJlZSk6CisgICAgICAgIChld2tfdGlsZV9tYXRyaXhfbmV3KToKKyAg
ICAgICAgKGV3a190aWxlX21hdHJpeF96b29tX2xldmVsX3NldCk6CisgICAgICAgIChld2tfdGls
ZV9tYXRyaXhfaW52YWxpZGF0ZSk6CisgICAgICAgIChld2tfdGlsZV9tYXRyaXhfZnJlZSk6Cisg
ICAgICAgIChld2tfdGlsZV9tYXRyaXhfdGlsZV9uZXcpOgorICAgICAgICAqIGV3ay9ld2tfdGls
ZWRfbWF0cml4Lmg6CisKIDIwMTEtMTEtMDkgIFJhcGhhZWwgS3VibyBkYSBDb3N0YSAgPGt1Ym9A
cHJvZnVzaW9uLm1vYmk+CiAKICAgICAgICAgW0VGTF0gUmVtb3ZlIHVubmVjZXNzYXJ5IGNhc3Rz
IHdoZW4gY3JlYXRpbmcgdGhlIFdlYkNvcmVTdXBwb3J0IG9iamVjdHMgaW4gZXdrX3ZpZXcuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmUu
Y3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxlZF9iYWNraW5nX3N0b3JlLmNwcApp
bmRleCAwZDE3MzI5Li5mNDFlMWVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9l
d2tfdGlsZWRfYmFja2luZ19zdG9yZS5jcHAKQEAgLTYyOSw3ICs2MjksNyBAQCBzdGF0aWMgaW5s
aW5lIHZvaWQgX2V3a190aWxlZF9iYWNraW5nX3N0b3JlX21vZGVsX21hdHJpeF9jcmVhdGUoRXdr
X1RpbGVkX0JhY2tpbgogICAgICAgICBld2tfdGlsZV9tYXRyaXhfZnJlZShwcml2LT5tb2RlbC5t
YXRyaXgpOwogICAgIH0KIAotICAgIHByaXYtPm1vZGVsLm1hdHJpeCA9IGV3a190aWxlX21hdHJp
eF9uZXcodGlsZVVudXNlZENhY2hlLCBwcml2LT5tb2RlbC5jdXJyZW50LmNvbHVtbnMsIHByaXYt
Pm1vZGVsLmN1cnJlbnQucm93cywgcHJpdi0+Y29sb3JTcGFjZSwgX2V3a190aWxlZF9iYWNraW5n
X3N0b3JlX3JlbmRlciwgcHJpdik7CisgICAgcHJpdi0+bW9kZWwubWF0cml4ID0gZXdrX3RpbGVf
bWF0cml4X25ldyh0aWxlVW51c2VkQ2FjaGUsIHByaXYtPm1vZGVsLmN1cnJlbnQuY29sdW1ucywg
cHJpdi0+bW9kZWwuY3VycmVudC5yb3dzLCBwcml2LT52aWV3LnRpbGUuem9vbSwgcHJpdi0+Y29s
b3JTcGFjZSwgX2V3a190aWxlZF9iYWNraW5nX3N0b3JlX3JlbmRlciwgcHJpdik7CiB9CiAKIHN0
YXRpYyB2b2lkIF9ld2tfdGlsZWRfYmFja2luZ19zdG9yZV9zbWFydF9tZW1iZXJfZGVsKEV2YXNf
T2JqZWN0KiBld2tCYWNraW5nU3RvcmUsIEV2YXNfT2JqZWN0KiBtZW1iZXIpCkBAIC0xMzA4LDYg
KzEzMDgsOSBAQCBzdGF0aWMgdm9pZCBfZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfc21hcnRfY2Fs
Y3VsYXRlKEV2YXNfT2JqZWN0KiBld2tCYWNraW5nU3RvcgogCiAgICAgZXdrX3RpbGVfbWF0cml4
X2ZyZWV6ZShwcml2LT5tb2RlbC5tYXRyaXgpOwogCisgICAgaWYgKHByaXYtPmNoYW5nZWQubW9k
ZWwgJiYgIXByaXYtPmNoYW5nZWQuc2l6ZSkKKyAgICAgICAgZXdrX3RpbGVfbWF0cml4X2ludmFs
aWRhdGUocHJpdi0+bW9kZWwubWF0cml4KTsKKwogICAgIGlmICghcHJpdi0+cmVuZGVyLnN1c3Bl
bmQgJiYgcHJpdi0+Y2hhbmdlZC5tb2RlbCkgewogICAgICAgICB1bnNpZ25lZCBsb25nIGNvbHVt
bnMsIHJvd3M7CiAKQEAgLTE0ODcsNiArMTQ5MCw3IEBAIHN0YXRpYyBFaW5hX0Jvb2wgX2V3a190
aWxlZF9iYWNraW5nX3N0b3JlX3pvb21fc2V0X2ludGVybmFsKEV3a19UaWxlZF9CYWNraW5nX1N0
CiAgICAgcHJpdi0+dmlldy5vZmZzZXQuem9vbUNlbnRlci54ID0gY3VycmVudFg7CiAgICAgcHJp
di0+dmlldy5vZmZzZXQuem9vbUNlbnRlci55ID0gY3VycmVudFk7CiAKKyAgICBld2tfdGlsZV9t
YXRyaXhfem9vbV9sZXZlbF9zZXQocHJpdi0+bW9kZWwubWF0cml4LCAqem9vbSk7CiAKICAgICBp
ZiAoIXByaXYtPnZpZXcud2lkdGggfHwgIXByaXYtPnZpZXcuaGVpZ2h0KSB7CiAgICAgICAgIHBy
aXYtPnZpZXcub2Zmc2V0LmJhc2UueCA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9ld2svZXdrX3RpbGVkX21hdHJpeC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3Rp
bGVkX21hdHJpeC5jcHAKaW5kZXggMmQ1NTU0NC4uZWY1MzY4OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9lZmwvZXdrL2V3a190aWxlZF9tYXRyaXguY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL2V3ay9ld2tfdGlsZWRfbWF0cml4LmNwcApAQCAtMzIsOCArMzIsMTggQEAKICNpbmNsdWRl
IDxzdGRsaWIuaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KIAorc3RydWN0IF9Fd2tfVGlsZV9NYXRy
aXhfRW50cnkgeworICAgIEVJTkFfSU5MSVNUOworICAgIGZsb2F0IHpvb207CisgICAgdW5zaWdu
ZWQgbG9uZyBjb3VudDsKKyAgICBFaW5hX01hdHJpeHNwYXJzZSogbWF0cml4OworfTsKKwordHlw
ZWRlZiBzdHJ1Y3QgX0V3a19UaWxlX01hdHJpeF9FbnRyeSBFd2tfVGlsZV9NYXRyaXhfRW50cnk7
CisKIHN0cnVjdCBfRXdrX1RpbGVfTWF0cml4IHsKICAgICBFaW5hX01hdHJpeHNwYXJzZSogbWF0
cml4OworICAgIEVpbmFfSW5saXN0KiBtYXRyaWNlczsKICAgICBFd2tfVGlsZV9VbnVzZWRfQ2Fj
aGUqIHRpbGllVW51c2VkQ2FjaGU7CiAgICAgRXZhc19Db2xvcnNwYWNlIGNzcGFjZTsKICAgICBz
dHJ1Y3QgewpAQCAtNTksNiArNjksMTkgQEAgc3RhdGljIHVpbnQ2NF90IHRpbGVzX2xlYWtlZCA9
IDA7CiBzdGF0aWMgdWludDY0X3QgYnl0ZXNfbGVha2VkID0gMDsKICNlbmRpZgogCitzdGF0aWMg
RXdrX1RpbGVfTWF0cml4X0VudHJ5KiBld2tfdGlsZV9tYXRyaXhfZW50cnlfZ2V0KEV3a19UaWxl
X01hdHJpeCogdGlsZU1hdHJpeCwgZmxvYXQgem9vbSkKK3sKKyAgICBFSU5BX1NBRkVUWV9PTl9O
VUxMX1JFVFVSTl9WQUwodGlsZU1hdHJpeCwgMCk7CisgICAgRXdrX1RpbGVfTWF0cml4X0VudHJ5
KiBpdGVyYXRvcjsKKworICAgIEVJTkFfSU5MSVNUX0ZPUkVBQ0godGlsZU1hdHJpeC0+bWF0cmlj
ZXMsIGl0ZXJhdG9yKSB7CisgICAgICAgIGlmIChpdGVyYXRvci0+em9vbSA9PSB6b29tKQorICAg
ICAgICAgICAgcmV0dXJuIGl0ZXJhdG9yOworICAgIH0KKworICAgIHJldHVybiAwOworfQorCiAv
KiBjYWxsZWQgd2hlbiBtYXRyaXhzcGFyc2UgaXMgcmVzaXplZCBvciBmcmVlZCAqLwogc3RhdGlj
IHZvaWQgX2V3a190aWxlX21hdHJpeF9jZWxsX2ZyZWUodm9pZCogdXNlckRhdGEsIHZvaWQqIGNl
bGxEYXRhKQogewpAQCAtNzksMTEgKzEwMiwxOCBAQCBzdGF0aWMgdm9pZCBfZXdrX3RpbGVfbWF0
cml4X2NlbGxfZnJlZSh2b2lkKiB1c2VyRGF0YSwgdm9pZCogY2VsbERhdGEpCiAgICAgICAgIGlm
ICghZXdrX3RpbGVfdW51c2VkX2NhY2hlX3RpbGVfZ2V0KHRpbGVNYXRyaXgtPnRpbGllVW51c2Vk
Q2FjaGUsIHRpbGUpKQogICAgICAgICAgICAgRVJSKCJ0aWxlICVwIHdhcyBub3QgaW4gY2FjaGUg
JXA/IGxlYWtpbmcuLi4iLCB0aWxlLCB0aWxlTWF0cml4LT50aWxpZVVudXNlZENhY2hlKTsKICAg
ICAgICAgZWxzZSB7CisgICAgICAgICAgICBFd2tfVGlsZV9NYXRyaXhfRW50cnkqIGVudHJ5Owog
ICAgICAgICAgICAgREJHKCJ0aWxlIGNlbGwgZG9lcyBub3QgZXhpc3QgYW55bW9yZSwgZnJlZSBp
dCAlcCIsIHRpbGUpOwogI2lmZGVmIERFQlVHX01FTV9MRUFLUwogICAgICAgICAgICAgdGlsZU1h
dHJpeC0+c3RhdHMuYnl0ZXMuZnJlZWQgKz0gdGlsZS0+Ynl0ZXM7CiAgICAgICAgICAgICB0aWxl
TWF0cml4LT5zdGF0cy50aWxlcy5mcmVlZCsrOwogI2VuZGlmCisgICAgICAgICAgICBlbnRyeSA9
IGV3a190aWxlX21hdHJpeF9lbnRyeV9nZXQodGlsZU1hdHJpeCwgdGlsZS0+em9vbSk7CisgICAg
ICAgICAgICBpZiAoIWVudHJ5KQorICAgICAgICAgICAgICAgIEVSUigiY2FuJ3QgZmluZCBtYXRy
aXggZm9yIHpvb20gJTAuM2YiLCB0aWxlLT56b29tKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgICAgICBlbnRyeS0+Y291bnQtLTsKKwogICAgICAgICAgICAgZXdrX3RpbGVfZnJlZSh0
aWxlKTsKICAgICAgICAgfQogICAgIH0KQEAgLTk1LDkgKzEyNSwxNyBAQCBzdGF0aWMgdm9pZCBf
ZXdrX3RpbGVfbWF0cml4X2NlbGxfZnJlZSh2b2lkKiB1c2VyRGF0YSwgdm9pZCogY2VsbERhdGEp
CiBzdGF0aWMgdm9pZCBfZXdrX3RpbGVfbWF0cml4X3RpbGVfZnJlZSh2b2lkKiBkYXRhLCBFd2tf
VGlsZSogdGlsZSkKIHsKICAgICBFd2tfVGlsZV9NYXRyaXgqIHRpbGVNYXRyaXggPSBzdGF0aWNf
Y2FzdDxFd2tfVGlsZV9NYXRyaXgqPihkYXRhKTsKKyAgICBFd2tfVGlsZV9NYXRyaXhfRW50cnkq
IGVudHJ5OwogICAgIEVpbmFfTWF0cml4c3BhcnNlX0NlbGwqIGNlbGw7CiAKLSAgICBpZiAoIWVp
bmFfbWF0cml4c3BhcnNlX2NlbGxfaWR4X2dldCh0aWxlTWF0cml4LT5tYXRyaXgsIHRpbGUtPnJv
dywgdGlsZS0+Y29sLCAmY2VsbCkpIHsKKyAgICBlbnRyeSA9IGV3a190aWxlX21hdHJpeF9lbnRy
eV9nZXQodGlsZU1hdHJpeCwgdGlsZS0+em9vbSk7CisgICAgaWYgKCFlbnRyeSkgeworICAgICAg
ICBFUlIoInJlbW92aW5nIHRpbGUgJXAgdGhhdCB3YXMgbm90IGluIGFueSBtYXRyaXg/IExlYWtp
bmcuLi4iLCB0aWxlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmICghZWluYV9t
YXRyaXhzcGFyc2VfY2VsbF9pZHhfZ2V0KGVudHJ5LT5tYXRyaXgsIHRpbGUtPnJvdywgdGlsZS0+
Y29sLCAmY2VsbCkpIHsKKwogICAgICAgICBFUlIoInJlbW92aW5nIHRpbGUgJXAgdGhhdCB3YXMg
bm90IGluIHRoZSBtYXRyaXg/IExlYWtpbmcuLi4iLCB0aWxlKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KQEAgLTEyNSw2ICsxNjMsMTMgQEAgc3RhdGljIHZvaWQgX2V3a190aWxlX21hdHJpeF90
aWxlX2ZyZWUodm9pZCogZGF0YSwgRXdrX1RpbGUqIHRpbGUpCiAgICAgdGlsZU1hdHJpeC0+c3Rh
dHMudGlsZXMuZnJlZWQrKzsKICNlbmRpZgogCisgICAgZW50cnktPmNvdW50LS07CisgICAgaWYg
KCFlbnRyeS0+Y291bnQgJiYgZW50cnktPm1hdHJpeCAhPSB0aWxlTWF0cml4LT5tYXRyaXgpIHsK
KyAgICAgICAgZWluYV9tYXRyaXhzcGFyc2VfZnJlZShlbnRyeS0+bWF0cml4KTsKKyAgICAgICAg
dGlsZU1hdHJpeC0+bWF0cmljZXMgPSBlaW5hX2lubGlzdF9yZW1vdmUodGlsZU1hdHJpeC0+bWF0
cmljZXMsIEVJTkFfSU5MSVNUX0dFVChlbnRyeSkpOworICAgICAgICBmcmVlKGVudHJ5KTsKKyAg
ICB9CisKICAgICBld2tfdGlsZV9mcmVlKHRpbGUpOwogfQogCkBAIC0xNDAsMTMgKzE4NSwxNCBA
QCBzdGF0aWMgdm9pZCBfZXdrX3RpbGVfbWF0cml4X3RpbGVfZnJlZSh2b2lkKiBkYXRhLCBFd2tf
VGlsZSogdGlsZSkKICAqICAgICAgICBhdXRvbWF0aWNhbGx5LgogICogQHBhcmFtIGNvbHVtbnMg
bnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIG1hdHJpeC4KICAqIEBwYXJhbSByb3dzIG51bWJlciBv
ZiByb3dzIGluIHRoZSBtYXRyaXguCisgKiBAcGFyYW0gem9vbUxldmVsIHpvb20gbGV2ZWwgZm9y
IHRoZSBtYXRyaXguCiAgKiBAcGFyYW0gY3NwYWNlIHRoZSBjb2xvciBzcGFjZSB1c2VkIHRvIGNy
ZWF0ZSB0aWxlcyBpbiB0aGlzIG1hdHJpeC4KICAqIEBwYXJhbSByZW5kZXJfY2IgZnVuY3Rpb24g
dXNlZCB0byByZW5kZXIgZ2l2ZW4gdGlsZSB1cGRhdGUuCiAgKiBAcGFyYW0gcmVuZGVyX2RhdGEg
Y29udGV4dCB0byBnaXZlIGJhY2sgdG8gQGEgcmVuZGVyX2NiLgogICoKICAqIEByZXR1cm4gbmV3
bHkgYWxsb2NhdGVkIGluc3RhbmNlIG9uIHN1Y2Nlc3MsIEBjIDAgb24gZmFpbHVyZS4KICAqLwot
RXdrX1RpbGVfTWF0cml4KiBld2tfdGlsZV9tYXRyaXhfbmV3KEV3a19UaWxlX1VudXNlZF9DYWNo
ZSogdGlsZVVudXNlZENhY2hlLCB1bnNpZ25lZCBsb25nIGNvbHVtbnMsIHVuc2lnbmVkIGxvbmcg
cm93cywgRXZhc19Db2xvcnNwYWNlIGNvbG9yU3BhY2UsIHZvaWQgKCpyZW5kZXJDYWxsYmFjayko
dm9pZCogZGF0YSwgRXdrX1RpbGUqIHRpbGUsIGNvbnN0IEVpbmFfUmVjdGFuZ2xlKiB1cGRhdGUp
LCBjb25zdCB2b2lkKiByZW5kZXJEYXRhKQorRXdrX1RpbGVfTWF0cml4KiBld2tfdGlsZV9tYXRy
aXhfbmV3KEV3a19UaWxlX1VudXNlZF9DYWNoZSogdGlsZVVudXNlZENhY2hlLCB1bnNpZ25lZCBs
b25nIGNvbHVtbnMsIHVuc2lnbmVkIGxvbmcgcm93cywgZmxvYXQgem9vbUxldmVsLCBFdmFzX0Nv
bG9yc3BhY2UgY29sb3JTcGFjZSwgdm9pZCAoKnJlbmRlckNhbGxiYWNrKSh2b2lkKiBkYXRhLCBF
d2tfVGlsZSogdGlsZSwgY29uc3QgRWluYV9SZWN0YW5nbGUqIHVwZGF0ZSksIGNvbnN0IHZvaWQq
IHJlbmRlckRhdGEpCiB7CiAgICAgRXdrX1RpbGVfTWF0cml4KiB0aWxlTWF0cml4ID0gc3RhdGlj
X2Nhc3Q8RXdrX1RpbGVfTWF0cml4Kj4oY2FsbG9jKDEsIHNpemVvZihFd2tfVGlsZV9NYXRyaXgp
KSk7CiAgICAgaWYgKCF0aWxlTWF0cml4KQpAQCAtMTU5LDYgKzIwNSw4IEBAIEV3a19UaWxlX01h
dHJpeCogZXdrX3RpbGVfbWF0cml4X25ldyhFd2tfVGlsZV9VbnVzZWRfQ2FjaGUqIHRpbGVVbnVz
ZWRDYWNoZSwgdW5zCiAgICAgICAgIHJldHVybiAwOwogICAgIH0KIAorICAgIGV3a190aWxlX21h
dHJpeF96b29tX2xldmVsX3NldCh0aWxlTWF0cml4LCB6b29tTGV2ZWwpOworCiAgICAgaWYgKHRp
bGVVbnVzZWRDYWNoZSkKICAgICAgICAgdGlsZU1hdHJpeC0+dGlsaWVVbnVzZWRDYWNoZSA9IGV3
a190aWxlX3VudXNlZF9jYWNoZV9yZWYodGlsZVVudXNlZENhY2hlKTsKICAgICBlbHNlIHsKQEAg
LTE4MCw2ICsyMjgsNTkgQEAgRXdrX1RpbGVfTWF0cml4KiBld2tfdGlsZV9tYXRyaXhfbmV3KEV3
a19UaWxlX1VudXNlZF9DYWNoZSogdGlsZVVudXNlZENhY2hlLCB1bnMKICAgICByZXR1cm4gdGls
ZU1hdHJpeDsKIH0KIAordm9pZCBld2tfdGlsZV9tYXRyaXhfem9vbV9sZXZlbF9zZXQoRXdrX1Rp
bGVfTWF0cml4KiB0aWxlTWF0cml4LCBmbG9hdCB6b29tKQoreworICAgIEVJTkFfU0FGRVRZX09O
X05VTExfUkVUVVJOKHRpbGVNYXRyaXgpOworICAgIEV3a19UaWxlX01hdHJpeF9FbnRyeSogaXRl
cmF0b3IgPSAwOworICAgIEV3a19UaWxlX01hdHJpeF9FbnRyeSogZW50cnkgPSAwOworICAgIHVu
c2lnbmVkIGxvbmcgcm93cyA9IDAsIGNvbHVtbnMgPSAwOworCisgICAgZWluYV9tYXRyaXhzcGFy
c2Vfc2l6ZV9nZXQodGlsZU1hdHJpeC0+bWF0cml4LCAmcm93cywgJmNvbHVtbnMpOworCisgICAg
RUlOQV9JTkxJU1RfRk9SRUFDSCh0aWxlTWF0cml4LT5tYXRyaWNlcywgaXRlcmF0b3IpIHsKKyAg
ICAgICAgaWYgKGl0ZXJhdG9yLT56b29tICE9IHpvb20pCisgICAgICAgICAgICBjb250aW51ZTsK
KyAgICAgICAgZW50cnkgPSBpdGVyYXRvcjsKKyAgICAgICAgdGlsZU1hdHJpeC0+bWF0cmljZXMg
PSBlaW5hX2lubGlzdF9wcm9tb3RlKHRpbGVNYXRyaXgtPm1hdHJpY2VzLCBFSU5BX0lOTElTVF9H
RVQoZW50cnkpKTsKKyAgICAgICAgZWluYV9tYXRyaXhzcGFyc2Vfc2l6ZV9zZXQoZW50cnktPm1h
dHJpeCwgcm93cywgY29sdW1ucyk7CisgICAgfQorCisgICAgaWYgKCFlbnRyeSkgeworICAgICAg
ICBlbnRyeSA9IHN0YXRpY19jYXN0PEV3a19UaWxlX01hdHJpeF9FbnRyeSo+KGNhbGxvYygxLCBz
aXplb2YoRXdrX1RpbGVfTWF0cml4X0VudHJ5KSkpOworICAgICAgICBlbnRyeS0+em9vbSA9IHpv
b207CisgICAgICAgIGVudHJ5LT5tYXRyaXggPSBlaW5hX21hdHJpeHNwYXJzZV9uZXcocm93cywg
Y29sdW1ucywgX2V3a190aWxlX21hdHJpeF9jZWxsX2ZyZWUsIHRpbGVNYXRyaXgpOworICAgICAg
ICBpZiAoIWVudHJ5LT5tYXRyaXgpIHsKKyAgICAgICAgICAgIEVSUigiY291bGQgbm90IGNyZWF0
ZSBzcGFyc2UgbWF0cml4LiIpOworICAgICAgICAgICAgZnJlZShlbnRyeSk7CisgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgdGlsZU1hdHJpeC0+bWF0cmljZXMgPSBlaW5h
X2lubGlzdF9wcmVwZW5kKHRpbGVNYXRyaXgtPm1hdHJpY2VzLCBFSU5BX0lOTElTVF9HRVQoZW50
cnkpKTsKKyAgICB9CisKKyAgICB0aWxlTWF0cml4LT5tYXRyaXggPSBlbnRyeS0+bWF0cml4Owor
fQorCit2b2lkIGV3a190aWxlX21hdHJpeF9pbnZhbGlkYXRlKEV3a19UaWxlX01hdHJpeCogdGls
ZU1hdHJpeCkKK3sKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTih0aWxlTWF0cml4KTsK
KyAgICBFd2tfVGlsZV9NYXRyaXhfRW50cnkqIGl0ZXJhdG9yOworICAgIEVpbmFfSW5saXN0KiBt
YXRyaXhMaXN0OworCisgICAgbWF0cml4TGlzdCA9IHRpbGVNYXRyaXgtPm1hdHJpY2VzOworICAg
IHdoaWxlIChtYXRyaXhMaXN0KSB7CisgICAgICAgIGl0ZXJhdG9yID0gRUlOQV9JTkxJU1RfQ09O
VEFJTkVSX0dFVChtYXRyaXhMaXN0LCBFd2tfVGlsZV9NYXRyaXhfRW50cnkpOworICAgICAgICBF
aW5hX0lubGlzdCAqbmV4dCA9IChtYXRyaXhMaXN0LT5uZXh0KSA/IG1hdHJpeExpc3QtPm5leHQg
OiAwOworCisgICAgICAgIGlmIChpdGVyYXRvci0+bWF0cml4ICE9IHRpbGVNYXRyaXgtPm1hdHJp
eCkgeworICAgICAgICAgICAgZWluYV9tYXRyaXhzcGFyc2VfZnJlZShpdGVyYXRvci0+bWF0cml4
KTsKKyAgICAgICAgICAgIHRpbGVNYXRyaXgtPm1hdHJpY2VzID0gZWluYV9pbmxpc3RfcmVtb3Zl
KHRpbGVNYXRyaXgtPm1hdHJpY2VzLCBtYXRyaXhMaXN0KTsKKyAgICAgICAgICAgIGZyZWUoaXRl
cmF0b3IpOworICAgICAgICB9CisKKyAgICAgICAgbWF0cml4TGlzdCA9IG5leHQ7CisgICAgfQor
fQorCiAvKioKICAqIERlc3Ryb3lzIHRpbGVzIG1hdHJpeCwgcmVsZWFzaW5nIGl0cyByZXNvdXJj
ZXMuCiAgKgpAQCAtMTg3LDYgKzI4OCw3IEBAIEV3a19UaWxlX01hdHJpeCogZXdrX3RpbGVfbWF0
cml4X25ldyhFd2tfVGlsZV9VbnVzZWRfQ2FjaGUqIHRpbGVVbnVzZWRDYWNoZSwgdW5zCiAgKi8K
IHZvaWQgZXdrX3RpbGVfbWF0cml4X2ZyZWUoRXdrX1RpbGVfTWF0cml4KiB0aWxlTWF0cml4KQog
eworICAgIEV3a19UaWxlX01hdHJpeF9FbnRyeSogZW50cnk7CiAjaWZkZWYgREVCVUdfTUVNX0xF
QUtTCiAgICAgdWludDY0X3QgdGlsZXMsIGJ5dGVzOwogI2VuZGlmCkBAIC0xOTQsNyArMjk2LDEy
IEBAIHZvaWQgZXdrX3RpbGVfbWF0cml4X2ZyZWUoRXdrX1RpbGVfTWF0cml4KiB0aWxlTWF0cml4
KQogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOKHRpbGVNYXRyaXgpOwogICAgIGV3a190
aWxlX3VudXNlZF9jYWNoZV9mcmVlemUodGlsZU1hdHJpeC0+dGlsaWVVbnVzZWRDYWNoZSk7CiAK
LSAgICBlaW5hX21hdHJpeHNwYXJzZV9mcmVlKHRpbGVNYXRyaXgtPm1hdHJpeCk7CisgICAgZXdr
X3RpbGVfdW51c2VkX2NhY2hlX2ZyZWV6ZSh0aWxlTWF0cml4LT50aWxpZVVudXNlZENhY2hlKTsK
KyAgICBld2tfdGlsZV9tYXRyaXhfaW52YWxpZGF0ZSh0aWxlTWF0cml4KTsKKyAgICBlbnRyeSA9
IEVJTkFfSU5MSVNUX0NPTlRBSU5FUl9HRVQodGlsZU1hdHJpeC0+bWF0cmljZXMsIEV3a19UaWxl
X01hdHJpeF9FbnRyeSk7CisgICAgZWluYV9tYXRyaXhzcGFyc2VfZnJlZShlbnRyeS0+bWF0cml4
KTsgICAgCisgICAgZnJlZShlbnRyeSk7CisgICAgdGlsZU1hdHJpeC0+bWF0cmljZXMgPSAwOwog
CiAgICAgZXdrX3RpbGVfdW51c2VkX2NhY2hlX3RoYXcodGlsZU1hdHJpeC0+dGlsaWVVbnVzZWRD
YWNoZSk7CiAgICAgZXdrX3RpbGVfdW51c2VkX2NhY2hlX3VucmVmKHRpbGVNYXRyaXgtPnRpbGll
VW51c2VkQ2FjaGUpOwpAQCAtMzIzLDkgKzQzMCwxNiBAQCBFd2tfVGlsZSogZXdrX3RpbGVfbWF0
cml4X3RpbGVfbmV3KEV3a19UaWxlX01hdHJpeCogdGlsZU1hdHJpeCwgRXZhcyogY2FudmFzLCB1
bgogewogICAgIEV2YXNfQ29vcmQgdGlsZVdpZHRoLCB0aWxlSGVpZ2h0OwogICAgIEV3a19UaWxl
KiB0aWxlOworICAgIEV3a19UaWxlX01hdHJpeF9FbnRyeSogZW50cnk7CiAKICAgICBFSU5BX1NB
RkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwodGlsZU1hdHJpeCwgMCk7CiAgICAgRUlOQV9TQUZFVFlf
T05fRkFMU0VfUkVUVVJOX1ZBTCh6b29tID4gMC4wLCAwKTsKKyAgICBlbnRyeSA9IGV3a190aWxl
X21hdHJpeF9lbnRyeV9nZXQodGlsZU1hdHJpeCwgem9vbSk7CisgICAgaWYgKCFlbnRyeSkgewor
ICAgICAgICBFUlIoImNvdWxkIG5vdCBnZXQgbWF0cml4IGF0IHpvb20gJWYgZm9yIHRpbGUiLCB6
b29tKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorICAgIGVudHJ5LT5jb3VudCsrOwogCiAg
ICAgdGlsZVdpZHRoID0gdGlsZU1hdHJpeC0+dGlsZS53aWR0aDsKICAgICB0aWxlSGVpZ2h0ID0g
dGlsZU1hdHJpeC0+dGlsZS5oZWlnaHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9l
d2svZXdrX3RpbGVkX21hdHJpeC5oIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxlZF9t
YXRyaXguaAppbmRleCBkM2RjNTE3Li5mZTZiNjY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2VmbC9ld2svZXdrX3RpbGVkX21hdHJpeC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9l
d2tfdGlsZWRfbWF0cml4LmgKQEAgLTI2LDEwICsyNiwxMiBAQAogI2luY2x1ZGUgPEV2YXMuaD4K
IAogLyogbWF0cml4IG9mIHRpbGVzICovCi1Fd2tfVGlsZV9NYXRyaXgqIGV3a190aWxlX21hdHJp
eF9uZXcoRXdrX1RpbGVfVW51c2VkX0NhY2hlKiB0dWMsIHVuc2lnbmVkIGxvbmcgY29scywgdW5z
aWduZWQgbG9uZyByb3dzLCBFdmFzX0NvbG9yc3BhY2UgY3NwYWNlLCB2b2lkICgqIHJlbmRlcl9j
Yikodm9pZCogZGF0YSwgRXdrX1RpbGUqIHQsIGNvbnN0IEVpbmFfUmVjdGFuZ2xlKiB1cGRhdGUp
LCBjb25zdCB2b2lkKiByZW5kZXJfZGF0YSk7CitFd2tfVGlsZV9NYXRyaXgqIGV3a190aWxlX21h
dHJpeF9uZXcoRXdrX1RpbGVfVW51c2VkX0NhY2hlKiB0aWxlVW51c2VkQ2FjaGUsIHVuc2lnbmVk
IGxvbmcgY29sdW1ucywgdW5zaWduZWQgbG9uZyByb3dzLCBmbG9hdCB6b29tTGV2ZWwsIEV2YXNf
Q29sb3JzcGFjZSBjb2xvclNwYWNlLCB2b2lkICgqcmVuZGVyX2NhbGxiYWNrKSh2b2lkKiBkYXRh
LCBFd2tfVGlsZSogdGlsZSwgY29uc3QgRWluYV9SZWN0YW5nbGUqIHVwZGF0ZSksIGNvbnN0IHZv
aWQqIHJlbmRlckRhdGEpOwogdm9pZCBld2tfdGlsZV9tYXRyaXhfZnJlZShFd2tfVGlsZV9NYXRy
aXgqIHRtKTsKIAogdm9pZCBld2tfdGlsZV9tYXRyaXhfcmVzaXplKEV3a19UaWxlX01hdHJpeCog
dG0sIHVuc2lnbmVkIGxvbmcgY29scywgdW5zaWduZWQgbG9uZyByb3dzKTsKK3ZvaWQgZXdrX3Rp
bGVfbWF0cml4X3pvb21fbGV2ZWxfc2V0KEV3a19UaWxlX01hdHJpeCogdGlsZU1hdHJpeCwgZmxv
YXQgem9vbSk7Cit2b2lkIGV3a190aWxlX21hdHJpeF9pbnZhbGlkYXRlKEV3a19UaWxlX01hdHJp
eCogdGlsZU1hdHJpeCk7CiAKIEV3a19UaWxlX1VudXNlZF9DYWNoZSogZXdrX3RpbGVfbWF0cml4
X3VudXNlZF9jYWNoZV9nZXQoY29uc3QgRXdrX1RpbGVfTWF0cml4KiB0bSk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115535</attachid>
            <date>2011-11-16 23:52:30 -0800</date>
            <delta_ts>2011-11-17 16:44:47 -0800</delta_ts>
            <desc>Patch rebased.</desc>
            <filename>1117_matrix_list.patch</filename>
            <type>text/plain</type>
            <size>12434</size>
            <attacher name="KwangHyuk">hyuki.kim</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCBiNDllMzM4Li43OWJkNzQ4IDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjggQEAKKzIwMTEtMTEtMTYgIEt3YW5nSHl1ayBLaW0gIDxoeXVraS5raW1Ac2Ft
c3VuZy5jb20+CisKKyAgICAgICAgW0VGTF0gQWRkIG1hdHJpeCBsaXN0IHRvIHJldXNlIHRpbGUg
bWF0cml4IGZvciBlYWNoIGRpZmZlcmVudCB6b29tIGxldmVsLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1OTUKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgbWF0cml4IGxpc3QgdG8ga2VlcCBlYWNo
IHRpbGUgbWF0cml4IGNvcnJlc3BvbmRpbmcgdG8gZWFjaCBkaWZmZXJlbnQgem9vbSBsZXZlbCB3
aGVuIHpvb20gbGV2ZWwgaXMgY2hhbmdlZC4KKyAgICAgICAgVGhlbiBiYWNraW5nIHN0b3JlIGNh
biByZXVzZSB0aWxlIG1hdHJpeCBieSBnZXR0aW5nIGl0IGZyb20gdGhpcyBtYXRyaXggbGlzdC4K
KworICAgICAgICAqIGV3ay9ld2tfdGlsZWRfYmFja2luZ19zdG9yZS5jcHA6CisgICAgICAgIChf
ZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfbW9kZWxfbWF0cml4X2NyZWF0ZSk6CisgICAgICAgIChf
ZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfc21hcnRfY2FsY3VsYXRlKToKKyAgICAgICAgKF9ld2tf
dGlsZWRfYmFja2luZ19zdG9yZV96b29tX3NldF9pbnRlcm5hbCk6CisgICAgICAgICogZXdrL2V3
a190aWxlZF9tYXRyaXguY3BwOgorICAgICAgICAoZXdrX3RpbGVfbWF0cml4X2VudHJ5X2dldCk6
CisgICAgICAgIChfZXdrX3RpbGVfbWF0cml4X2NlbGxfZnJlZSk6CisgICAgICAgIChfZXdrX3Rp
bGVfbWF0cml4X3RpbGVfZnJlZSk6CisgICAgICAgIChld2tfdGlsZV9tYXRyaXhfbmV3KToKKyAg
ICAgICAgKGV3a190aWxlX21hdHJpeF96b29tX2xldmVsX3NldCk6CisgICAgICAgIChld2tfdGls
ZV9tYXRyaXhfaW52YWxpZGF0ZSk6CisgICAgICAgIChld2tfdGlsZV9tYXRyaXhfZnJlZSk6Cisg
ICAgICAgIChld2tfdGlsZV9tYXRyaXhfdGlsZV9uZXcpOgorICAgICAgICAqIGV3ay9ld2tfdGls
ZWRfbWF0cml4Lmg6CisKIDIwMTEtMTEtMTYgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBz
YW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXSBVc2Ugc3RhbmRhcmQgYm9vbGVhbmQgZGF0YSB0
eXBlIGluIHN0cnVjdC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGls
ZWRfYmFja2luZ19zdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3RpbGVkX2Jh
Y2tpbmdfc3RvcmUuY3BwCmluZGV4IDU4YTdjNTkuLmE5Yjc4MTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfYmFja2luZ19zdG9yZS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9lZmwvZXdrL2V3a190aWxlZF9iYWNraW5nX3N0b3JlLmNwcApAQCAtNjE5LDcgKzYx
OSw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBfZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfbW9kZWxf
bWF0cml4X2NyZWF0ZShFd2tfVGlsZWRfQmFja2luCiAgICAgICAgIGV3a190aWxlX21hdHJpeF9m
cmVlKHByaXYtPm1vZGVsLm1hdHJpeCk7CiAgICAgfQogCi0gICAgcHJpdi0+bW9kZWwubWF0cml4
ID0gZXdrX3RpbGVfbWF0cml4X25ldyh0aWxlVW51c2VkQ2FjaGUsIHByaXYtPm1vZGVsLmN1cnJl
bnQuY29sdW1ucywgcHJpdi0+bW9kZWwuY3VycmVudC5yb3dzLCBwcml2LT5jb2xvclNwYWNlLCBf
ZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfcmVuZGVyLCBwcml2KTsKKyAgICBwcml2LT5tb2RlbC5t
YXRyaXggPSBld2tfdGlsZV9tYXRyaXhfbmV3KHRpbGVVbnVzZWRDYWNoZSwgcHJpdi0+bW9kZWwu
Y3VycmVudC5jb2x1bW5zLCBwcml2LT5tb2RlbC5jdXJyZW50LnJvd3MsIHByaXYtPnZpZXcudGls
ZS56b29tLCBwcml2LT5jb2xvclNwYWNlLCBfZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfcmVuZGVy
LCBwcml2KTsKIH0KIAogc3RhdGljIHZvaWQgX2V3a190aWxlZF9iYWNraW5nX3N0b3JlX3NtYXJ0
X21lbWJlcl9kZWwoRXZhc19PYmplY3QqIGV3a0JhY2tpbmdTdG9yZSwgRXZhc19PYmplY3QqIG1l
bWJlcikKQEAgLTEyOTgsNiArMTI5OCw5IEBAIHN0YXRpYyB2b2lkIF9ld2tfdGlsZWRfYmFja2lu
Z19zdG9yZV9zbWFydF9jYWxjdWxhdGUoRXZhc19PYmplY3QqIGV3a0JhY2tpbmdTdG9yCiAKICAg
ICBld2tfdGlsZV9tYXRyaXhfZnJlZXplKHByaXYtPm1vZGVsLm1hdHJpeCk7CiAKKyAgICBpZiAo
cHJpdi0+Y2hhbmdlZC5tb2RlbCAmJiAhcHJpdi0+Y2hhbmdlZC5zaXplKQorICAgICAgICBld2tf
dGlsZV9tYXRyaXhfaW52YWxpZGF0ZShwcml2LT5tb2RlbC5tYXRyaXgpOworCiAgICAgaWYgKCFw
cml2LT5yZW5kZXIuc3VzcGVuZCAmJiBwcml2LT5jaGFuZ2VkLm1vZGVsKSB7CiAgICAgICAgIHVu
c2lnbmVkIGxvbmcgY29sdW1ucywgcm93czsKIApAQCAtMTQ3Nyw2ICsxNDgwLDcgQEAgc3RhdGlj
IEVpbmFfQm9vbCBfZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfem9vbV9zZXRfaW50ZXJuYWwoRXdr
X1RpbGVkX0JhY2tpbmdfU3QKICAgICBwcml2LT52aWV3Lm9mZnNldC56b29tQ2VudGVyLnggPSBj
dXJyZW50WDsKICAgICBwcml2LT52aWV3Lm9mZnNldC56b29tQ2VudGVyLnkgPSBjdXJyZW50WTsK
IAorICAgIGV3a190aWxlX21hdHJpeF96b29tX2xldmVsX3NldChwcml2LT5tb2RlbC5tYXRyaXgs
ICp6b29tKTsKIAogICAgIGlmICghcHJpdi0+dmlldy53aWR0aCB8fCAhcHJpdi0+dmlldy5oZWln
aHQpIHsKICAgICAgICAgcHJpdi0+dmlldy5vZmZzZXQuYmFzZS54ID0gMDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfbWF0cml4LmNwcCBiL1NvdXJjZS9XZWJL
aXQvZWZsL2V3ay9ld2tfdGlsZWRfbWF0cml4LmNwcAppbmRleCAyZDU1NTQ0Li5lZjUzNjg4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3RpbGVkX21hdHJpeC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxlZF9tYXRyaXguY3BwCkBAIC0zMiw4ICsz
MiwxOCBAQAogI2luY2x1ZGUgPHN0ZGxpYi5oPgogI2luY2x1ZGUgPHN0cmluZy5oPgogCitzdHJ1
Y3QgX0V3a19UaWxlX01hdHJpeF9FbnRyeSB7CisgICAgRUlOQV9JTkxJU1Q7CisgICAgZmxvYXQg
em9vbTsKKyAgICB1bnNpZ25lZCBsb25nIGNvdW50OworICAgIEVpbmFfTWF0cml4c3BhcnNlKiBt
YXRyaXg7Cit9OworCit0eXBlZGVmIHN0cnVjdCBfRXdrX1RpbGVfTWF0cml4X0VudHJ5IEV3a19U
aWxlX01hdHJpeF9FbnRyeTsKKwogc3RydWN0IF9Fd2tfVGlsZV9NYXRyaXggewogICAgIEVpbmFf
TWF0cml4c3BhcnNlKiBtYXRyaXg7CisgICAgRWluYV9Jbmxpc3QqIG1hdHJpY2VzOwogICAgIEV3
a19UaWxlX1VudXNlZF9DYWNoZSogdGlsaWVVbnVzZWRDYWNoZTsKICAgICBFdmFzX0NvbG9yc3Bh
Y2UgY3NwYWNlOwogICAgIHN0cnVjdCB7CkBAIC01OSw2ICs2OSwxOSBAQCBzdGF0aWMgdWludDY0
X3QgdGlsZXNfbGVha2VkID0gMDsKIHN0YXRpYyB1aW50NjRfdCBieXRlc19sZWFrZWQgPSAwOwog
I2VuZGlmCiAKK3N0YXRpYyBFd2tfVGlsZV9NYXRyaXhfRW50cnkqIGV3a190aWxlX21hdHJpeF9l
bnRyeV9nZXQoRXdrX1RpbGVfTWF0cml4KiB0aWxlTWF0cml4LCBmbG9hdCB6b29tKQoreworICAg
IEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTCh0aWxlTWF0cml4LCAwKTsKKyAgICBFd2tf
VGlsZV9NYXRyaXhfRW50cnkqIGl0ZXJhdG9yOworCisgICAgRUlOQV9JTkxJU1RfRk9SRUFDSCh0
aWxlTWF0cml4LT5tYXRyaWNlcywgaXRlcmF0b3IpIHsKKyAgICAgICAgaWYgKGl0ZXJhdG9yLT56
b29tID09IHpvb20pCisgICAgICAgICAgICByZXR1cm4gaXRlcmF0b3I7CisgICAgfQorCisgICAg
cmV0dXJuIDA7Cit9CisKIC8qIGNhbGxlZCB3aGVuIG1hdHJpeHNwYXJzZSBpcyByZXNpemVkIG9y
IGZyZWVkICovCiBzdGF0aWMgdm9pZCBfZXdrX3RpbGVfbWF0cml4X2NlbGxfZnJlZSh2b2lkKiB1
c2VyRGF0YSwgdm9pZCogY2VsbERhdGEpCiB7CkBAIC03OSwxMSArMTAyLDE4IEBAIHN0YXRpYyB2
b2lkIF9ld2tfdGlsZV9tYXRyaXhfY2VsbF9mcmVlKHZvaWQqIHVzZXJEYXRhLCB2b2lkKiBjZWxs
RGF0YSkKICAgICAgICAgaWYgKCFld2tfdGlsZV91bnVzZWRfY2FjaGVfdGlsZV9nZXQodGlsZU1h
dHJpeC0+dGlsaWVVbnVzZWRDYWNoZSwgdGlsZSkpCiAgICAgICAgICAgICBFUlIoInRpbGUgJXAg
d2FzIG5vdCBpbiBjYWNoZSAlcD8gbGVha2luZy4uLiIsIHRpbGUsIHRpbGVNYXRyaXgtPnRpbGll
VW51c2VkQ2FjaGUpOwogICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIEV3a19UaWxlX01hdHJp
eF9FbnRyeSogZW50cnk7CiAgICAgICAgICAgICBEQkcoInRpbGUgY2VsbCBkb2VzIG5vdCBleGlz
dCBhbnltb3JlLCBmcmVlIGl0ICVwIiwgdGlsZSk7CiAjaWZkZWYgREVCVUdfTUVNX0xFQUtTCiAg
ICAgICAgICAgICB0aWxlTWF0cml4LT5zdGF0cy5ieXRlcy5mcmVlZCArPSB0aWxlLT5ieXRlczsK
ICAgICAgICAgICAgIHRpbGVNYXRyaXgtPnN0YXRzLnRpbGVzLmZyZWVkKys7CiAjZW5kaWYKKyAg
ICAgICAgICAgIGVudHJ5ID0gZXdrX3RpbGVfbWF0cml4X2VudHJ5X2dldCh0aWxlTWF0cml4LCB0
aWxlLT56b29tKTsKKyAgICAgICAgICAgIGlmICghZW50cnkpCisgICAgICAgICAgICAgICAgRVJS
KCJjYW4ndCBmaW5kIG1hdHJpeCBmb3Igem9vbSAlMC4zZiIsIHRpbGUtPnpvb20pOworICAgICAg
ICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGVudHJ5LT5jb3VudC0tOworCiAgICAgICAgICAg
ICBld2tfdGlsZV9mcmVlKHRpbGUpOwogICAgICAgICB9CiAgICAgfQpAQCAtOTUsOSArMTI1LDE3
IEBAIHN0YXRpYyB2b2lkIF9ld2tfdGlsZV9tYXRyaXhfY2VsbF9mcmVlKHZvaWQqIHVzZXJEYXRh
LCB2b2lkKiBjZWxsRGF0YSkKIHN0YXRpYyB2b2lkIF9ld2tfdGlsZV9tYXRyaXhfdGlsZV9mcmVl
KHZvaWQqIGRhdGEsIEV3a19UaWxlKiB0aWxlKQogewogICAgIEV3a19UaWxlX01hdHJpeCogdGls
ZU1hdHJpeCA9IHN0YXRpY19jYXN0PEV3a19UaWxlX01hdHJpeCo+KGRhdGEpOworICAgIEV3a19U
aWxlX01hdHJpeF9FbnRyeSogZW50cnk7CiAgICAgRWluYV9NYXRyaXhzcGFyc2VfQ2VsbCogY2Vs
bDsKIAotICAgIGlmICghZWluYV9tYXRyaXhzcGFyc2VfY2VsbF9pZHhfZ2V0KHRpbGVNYXRyaXgt
Pm1hdHJpeCwgdGlsZS0+cm93LCB0aWxlLT5jb2wsICZjZWxsKSkgeworICAgIGVudHJ5ID0gZXdr
X3RpbGVfbWF0cml4X2VudHJ5X2dldCh0aWxlTWF0cml4LCB0aWxlLT56b29tKTsKKyAgICBpZiAo
IWVudHJ5KSB7CisgICAgICAgIEVSUigicmVtb3ZpbmcgdGlsZSAlcCB0aGF0IHdhcyBub3QgaW4g
YW55IG1hdHJpeD8gTGVha2luZy4uLiIsIHRpbGUpOworICAgICAgICByZXR1cm47CisgICAgfQor
CisgICAgaWYgKCFlaW5hX21hdHJpeHNwYXJzZV9jZWxsX2lkeF9nZXQoZW50cnktPm1hdHJpeCwg
dGlsZS0+cm93LCB0aWxlLT5jb2wsICZjZWxsKSkgeworCiAgICAgICAgIEVSUigicmVtb3Zpbmcg
dGlsZSAlcCB0aGF0IHdhcyBub3QgaW4gdGhlIG1hdHJpeD8gTGVha2luZy4uLiIsIHRpbGUpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTI1LDYgKzE2MywxMyBAQCBzdGF0aWMgdm9pZCBf
ZXdrX3RpbGVfbWF0cml4X3RpbGVfZnJlZSh2b2lkKiBkYXRhLCBFd2tfVGlsZSogdGlsZSkKICAg
ICB0aWxlTWF0cml4LT5zdGF0cy50aWxlcy5mcmVlZCsrOwogI2VuZGlmCiAKKyAgICBlbnRyeS0+
Y291bnQtLTsKKyAgICBpZiAoIWVudHJ5LT5jb3VudCAmJiBlbnRyeS0+bWF0cml4ICE9IHRpbGVN
YXRyaXgtPm1hdHJpeCkgeworICAgICAgICBlaW5hX21hdHJpeHNwYXJzZV9mcmVlKGVudHJ5LT5t
YXRyaXgpOworICAgICAgICB0aWxlTWF0cml4LT5tYXRyaWNlcyA9IGVpbmFfaW5saXN0X3JlbW92
ZSh0aWxlTWF0cml4LT5tYXRyaWNlcywgRUlOQV9JTkxJU1RfR0VUKGVudHJ5KSk7CisgICAgICAg
IGZyZWUoZW50cnkpOworICAgIH0KKwogICAgIGV3a190aWxlX2ZyZWUodGlsZSk7CiB9CiAKQEAg
LTE0MCwxMyArMTg1LDE0IEBAIHN0YXRpYyB2b2lkIF9ld2tfdGlsZV9tYXRyaXhfdGlsZV9mcmVl
KHZvaWQqIGRhdGEsIEV3a19UaWxlKiB0aWxlKQogICogICAgICAgIGF1dG9tYXRpY2FsbHkuCiAg
KiBAcGFyYW0gY29sdW1ucyBudW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgbWF0cml4LgogICogQHBh
cmFtIHJvd3MgbnVtYmVyIG9mIHJvd3MgaW4gdGhlIG1hdHJpeC4KKyAqIEBwYXJhbSB6b29tTGV2
ZWwgem9vbSBsZXZlbCBmb3IgdGhlIG1hdHJpeC4KICAqIEBwYXJhbSBjc3BhY2UgdGhlIGNvbG9y
IHNwYWNlIHVzZWQgdG8gY3JlYXRlIHRpbGVzIGluIHRoaXMgbWF0cml4LgogICogQHBhcmFtIHJl
bmRlcl9jYiBmdW5jdGlvbiB1c2VkIHRvIHJlbmRlciBnaXZlbiB0aWxlIHVwZGF0ZS4KICAqIEBw
YXJhbSByZW5kZXJfZGF0YSBjb250ZXh0IHRvIGdpdmUgYmFjayB0byBAYSByZW5kZXJfY2IuCiAg
KgogICogQHJldHVybiBuZXdseSBhbGxvY2F0ZWQgaW5zdGFuY2Ugb24gc3VjY2VzcywgQGMgMCBv
biBmYWlsdXJlLgogICovCi1Fd2tfVGlsZV9NYXRyaXgqIGV3a190aWxlX21hdHJpeF9uZXcoRXdr
X1RpbGVfVW51c2VkX0NhY2hlKiB0aWxlVW51c2VkQ2FjaGUsIHVuc2lnbmVkIGxvbmcgY29sdW1u
cywgdW5zaWduZWQgbG9uZyByb3dzLCBFdmFzX0NvbG9yc3BhY2UgY29sb3JTcGFjZSwgdm9pZCAo
KnJlbmRlckNhbGxiYWNrKSh2b2lkKiBkYXRhLCBFd2tfVGlsZSogdGlsZSwgY29uc3QgRWluYV9S
ZWN0YW5nbGUqIHVwZGF0ZSksIGNvbnN0IHZvaWQqIHJlbmRlckRhdGEpCitFd2tfVGlsZV9NYXRy
aXgqIGV3a190aWxlX21hdHJpeF9uZXcoRXdrX1RpbGVfVW51c2VkX0NhY2hlKiB0aWxlVW51c2Vk
Q2FjaGUsIHVuc2lnbmVkIGxvbmcgY29sdW1ucywgdW5zaWduZWQgbG9uZyByb3dzLCBmbG9hdCB6
b29tTGV2ZWwsIEV2YXNfQ29sb3JzcGFjZSBjb2xvclNwYWNlLCB2b2lkICgqcmVuZGVyQ2FsbGJh
Y2spKHZvaWQqIGRhdGEsIEV3a19UaWxlKiB0aWxlLCBjb25zdCBFaW5hX1JlY3RhbmdsZSogdXBk
YXRlKSwgY29uc3Qgdm9pZCogcmVuZGVyRGF0YSkKIHsKICAgICBFd2tfVGlsZV9NYXRyaXgqIHRp
bGVNYXRyaXggPSBzdGF0aWNfY2FzdDxFd2tfVGlsZV9NYXRyaXgqPihjYWxsb2MoMSwgc2l6ZW9m
KEV3a19UaWxlX01hdHJpeCkpKTsKICAgICBpZiAoIXRpbGVNYXRyaXgpCkBAIC0xNTksNiArMjA1
LDggQEAgRXdrX1RpbGVfTWF0cml4KiBld2tfdGlsZV9tYXRyaXhfbmV3KEV3a19UaWxlX1VudXNl
ZF9DYWNoZSogdGlsZVVudXNlZENhY2hlLCB1bnMKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQog
CisgICAgZXdrX3RpbGVfbWF0cml4X3pvb21fbGV2ZWxfc2V0KHRpbGVNYXRyaXgsIHpvb21MZXZl
bCk7CisKICAgICBpZiAodGlsZVVudXNlZENhY2hlKQogICAgICAgICB0aWxlTWF0cml4LT50aWxp
ZVVudXNlZENhY2hlID0gZXdrX3RpbGVfdW51c2VkX2NhY2hlX3JlZih0aWxlVW51c2VkQ2FjaGUp
OwogICAgIGVsc2UgewpAQCAtMTgwLDYgKzIyOCw1OSBAQCBFd2tfVGlsZV9NYXRyaXgqIGV3a190
aWxlX21hdHJpeF9uZXcoRXdrX1RpbGVfVW51c2VkX0NhY2hlKiB0aWxlVW51c2VkQ2FjaGUsIHVu
cwogICAgIHJldHVybiB0aWxlTWF0cml4OwogfQogCit2b2lkIGV3a190aWxlX21hdHJpeF96b29t
X2xldmVsX3NldChFd2tfVGlsZV9NYXRyaXgqIHRpbGVNYXRyaXgsIGZsb2F0IHpvb20pCit7Cisg
ICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk4odGlsZU1hdHJpeCk7CisgICAgRXdrX1RpbGVf
TWF0cml4X0VudHJ5KiBpdGVyYXRvciA9IDA7CisgICAgRXdrX1RpbGVfTWF0cml4X0VudHJ5KiBl
bnRyeSA9IDA7CisgICAgdW5zaWduZWQgbG9uZyByb3dzID0gMCwgY29sdW1ucyA9IDA7CisKKyAg
ICBlaW5hX21hdHJpeHNwYXJzZV9zaXplX2dldCh0aWxlTWF0cml4LT5tYXRyaXgsICZyb3dzLCAm
Y29sdW1ucyk7CisKKyAgICBFSU5BX0lOTElTVF9GT1JFQUNIKHRpbGVNYXRyaXgtPm1hdHJpY2Vz
LCBpdGVyYXRvcikgeworICAgICAgICBpZiAoaXRlcmF0b3ItPnpvb20gIT0gem9vbSkKKyAgICAg
ICAgICAgIGNvbnRpbnVlOworICAgICAgICBlbnRyeSA9IGl0ZXJhdG9yOworICAgICAgICB0aWxl
TWF0cml4LT5tYXRyaWNlcyA9IGVpbmFfaW5saXN0X3Byb21vdGUodGlsZU1hdHJpeC0+bWF0cmlj
ZXMsIEVJTkFfSU5MSVNUX0dFVChlbnRyeSkpOworICAgICAgICBlaW5hX21hdHJpeHNwYXJzZV9z
aXplX3NldChlbnRyeS0+bWF0cml4LCByb3dzLCBjb2x1bW5zKTsKKyAgICB9CisKKyAgICBpZiAo
IWVudHJ5KSB7CisgICAgICAgIGVudHJ5ID0gc3RhdGljX2Nhc3Q8RXdrX1RpbGVfTWF0cml4X0Vu
dHJ5Kj4oY2FsbG9jKDEsIHNpemVvZihFd2tfVGlsZV9NYXRyaXhfRW50cnkpKSk7CisgICAgICAg
IGVudHJ5LT56b29tID0gem9vbTsKKyAgICAgICAgZW50cnktPm1hdHJpeCA9IGVpbmFfbWF0cml4
c3BhcnNlX25ldyhyb3dzLCBjb2x1bW5zLCBfZXdrX3RpbGVfbWF0cml4X2NlbGxfZnJlZSwgdGls
ZU1hdHJpeCk7CisgICAgICAgIGlmICghZW50cnktPm1hdHJpeCkgeworICAgICAgICAgICAgRVJS
KCJjb3VsZCBub3QgY3JlYXRlIHNwYXJzZSBtYXRyaXguIik7CisgICAgICAgICAgICBmcmVlKGVu
dHJ5KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICB0aWxlTWF0cml4
LT5tYXRyaWNlcyA9IGVpbmFfaW5saXN0X3ByZXBlbmQodGlsZU1hdHJpeC0+bWF0cmljZXMsIEVJ
TkFfSU5MSVNUX0dFVChlbnRyeSkpOworICAgIH0KKworICAgIHRpbGVNYXRyaXgtPm1hdHJpeCA9
IGVudHJ5LT5tYXRyaXg7Cit9CisKK3ZvaWQgZXdrX3RpbGVfbWF0cml4X2ludmFsaWRhdGUoRXdr
X1RpbGVfTWF0cml4KiB0aWxlTWF0cml4KQoreworICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVU
VVJOKHRpbGVNYXRyaXgpOworICAgIEV3a19UaWxlX01hdHJpeF9FbnRyeSogaXRlcmF0b3I7Cisg
ICAgRWluYV9Jbmxpc3QqIG1hdHJpeExpc3Q7CisKKyAgICBtYXRyaXhMaXN0ID0gdGlsZU1hdHJp
eC0+bWF0cmljZXM7CisgICAgd2hpbGUgKG1hdHJpeExpc3QpIHsKKyAgICAgICAgaXRlcmF0b3Ig
PSBFSU5BX0lOTElTVF9DT05UQUlORVJfR0VUKG1hdHJpeExpc3QsIEV3a19UaWxlX01hdHJpeF9F
bnRyeSk7CisgICAgICAgIEVpbmFfSW5saXN0ICpuZXh0ID0gKG1hdHJpeExpc3QtPm5leHQpID8g
bWF0cml4TGlzdC0+bmV4dCA6IDA7CisKKyAgICAgICAgaWYgKGl0ZXJhdG9yLT5tYXRyaXggIT0g
dGlsZU1hdHJpeC0+bWF0cml4KSB7CisgICAgICAgICAgICBlaW5hX21hdHJpeHNwYXJzZV9mcmVl
KGl0ZXJhdG9yLT5tYXRyaXgpOworICAgICAgICAgICAgdGlsZU1hdHJpeC0+bWF0cmljZXMgPSBl
aW5hX2lubGlzdF9yZW1vdmUodGlsZU1hdHJpeC0+bWF0cmljZXMsIG1hdHJpeExpc3QpOworICAg
ICAgICAgICAgZnJlZShpdGVyYXRvcik7CisgICAgICAgIH0KKworICAgICAgICBtYXRyaXhMaXN0
ID0gbmV4dDsKKyAgICB9Cit9CisKIC8qKgogICogRGVzdHJveXMgdGlsZXMgbWF0cml4LCByZWxl
YXNpbmcgaXRzIHJlc291cmNlcy4KICAqCkBAIC0xODcsNiArMjg4LDcgQEAgRXdrX1RpbGVfTWF0
cml4KiBld2tfdGlsZV9tYXRyaXhfbmV3KEV3a19UaWxlX1VudXNlZF9DYWNoZSogdGlsZVVudXNl
ZENhY2hlLCB1bnMKICAqLwogdm9pZCBld2tfdGlsZV9tYXRyaXhfZnJlZShFd2tfVGlsZV9NYXRy
aXgqIHRpbGVNYXRyaXgpCiB7CisgICAgRXdrX1RpbGVfTWF0cml4X0VudHJ5KiBlbnRyeTsKICNp
ZmRlZiBERUJVR19NRU1fTEVBS1MKICAgICB1aW50NjRfdCB0aWxlcywgYnl0ZXM7CiAjZW5kaWYK
QEAgLTE5NCw3ICsyOTYsMTIgQEAgdm9pZCBld2tfdGlsZV9tYXRyaXhfZnJlZShFd2tfVGlsZV9N
YXRyaXgqIHRpbGVNYXRyaXgpCiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk4odGlsZU1h
dHJpeCk7CiAgICAgZXdrX3RpbGVfdW51c2VkX2NhY2hlX2ZyZWV6ZSh0aWxlTWF0cml4LT50aWxp
ZVVudXNlZENhY2hlKTsKIAotICAgIGVpbmFfbWF0cml4c3BhcnNlX2ZyZWUodGlsZU1hdHJpeC0+
bWF0cml4KTsKKyAgICBld2tfdGlsZV91bnVzZWRfY2FjaGVfZnJlZXplKHRpbGVNYXRyaXgtPnRp
bGllVW51c2VkQ2FjaGUpOworICAgIGV3a190aWxlX21hdHJpeF9pbnZhbGlkYXRlKHRpbGVNYXRy
aXgpOworICAgIGVudHJ5ID0gRUlOQV9JTkxJU1RfQ09OVEFJTkVSX0dFVCh0aWxlTWF0cml4LT5t
YXRyaWNlcywgRXdrX1RpbGVfTWF0cml4X0VudHJ5KTsKKyAgICBlaW5hX21hdHJpeHNwYXJzZV9m
cmVlKGVudHJ5LT5tYXRyaXgpOyAgICAKKyAgICBmcmVlKGVudHJ5KTsKKyAgICB0aWxlTWF0cml4
LT5tYXRyaWNlcyA9IDA7CiAKICAgICBld2tfdGlsZV91bnVzZWRfY2FjaGVfdGhhdyh0aWxlTWF0
cml4LT50aWxpZVVudXNlZENhY2hlKTsKICAgICBld2tfdGlsZV91bnVzZWRfY2FjaGVfdW5yZWYo
dGlsZU1hdHJpeC0+dGlsaWVVbnVzZWRDYWNoZSk7CkBAIC0zMjMsOSArNDMwLDE2IEBAIEV3a19U
aWxlKiBld2tfdGlsZV9tYXRyaXhfdGlsZV9uZXcoRXdrX1RpbGVfTWF0cml4KiB0aWxlTWF0cml4
LCBFdmFzKiBjYW52YXMsIHVuCiB7CiAgICAgRXZhc19Db29yZCB0aWxlV2lkdGgsIHRpbGVIZWln
aHQ7CiAgICAgRXdrX1RpbGUqIHRpbGU7CisgICAgRXdrX1RpbGVfTWF0cml4X0VudHJ5KiBlbnRy
eTsKIAogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTCh0aWxlTWF0cml4LCAwKTsK
ICAgICBFSU5BX1NBRkVUWV9PTl9GQUxTRV9SRVRVUk5fVkFMKHpvb20gPiAwLjAsIDApOworICAg
IGVudHJ5ID0gZXdrX3RpbGVfbWF0cml4X2VudHJ5X2dldCh0aWxlTWF0cml4LCB6b29tKTsKKyAg
ICBpZiAoIWVudHJ5KSB7CisgICAgICAgIEVSUigiY291bGQgbm90IGdldCBtYXRyaXggYXQgem9v
bSAlZiBmb3IgdGlsZSIsIHpvb20pOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgZW50
cnktPmNvdW50Kys7CiAKICAgICB0aWxlV2lkdGggPSB0aWxlTWF0cml4LT50aWxlLndpZHRoOwog
ICAgIHRpbGVIZWlnaHQgPSB0aWxlTWF0cml4LT50aWxlLmhlaWdodDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfbWF0cml4LmggYi9Tb3VyY2UvV2ViS2l0L2Vm
bC9ld2svZXdrX3RpbGVkX21hdHJpeC5oCmluZGV4IGQzZGM1MTcuLmZlNmI2NjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfbWF0cml4LmgKKysrIGIvU291cmNl
L1dlYktpdC9lZmwvZXdrL2V3a190aWxlZF9tYXRyaXguaApAQCAtMjYsMTAgKzI2LDEyIEBACiAj
aW5jbHVkZSA8RXZhcy5oPgogCiAvKiBtYXRyaXggb2YgdGlsZXMgKi8KLUV3a19UaWxlX01hdHJp
eCogZXdrX3RpbGVfbWF0cml4X25ldyhFd2tfVGlsZV9VbnVzZWRfQ2FjaGUqIHR1YywgdW5zaWdu
ZWQgbG9uZyBjb2xzLCB1bnNpZ25lZCBsb25nIHJvd3MsIEV2YXNfQ29sb3JzcGFjZSBjc3BhY2Us
IHZvaWQgKCogcmVuZGVyX2NiKSh2b2lkKiBkYXRhLCBFd2tfVGlsZSogdCwgY29uc3QgRWluYV9S
ZWN0YW5nbGUqIHVwZGF0ZSksIGNvbnN0IHZvaWQqIHJlbmRlcl9kYXRhKTsKK0V3a19UaWxlX01h
dHJpeCogZXdrX3RpbGVfbWF0cml4X25ldyhFd2tfVGlsZV9VbnVzZWRfQ2FjaGUqIHRpbGVVbnVz
ZWRDYWNoZSwgdW5zaWduZWQgbG9uZyBjb2x1bW5zLCB1bnNpZ25lZCBsb25nIHJvd3MsIGZsb2F0
IHpvb21MZXZlbCwgRXZhc19Db2xvcnNwYWNlIGNvbG9yU3BhY2UsIHZvaWQgKCpyZW5kZXJfY2Fs
bGJhY2spKHZvaWQqIGRhdGEsIEV3a19UaWxlKiB0aWxlLCBjb25zdCBFaW5hX1JlY3RhbmdsZSog
dXBkYXRlKSwgY29uc3Qgdm9pZCogcmVuZGVyRGF0YSk7CiB2b2lkIGV3a190aWxlX21hdHJpeF9m
cmVlKEV3a19UaWxlX01hdHJpeCogdG0pOwogCiB2b2lkIGV3a190aWxlX21hdHJpeF9yZXNpemUo
RXdrX1RpbGVfTWF0cml4KiB0bSwgdW5zaWduZWQgbG9uZyBjb2xzLCB1bnNpZ25lZCBsb25nIHJv
d3MpOwordm9pZCBld2tfdGlsZV9tYXRyaXhfem9vbV9sZXZlbF9zZXQoRXdrX1RpbGVfTWF0cml4
KiB0aWxlTWF0cml4LCBmbG9hdCB6b29tKTsKK3ZvaWQgZXdrX3RpbGVfbWF0cml4X2ludmFsaWRh
dGUoRXdrX1RpbGVfTWF0cml4KiB0aWxlTWF0cml4KTsKIAogRXdrX1RpbGVfVW51c2VkX0NhY2hl
KiBld2tfdGlsZV9tYXRyaXhfdW51c2VkX2NhY2hlX2dldChjb25zdCBFd2tfVGlsZV9NYXRyaXgq
IHRtKTsKIAo=
</data>
<flag name="review"
          id="114474"
          type_id="1"
          status="+"
          setter="kenneth"
    />
    <flag name="commit-queue"
          id="114475"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115709</attachid>
            <date>2011-11-17 16:44:47 -0800</date>
            <delta_ts>2011-11-17 21:52:49 -0800</delta_ts>
            <desc>Patch rebased.</desc>
            <filename>1117_matrix_list_2.patch</filename>
            <type>text/plain</type>
            <size>12446</size>
            <attacher name="KwangHyuk">hyuki.kim</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCBiNDllMzM4Li5hNWVlMDU5IDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjggQEAKKzIwMTEtMTEtMTcgIEt3YW5nSHl1ayBLaW0gIDxoeXVraS5raW1Ac2Ft
c3VuZy5jb20+CisKKyAgICAgICAgW0VGTF0gQWRkIG1hdHJpeCBsaXN0IHRvIHJldXNlIHRpbGUg
bWF0cml4IGZvciBlYWNoIGRpZmZlcmVudCB6b29tIGxldmVsLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1OTUKKworICAgICAgICBSZXZpZXdlZCBi
eSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KKworICAgICAgICBBZGQgbWF0cml4IGxpc3Qg
dG8ga2VlcCBlYWNoIHRpbGUgbWF0cml4IGNvcnJlc3BvbmRpbmcgdG8gZWFjaCBkaWZmZXJlbnQg
em9vbSBsZXZlbCB3aGVuIHpvb20gbGV2ZWwgaXMgY2hhbmdlZC4KKyAgICAgICAgVGhlbiBiYWNr
aW5nIHN0b3JlIGNhbiByZXVzZSB0aWxlIG1hdHJpeCBieSBnZXR0aW5nIGl0IGZyb20gdGhpcyBt
YXRyaXggbGlzdC4KKworICAgICAgICAqIGV3ay9ld2tfdGlsZWRfYmFja2luZ19zdG9yZS5jcHA6
CisgICAgICAgIChfZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfbW9kZWxfbWF0cml4X2NyZWF0ZSk6
CisgICAgICAgIChfZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfc21hcnRfY2FsY3VsYXRlKToKKyAg
ICAgICAgKF9ld2tfdGlsZWRfYmFja2luZ19zdG9yZV96b29tX3NldF9pbnRlcm5hbCk6CisgICAg
ICAgICogZXdrL2V3a190aWxlZF9tYXRyaXguY3BwOgorICAgICAgICAoZXdrX3RpbGVfbWF0cml4
X2VudHJ5X2dldCk6CisgICAgICAgIChfZXdrX3RpbGVfbWF0cml4X2NlbGxfZnJlZSk6CisgICAg
ICAgIChfZXdrX3RpbGVfbWF0cml4X3RpbGVfZnJlZSk6CisgICAgICAgIChld2tfdGlsZV9tYXRy
aXhfbmV3KToKKyAgICAgICAgKGV3a190aWxlX21hdHJpeF96b29tX2xldmVsX3NldCk6CisgICAg
ICAgIChld2tfdGlsZV9tYXRyaXhfaW52YWxpZGF0ZSk6CisgICAgICAgIChld2tfdGlsZV9tYXRy
aXhfZnJlZSk6CisgICAgICAgIChld2tfdGlsZV9tYXRyaXhfdGlsZV9uZXcpOgorICAgICAgICAq
IGV3ay9ld2tfdGlsZWRfbWF0cml4Lmg6CisKIDIwMTEtMTEtMTYgIEd5dXlvdW5nIEtpbSAgPGd5
dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXSBVc2Ugc3RhbmRhcmQgYm9v
bGVhbmQgZGF0YSB0eXBlIGluIHN0cnVjdC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZs
L2V3ay9ld2tfdGlsZWRfYmFja2luZ19zdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmUuY3BwCmluZGV4IDU4YTdjNTkuLmE5Yjc4MTIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfYmFja2luZ19zdG9yZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxlZF9iYWNraW5nX3N0b3JlLmNwcApA
QCAtNjE5LDcgKzYxOSw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBfZXdrX3RpbGVkX2JhY2tpbmdf
c3RvcmVfbW9kZWxfbWF0cml4X2NyZWF0ZShFd2tfVGlsZWRfQmFja2luCiAgICAgICAgIGV3a190
aWxlX21hdHJpeF9mcmVlKHByaXYtPm1vZGVsLm1hdHJpeCk7CiAgICAgfQogCi0gICAgcHJpdi0+
bW9kZWwubWF0cml4ID0gZXdrX3RpbGVfbWF0cml4X25ldyh0aWxlVW51c2VkQ2FjaGUsIHByaXYt
Pm1vZGVsLmN1cnJlbnQuY29sdW1ucywgcHJpdi0+bW9kZWwuY3VycmVudC5yb3dzLCBwcml2LT5j
b2xvclNwYWNlLCBfZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfcmVuZGVyLCBwcml2KTsKKyAgICBw
cml2LT5tb2RlbC5tYXRyaXggPSBld2tfdGlsZV9tYXRyaXhfbmV3KHRpbGVVbnVzZWRDYWNoZSwg
cHJpdi0+bW9kZWwuY3VycmVudC5jb2x1bW5zLCBwcml2LT5tb2RlbC5jdXJyZW50LnJvd3MsIHBy
aXYtPnZpZXcudGlsZS56b29tLCBwcml2LT5jb2xvclNwYWNlLCBfZXdrX3RpbGVkX2JhY2tpbmdf
c3RvcmVfcmVuZGVyLCBwcml2KTsKIH0KIAogc3RhdGljIHZvaWQgX2V3a190aWxlZF9iYWNraW5n
X3N0b3JlX3NtYXJ0X21lbWJlcl9kZWwoRXZhc19PYmplY3QqIGV3a0JhY2tpbmdTdG9yZSwgRXZh
c19PYmplY3QqIG1lbWJlcikKQEAgLTEyOTgsNiArMTI5OCw5IEBAIHN0YXRpYyB2b2lkIF9ld2tf
dGlsZWRfYmFja2luZ19zdG9yZV9zbWFydF9jYWxjdWxhdGUoRXZhc19PYmplY3QqIGV3a0JhY2tp
bmdTdG9yCiAKICAgICBld2tfdGlsZV9tYXRyaXhfZnJlZXplKHByaXYtPm1vZGVsLm1hdHJpeCk7
CiAKKyAgICBpZiAocHJpdi0+Y2hhbmdlZC5tb2RlbCAmJiAhcHJpdi0+Y2hhbmdlZC5zaXplKQor
ICAgICAgICBld2tfdGlsZV9tYXRyaXhfaW52YWxpZGF0ZShwcml2LT5tb2RlbC5tYXRyaXgpOwor
CiAgICAgaWYgKCFwcml2LT5yZW5kZXIuc3VzcGVuZCAmJiBwcml2LT5jaGFuZ2VkLm1vZGVsKSB7
CiAgICAgICAgIHVuc2lnbmVkIGxvbmcgY29sdW1ucywgcm93czsKIApAQCAtMTQ3Nyw2ICsxNDgw
LDcgQEAgc3RhdGljIEVpbmFfQm9vbCBfZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfem9vbV9zZXRf
aW50ZXJuYWwoRXdrX1RpbGVkX0JhY2tpbmdfU3QKICAgICBwcml2LT52aWV3Lm9mZnNldC56b29t
Q2VudGVyLnggPSBjdXJyZW50WDsKICAgICBwcml2LT52aWV3Lm9mZnNldC56b29tQ2VudGVyLnkg
PSBjdXJyZW50WTsKIAorICAgIGV3a190aWxlX21hdHJpeF96b29tX2xldmVsX3NldChwcml2LT5t
b2RlbC5tYXRyaXgsICp6b29tKTsKIAogICAgIGlmICghcHJpdi0+dmlldy53aWR0aCB8fCAhcHJp
di0+dmlldy5oZWlnaHQpIHsKICAgICAgICAgcHJpdi0+dmlldy5vZmZzZXQuYmFzZS54ID0gMDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfbWF0cml4LmNwcCBi
L1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfbWF0cml4LmNwcAppbmRleCAyZDU1NTQ0
Li5lZjUzNjg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3RpbGVkX21h
dHJpeC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxlZF9tYXRyaXguY3Bw
CkBAIC0zMiw4ICszMiwxOCBAQAogI2luY2x1ZGUgPHN0ZGxpYi5oPgogI2luY2x1ZGUgPHN0cmlu
Zy5oPgogCitzdHJ1Y3QgX0V3a19UaWxlX01hdHJpeF9FbnRyeSB7CisgICAgRUlOQV9JTkxJU1Q7
CisgICAgZmxvYXQgem9vbTsKKyAgICB1bnNpZ25lZCBsb25nIGNvdW50OworICAgIEVpbmFfTWF0
cml4c3BhcnNlKiBtYXRyaXg7Cit9OworCit0eXBlZGVmIHN0cnVjdCBfRXdrX1RpbGVfTWF0cml4
X0VudHJ5IEV3a19UaWxlX01hdHJpeF9FbnRyeTsKKwogc3RydWN0IF9Fd2tfVGlsZV9NYXRyaXgg
ewogICAgIEVpbmFfTWF0cml4c3BhcnNlKiBtYXRyaXg7CisgICAgRWluYV9Jbmxpc3QqIG1hdHJp
Y2VzOwogICAgIEV3a19UaWxlX1VudXNlZF9DYWNoZSogdGlsaWVVbnVzZWRDYWNoZTsKICAgICBF
dmFzX0NvbG9yc3BhY2UgY3NwYWNlOwogICAgIHN0cnVjdCB7CkBAIC01OSw2ICs2OSwxOSBAQCBz
dGF0aWMgdWludDY0X3QgdGlsZXNfbGVha2VkID0gMDsKIHN0YXRpYyB1aW50NjRfdCBieXRlc19s
ZWFrZWQgPSAwOwogI2VuZGlmCiAKK3N0YXRpYyBFd2tfVGlsZV9NYXRyaXhfRW50cnkqIGV3a190
aWxlX21hdHJpeF9lbnRyeV9nZXQoRXdrX1RpbGVfTWF0cml4KiB0aWxlTWF0cml4LCBmbG9hdCB6
b29tKQoreworICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTCh0aWxlTWF0cml4LCAw
KTsKKyAgICBFd2tfVGlsZV9NYXRyaXhfRW50cnkqIGl0ZXJhdG9yOworCisgICAgRUlOQV9JTkxJ
U1RfRk9SRUFDSCh0aWxlTWF0cml4LT5tYXRyaWNlcywgaXRlcmF0b3IpIHsKKyAgICAgICAgaWYg
KGl0ZXJhdG9yLT56b29tID09IHpvb20pCisgICAgICAgICAgICByZXR1cm4gaXRlcmF0b3I7Cisg
ICAgfQorCisgICAgcmV0dXJuIDA7Cit9CisKIC8qIGNhbGxlZCB3aGVuIG1hdHJpeHNwYXJzZSBp
cyByZXNpemVkIG9yIGZyZWVkICovCiBzdGF0aWMgdm9pZCBfZXdrX3RpbGVfbWF0cml4X2NlbGxf
ZnJlZSh2b2lkKiB1c2VyRGF0YSwgdm9pZCogY2VsbERhdGEpCiB7CkBAIC03OSwxMSArMTAyLDE4
IEBAIHN0YXRpYyB2b2lkIF9ld2tfdGlsZV9tYXRyaXhfY2VsbF9mcmVlKHZvaWQqIHVzZXJEYXRh
LCB2b2lkKiBjZWxsRGF0YSkKICAgICAgICAgaWYgKCFld2tfdGlsZV91bnVzZWRfY2FjaGVfdGls
ZV9nZXQodGlsZU1hdHJpeC0+dGlsaWVVbnVzZWRDYWNoZSwgdGlsZSkpCiAgICAgICAgICAgICBF
UlIoInRpbGUgJXAgd2FzIG5vdCBpbiBjYWNoZSAlcD8gbGVha2luZy4uLiIsIHRpbGUsIHRpbGVN
YXRyaXgtPnRpbGllVW51c2VkQ2FjaGUpOwogICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIEV3
a19UaWxlX01hdHJpeF9FbnRyeSogZW50cnk7CiAgICAgICAgICAgICBEQkcoInRpbGUgY2VsbCBk
b2VzIG5vdCBleGlzdCBhbnltb3JlLCBmcmVlIGl0ICVwIiwgdGlsZSk7CiAjaWZkZWYgREVCVUdf
TUVNX0xFQUtTCiAgICAgICAgICAgICB0aWxlTWF0cml4LT5zdGF0cy5ieXRlcy5mcmVlZCArPSB0
aWxlLT5ieXRlczsKICAgICAgICAgICAgIHRpbGVNYXRyaXgtPnN0YXRzLnRpbGVzLmZyZWVkKys7
CiAjZW5kaWYKKyAgICAgICAgICAgIGVudHJ5ID0gZXdrX3RpbGVfbWF0cml4X2VudHJ5X2dldCh0
aWxlTWF0cml4LCB0aWxlLT56b29tKTsKKyAgICAgICAgICAgIGlmICghZW50cnkpCisgICAgICAg
ICAgICAgICAgRVJSKCJjYW4ndCBmaW5kIG1hdHJpeCBmb3Igem9vbSAlMC4zZiIsIHRpbGUtPnpv
b20pOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGVudHJ5LT5jb3VudC0tOwor
CiAgICAgICAgICAgICBld2tfdGlsZV9mcmVlKHRpbGUpOwogICAgICAgICB9CiAgICAgfQpAQCAt
OTUsOSArMTI1LDE3IEBAIHN0YXRpYyB2b2lkIF9ld2tfdGlsZV9tYXRyaXhfY2VsbF9mcmVlKHZv
aWQqIHVzZXJEYXRhLCB2b2lkKiBjZWxsRGF0YSkKIHN0YXRpYyB2b2lkIF9ld2tfdGlsZV9tYXRy
aXhfdGlsZV9mcmVlKHZvaWQqIGRhdGEsIEV3a19UaWxlKiB0aWxlKQogewogICAgIEV3a19UaWxl
X01hdHJpeCogdGlsZU1hdHJpeCA9IHN0YXRpY19jYXN0PEV3a19UaWxlX01hdHJpeCo+KGRhdGEp
OworICAgIEV3a19UaWxlX01hdHJpeF9FbnRyeSogZW50cnk7CiAgICAgRWluYV9NYXRyaXhzcGFy
c2VfQ2VsbCogY2VsbDsKIAotICAgIGlmICghZWluYV9tYXRyaXhzcGFyc2VfY2VsbF9pZHhfZ2V0
KHRpbGVNYXRyaXgtPm1hdHJpeCwgdGlsZS0+cm93LCB0aWxlLT5jb2wsICZjZWxsKSkgeworICAg
IGVudHJ5ID0gZXdrX3RpbGVfbWF0cml4X2VudHJ5X2dldCh0aWxlTWF0cml4LCB0aWxlLT56b29t
KTsKKyAgICBpZiAoIWVudHJ5KSB7CisgICAgICAgIEVSUigicmVtb3ZpbmcgdGlsZSAlcCB0aGF0
IHdhcyBub3QgaW4gYW55IG1hdHJpeD8gTGVha2luZy4uLiIsIHRpbGUpOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgaWYgKCFlaW5hX21hdHJpeHNwYXJzZV9jZWxsX2lkeF9nZXQoZW50
cnktPm1hdHJpeCwgdGlsZS0+cm93LCB0aWxlLT5jb2wsICZjZWxsKSkgeworCiAgICAgICAgIEVS
UigicmVtb3ZpbmcgdGlsZSAlcCB0aGF0IHdhcyBub3QgaW4gdGhlIG1hdHJpeD8gTGVha2luZy4u
LiIsIHRpbGUpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTI1LDYgKzE2MywxMyBAQCBz
dGF0aWMgdm9pZCBfZXdrX3RpbGVfbWF0cml4X3RpbGVfZnJlZSh2b2lkKiBkYXRhLCBFd2tfVGls
ZSogdGlsZSkKICAgICB0aWxlTWF0cml4LT5zdGF0cy50aWxlcy5mcmVlZCsrOwogI2VuZGlmCiAK
KyAgICBlbnRyeS0+Y291bnQtLTsKKyAgICBpZiAoIWVudHJ5LT5jb3VudCAmJiBlbnRyeS0+bWF0
cml4ICE9IHRpbGVNYXRyaXgtPm1hdHJpeCkgeworICAgICAgICBlaW5hX21hdHJpeHNwYXJzZV9m
cmVlKGVudHJ5LT5tYXRyaXgpOworICAgICAgICB0aWxlTWF0cml4LT5tYXRyaWNlcyA9IGVpbmFf
aW5saXN0X3JlbW92ZSh0aWxlTWF0cml4LT5tYXRyaWNlcywgRUlOQV9JTkxJU1RfR0VUKGVudHJ5
KSk7CisgICAgICAgIGZyZWUoZW50cnkpOworICAgIH0KKwogICAgIGV3a190aWxlX2ZyZWUodGls
ZSk7CiB9CiAKQEAgLTE0MCwxMyArMTg1LDE0IEBAIHN0YXRpYyB2b2lkIF9ld2tfdGlsZV9tYXRy
aXhfdGlsZV9mcmVlKHZvaWQqIGRhdGEsIEV3a19UaWxlKiB0aWxlKQogICogICAgICAgIGF1dG9t
YXRpY2FsbHkuCiAgKiBAcGFyYW0gY29sdW1ucyBudW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgbWF0
cml4LgogICogQHBhcmFtIHJvd3MgbnVtYmVyIG9mIHJvd3MgaW4gdGhlIG1hdHJpeC4KKyAqIEBw
YXJhbSB6b29tTGV2ZWwgem9vbSBsZXZlbCBmb3IgdGhlIG1hdHJpeC4KICAqIEBwYXJhbSBjc3Bh
Y2UgdGhlIGNvbG9yIHNwYWNlIHVzZWQgdG8gY3JlYXRlIHRpbGVzIGluIHRoaXMgbWF0cml4Lgog
ICogQHBhcmFtIHJlbmRlcl9jYiBmdW5jdGlvbiB1c2VkIHRvIHJlbmRlciBnaXZlbiB0aWxlIHVw
ZGF0ZS4KICAqIEBwYXJhbSByZW5kZXJfZGF0YSBjb250ZXh0IHRvIGdpdmUgYmFjayB0byBAYSBy
ZW5kZXJfY2IuCiAgKgogICogQHJldHVybiBuZXdseSBhbGxvY2F0ZWQgaW5zdGFuY2Ugb24gc3Vj
Y2VzcywgQGMgMCBvbiBmYWlsdXJlLgogICovCi1Fd2tfVGlsZV9NYXRyaXgqIGV3a190aWxlX21h
dHJpeF9uZXcoRXdrX1RpbGVfVW51c2VkX0NhY2hlKiB0aWxlVW51c2VkQ2FjaGUsIHVuc2lnbmVk
IGxvbmcgY29sdW1ucywgdW5zaWduZWQgbG9uZyByb3dzLCBFdmFzX0NvbG9yc3BhY2UgY29sb3JT
cGFjZSwgdm9pZCAoKnJlbmRlckNhbGxiYWNrKSh2b2lkKiBkYXRhLCBFd2tfVGlsZSogdGlsZSwg
Y29uc3QgRWluYV9SZWN0YW5nbGUqIHVwZGF0ZSksIGNvbnN0IHZvaWQqIHJlbmRlckRhdGEpCitF
d2tfVGlsZV9NYXRyaXgqIGV3a190aWxlX21hdHJpeF9uZXcoRXdrX1RpbGVfVW51c2VkX0NhY2hl
KiB0aWxlVW51c2VkQ2FjaGUsIHVuc2lnbmVkIGxvbmcgY29sdW1ucywgdW5zaWduZWQgbG9uZyBy
b3dzLCBmbG9hdCB6b29tTGV2ZWwsIEV2YXNfQ29sb3JzcGFjZSBjb2xvclNwYWNlLCB2b2lkICgq
cmVuZGVyQ2FsbGJhY2spKHZvaWQqIGRhdGEsIEV3a19UaWxlKiB0aWxlLCBjb25zdCBFaW5hX1Jl
Y3RhbmdsZSogdXBkYXRlKSwgY29uc3Qgdm9pZCogcmVuZGVyRGF0YSkKIHsKICAgICBFd2tfVGls
ZV9NYXRyaXgqIHRpbGVNYXRyaXggPSBzdGF0aWNfY2FzdDxFd2tfVGlsZV9NYXRyaXgqPihjYWxs
b2MoMSwgc2l6ZW9mKEV3a19UaWxlX01hdHJpeCkpKTsKICAgICBpZiAoIXRpbGVNYXRyaXgpCkBA
IC0xNTksNiArMjA1LDggQEAgRXdrX1RpbGVfTWF0cml4KiBld2tfdGlsZV9tYXRyaXhfbmV3KEV3
a19UaWxlX1VudXNlZF9DYWNoZSogdGlsZVVudXNlZENhY2hlLCB1bnMKICAgICAgICAgcmV0dXJu
IDA7CiAgICAgfQogCisgICAgZXdrX3RpbGVfbWF0cml4X3pvb21fbGV2ZWxfc2V0KHRpbGVNYXRy
aXgsIHpvb21MZXZlbCk7CisKICAgICBpZiAodGlsZVVudXNlZENhY2hlKQogICAgICAgICB0aWxl
TWF0cml4LT50aWxpZVVudXNlZENhY2hlID0gZXdrX3RpbGVfdW51c2VkX2NhY2hlX3JlZih0aWxl
VW51c2VkQ2FjaGUpOwogICAgIGVsc2UgewpAQCAtMTgwLDYgKzIyOCw1OSBAQCBFd2tfVGlsZV9N
YXRyaXgqIGV3a190aWxlX21hdHJpeF9uZXcoRXdrX1RpbGVfVW51c2VkX0NhY2hlKiB0aWxlVW51
c2VkQ2FjaGUsIHVucwogICAgIHJldHVybiB0aWxlTWF0cml4OwogfQogCit2b2lkIGV3a190aWxl
X21hdHJpeF96b29tX2xldmVsX3NldChFd2tfVGlsZV9NYXRyaXgqIHRpbGVNYXRyaXgsIGZsb2F0
IHpvb20pCit7CisgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk4odGlsZU1hdHJpeCk7Cisg
ICAgRXdrX1RpbGVfTWF0cml4X0VudHJ5KiBpdGVyYXRvciA9IDA7CisgICAgRXdrX1RpbGVfTWF0
cml4X0VudHJ5KiBlbnRyeSA9IDA7CisgICAgdW5zaWduZWQgbG9uZyByb3dzID0gMCwgY29sdW1u
cyA9IDA7CisKKyAgICBlaW5hX21hdHJpeHNwYXJzZV9zaXplX2dldCh0aWxlTWF0cml4LT5tYXRy
aXgsICZyb3dzLCAmY29sdW1ucyk7CisKKyAgICBFSU5BX0lOTElTVF9GT1JFQUNIKHRpbGVNYXRy
aXgtPm1hdHJpY2VzLCBpdGVyYXRvcikgeworICAgICAgICBpZiAoaXRlcmF0b3ItPnpvb20gIT0g
em9vbSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBlbnRyeSA9IGl0ZXJhdG9yOwor
ICAgICAgICB0aWxlTWF0cml4LT5tYXRyaWNlcyA9IGVpbmFfaW5saXN0X3Byb21vdGUodGlsZU1h
dHJpeC0+bWF0cmljZXMsIEVJTkFfSU5MSVNUX0dFVChlbnRyeSkpOworICAgICAgICBlaW5hX21h
dHJpeHNwYXJzZV9zaXplX3NldChlbnRyeS0+bWF0cml4LCByb3dzLCBjb2x1bW5zKTsKKyAgICB9
CisKKyAgICBpZiAoIWVudHJ5KSB7CisgICAgICAgIGVudHJ5ID0gc3RhdGljX2Nhc3Q8RXdrX1Rp
bGVfTWF0cml4X0VudHJ5Kj4oY2FsbG9jKDEsIHNpemVvZihFd2tfVGlsZV9NYXRyaXhfRW50cnkp
KSk7CisgICAgICAgIGVudHJ5LT56b29tID0gem9vbTsKKyAgICAgICAgZW50cnktPm1hdHJpeCA9
IGVpbmFfbWF0cml4c3BhcnNlX25ldyhyb3dzLCBjb2x1bW5zLCBfZXdrX3RpbGVfbWF0cml4X2Nl
bGxfZnJlZSwgdGlsZU1hdHJpeCk7CisgICAgICAgIGlmICghZW50cnktPm1hdHJpeCkgeworICAg
ICAgICAgICAgRVJSKCJjb3VsZCBub3QgY3JlYXRlIHNwYXJzZSBtYXRyaXguIik7CisgICAgICAg
ICAgICBmcmVlKGVudHJ5KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAg
ICB0aWxlTWF0cml4LT5tYXRyaWNlcyA9IGVpbmFfaW5saXN0X3ByZXBlbmQodGlsZU1hdHJpeC0+
bWF0cmljZXMsIEVJTkFfSU5MSVNUX0dFVChlbnRyeSkpOworICAgIH0KKworICAgIHRpbGVNYXRy
aXgtPm1hdHJpeCA9IGVudHJ5LT5tYXRyaXg7Cit9CisKK3ZvaWQgZXdrX3RpbGVfbWF0cml4X2lu
dmFsaWRhdGUoRXdrX1RpbGVfTWF0cml4KiB0aWxlTWF0cml4KQoreworICAgIEVJTkFfU0FGRVRZ
X09OX05VTExfUkVUVVJOKHRpbGVNYXRyaXgpOworICAgIEV3a19UaWxlX01hdHJpeF9FbnRyeSog
aXRlcmF0b3I7CisgICAgRWluYV9Jbmxpc3QqIG1hdHJpeExpc3Q7CisKKyAgICBtYXRyaXhMaXN0
ID0gdGlsZU1hdHJpeC0+bWF0cmljZXM7CisgICAgd2hpbGUgKG1hdHJpeExpc3QpIHsKKyAgICAg
ICAgaXRlcmF0b3IgPSBFSU5BX0lOTElTVF9DT05UQUlORVJfR0VUKG1hdHJpeExpc3QsIEV3a19U
aWxlX01hdHJpeF9FbnRyeSk7CisgICAgICAgIEVpbmFfSW5saXN0ICpuZXh0ID0gKG1hdHJpeExp
c3QtPm5leHQpID8gbWF0cml4TGlzdC0+bmV4dCA6IDA7CisKKyAgICAgICAgaWYgKGl0ZXJhdG9y
LT5tYXRyaXggIT0gdGlsZU1hdHJpeC0+bWF0cml4KSB7CisgICAgICAgICAgICBlaW5hX21hdHJp
eHNwYXJzZV9mcmVlKGl0ZXJhdG9yLT5tYXRyaXgpOworICAgICAgICAgICAgdGlsZU1hdHJpeC0+
bWF0cmljZXMgPSBlaW5hX2lubGlzdF9yZW1vdmUodGlsZU1hdHJpeC0+bWF0cmljZXMsIG1hdHJp
eExpc3QpOworICAgICAgICAgICAgZnJlZShpdGVyYXRvcik7CisgICAgICAgIH0KKworICAgICAg
ICBtYXRyaXhMaXN0ID0gbmV4dDsKKyAgICB9Cit9CisKIC8qKgogICogRGVzdHJveXMgdGlsZXMg
bWF0cml4LCByZWxlYXNpbmcgaXRzIHJlc291cmNlcy4KICAqCkBAIC0xODcsNiArMjg4LDcgQEAg
RXdrX1RpbGVfTWF0cml4KiBld2tfdGlsZV9tYXRyaXhfbmV3KEV3a19UaWxlX1VudXNlZF9DYWNo
ZSogdGlsZVVudXNlZENhY2hlLCB1bnMKICAqLwogdm9pZCBld2tfdGlsZV9tYXRyaXhfZnJlZShF
d2tfVGlsZV9NYXRyaXgqIHRpbGVNYXRyaXgpCiB7CisgICAgRXdrX1RpbGVfTWF0cml4X0VudHJ5
KiBlbnRyeTsKICNpZmRlZiBERUJVR19NRU1fTEVBS1MKICAgICB1aW50NjRfdCB0aWxlcywgYnl0
ZXM7CiAjZW5kaWYKQEAgLTE5NCw3ICsyOTYsMTIgQEAgdm9pZCBld2tfdGlsZV9tYXRyaXhfZnJl
ZShFd2tfVGlsZV9NYXRyaXgqIHRpbGVNYXRyaXgpCiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9S
RVRVUk4odGlsZU1hdHJpeCk7CiAgICAgZXdrX3RpbGVfdW51c2VkX2NhY2hlX2ZyZWV6ZSh0aWxl
TWF0cml4LT50aWxpZVVudXNlZENhY2hlKTsKIAotICAgIGVpbmFfbWF0cml4c3BhcnNlX2ZyZWUo
dGlsZU1hdHJpeC0+bWF0cml4KTsKKyAgICBld2tfdGlsZV91bnVzZWRfY2FjaGVfZnJlZXplKHRp
bGVNYXRyaXgtPnRpbGllVW51c2VkQ2FjaGUpOworICAgIGV3a190aWxlX21hdHJpeF9pbnZhbGlk
YXRlKHRpbGVNYXRyaXgpOworICAgIGVudHJ5ID0gRUlOQV9JTkxJU1RfQ09OVEFJTkVSX0dFVCh0
aWxlTWF0cml4LT5tYXRyaWNlcywgRXdrX1RpbGVfTWF0cml4X0VudHJ5KTsKKyAgICBlaW5hX21h
dHJpeHNwYXJzZV9mcmVlKGVudHJ5LT5tYXRyaXgpOyAgICAKKyAgICBmcmVlKGVudHJ5KTsKKyAg
ICB0aWxlTWF0cml4LT5tYXRyaWNlcyA9IDA7CiAKICAgICBld2tfdGlsZV91bnVzZWRfY2FjaGVf
dGhhdyh0aWxlTWF0cml4LT50aWxpZVVudXNlZENhY2hlKTsKICAgICBld2tfdGlsZV91bnVzZWRf
Y2FjaGVfdW5yZWYodGlsZU1hdHJpeC0+dGlsaWVVbnVzZWRDYWNoZSk7CkBAIC0zMjMsOSArNDMw
LDE2IEBAIEV3a19UaWxlKiBld2tfdGlsZV9tYXRyaXhfdGlsZV9uZXcoRXdrX1RpbGVfTWF0cml4
KiB0aWxlTWF0cml4LCBFdmFzKiBjYW52YXMsIHVuCiB7CiAgICAgRXZhc19Db29yZCB0aWxlV2lk
dGgsIHRpbGVIZWlnaHQ7CiAgICAgRXdrX1RpbGUqIHRpbGU7CisgICAgRXdrX1RpbGVfTWF0cml4
X0VudHJ5KiBlbnRyeTsKIAogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTCh0aWxl
TWF0cml4LCAwKTsKICAgICBFSU5BX1NBRkVUWV9PTl9GQUxTRV9SRVRVUk5fVkFMKHpvb20gPiAw
LjAsIDApOworICAgIGVudHJ5ID0gZXdrX3RpbGVfbWF0cml4X2VudHJ5X2dldCh0aWxlTWF0cml4
LCB6b29tKTsKKyAgICBpZiAoIWVudHJ5KSB7CisgICAgICAgIEVSUigiY291bGQgbm90IGdldCBt
YXRyaXggYXQgem9vbSAlZiBmb3IgdGlsZSIsIHpvb20pOworICAgICAgICByZXR1cm4gMDsKKyAg
ICB9CisgICAgZW50cnktPmNvdW50Kys7CiAKICAgICB0aWxlV2lkdGggPSB0aWxlTWF0cml4LT50
aWxlLndpZHRoOwogICAgIHRpbGVIZWlnaHQgPSB0aWxlTWF0cml4LT50aWxlLmhlaWdodDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfbWF0cml4LmggYi9Tb3Vy
Y2UvV2ViS2l0L2VmbC9ld2svZXdrX3RpbGVkX21hdHJpeC5oCmluZGV4IGQzZGM1MTcuLmZlNmI2
NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfbWF0cml4LmgK
KysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxlZF9tYXRyaXguaApAQCAtMjYsMTAg
KzI2LDEyIEBACiAjaW5jbHVkZSA8RXZhcy5oPgogCiAvKiBtYXRyaXggb2YgdGlsZXMgKi8KLUV3
a19UaWxlX01hdHJpeCogZXdrX3RpbGVfbWF0cml4X25ldyhFd2tfVGlsZV9VbnVzZWRfQ2FjaGUq
IHR1YywgdW5zaWduZWQgbG9uZyBjb2xzLCB1bnNpZ25lZCBsb25nIHJvd3MsIEV2YXNfQ29sb3Jz
cGFjZSBjc3BhY2UsIHZvaWQgKCogcmVuZGVyX2NiKSh2b2lkKiBkYXRhLCBFd2tfVGlsZSogdCwg
Y29uc3QgRWluYV9SZWN0YW5nbGUqIHVwZGF0ZSksIGNvbnN0IHZvaWQqIHJlbmRlcl9kYXRhKTsK
K0V3a19UaWxlX01hdHJpeCogZXdrX3RpbGVfbWF0cml4X25ldyhFd2tfVGlsZV9VbnVzZWRfQ2Fj
aGUqIHRpbGVVbnVzZWRDYWNoZSwgdW5zaWduZWQgbG9uZyBjb2x1bW5zLCB1bnNpZ25lZCBsb25n
IHJvd3MsIGZsb2F0IHpvb21MZXZlbCwgRXZhc19Db2xvcnNwYWNlIGNvbG9yU3BhY2UsIHZvaWQg
KCpyZW5kZXJfY2FsbGJhY2spKHZvaWQqIGRhdGEsIEV3a19UaWxlKiB0aWxlLCBjb25zdCBFaW5h
X1JlY3RhbmdsZSogdXBkYXRlKSwgY29uc3Qgdm9pZCogcmVuZGVyRGF0YSk7CiB2b2lkIGV3a190
aWxlX21hdHJpeF9mcmVlKEV3a19UaWxlX01hdHJpeCogdG0pOwogCiB2b2lkIGV3a190aWxlX21h
dHJpeF9yZXNpemUoRXdrX1RpbGVfTWF0cml4KiB0bSwgdW5zaWduZWQgbG9uZyBjb2xzLCB1bnNp
Z25lZCBsb25nIHJvd3MpOwordm9pZCBld2tfdGlsZV9tYXRyaXhfem9vbV9sZXZlbF9zZXQoRXdr
X1RpbGVfTWF0cml4KiB0aWxlTWF0cml4LCBmbG9hdCB6b29tKTsKK3ZvaWQgZXdrX3RpbGVfbWF0
cml4X2ludmFsaWRhdGUoRXdrX1RpbGVfTWF0cml4KiB0aWxlTWF0cml4KTsKIAogRXdrX1RpbGVf
VW51c2VkX0NhY2hlKiBld2tfdGlsZV9tYXRyaXhfdW51c2VkX2NhY2hlX2dldChjb25zdCBFd2tf
VGlsZV9NYXRyaXgqIHRtKTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>