<?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>97173</bug_id>
          
          <creation_ts>2012-09-19 22:57:59 -0700</creation_ts>
          <short_desc>[EFL][WK2] Refactoring initialization and shutdown codes of EFL libraries.</short_desc>
          <delta_ts>2013-02-07 04:29:51 -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>
          <dependson>99681</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eunmi Lee">enmi.lee</reporter>
          <assigned_to name="Eunmi Lee">enmi.lee</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kenneth</cc>
    
    <cc>kling</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>724180</commentid>
    <comment_count>0</comment_count>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-09-19 22:57:59 -0700</bug_when>
    <thetext>There are duplicated initializing codes in the ewk_main.cpp and RunLoopEfl.cpp.
We have WebContext in the WebKit2, so we can initialize ecore and evas through RunLoopEfl when creating WebContext.
We don&apos;t have to add ewk_{init, shutdown}() like WebKit1 and let applications call them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728501</commentid>
    <comment_count>1</comment_count>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-09-26 06:50:04 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; There are duplicated initializing codes in the ewk_main.cpp and RunLoopEfl.cpp.
&gt; We have WebContext in the WebKit2, so we can initialize ecore and evas through RunLoopEfl when creating WebContext.
&gt; We don&apos;t have to add ewk_{init, shutdown}() like WebKit1 and let applications call them.

I will make patch to move initialization and shutdown codes of EFL libraries to the ewk_main.cpp for ui process and WebProcessMainEfl.cpp for web-engine process.
RunLoopEfl.cpp will not be used to initialize and shutdown the EFL libraries anymore.

Additionally,
ewk_{init,shutdown} will be called when ewk_context is created and deleted,
so application don&apos;t have to call ewk_{init,shutdown} and they will be changed to internal function from API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728521</commentid>
    <comment_count>2</comment_count>
      <attachid>165794</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-09-26 07:10:33 -0700</bug_when>
    <thetext>Created attachment 165794
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729389</commentid>
    <comment_count>3</comment_count>
      <attachid>165794</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-09-27 03:31:38 -0700</bug_when>
    <thetext>Comment on attachment 165794
Patch

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

Looks sane.

&gt; Source/WebCore/ChangeLog:9
&gt; +        RunLooEfl.cpp. Initialization and shutdown will be done in the

&quot;RunLoopEfl&quot;

&gt; Source/WebCore/ChangeLog:10
&gt; +        ewk_main.cpp for ui process and WebProcessMainEfl.cpp for web-engine

&quot;Web process&quot; ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729518</commentid>
    <comment_count>4</comment_count>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-09-27 07:43:55 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 165794 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=165794&amp;action=review
&gt; 
&gt; Looks sane.
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:9
&gt; &gt; +        RunLooEfl.cpp. Initialization and shutdown will be done in the
&gt; 
&gt; &quot;RunLoopEfl&quot;
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:10
&gt; &gt; +        ewk_main.cpp for ui process and WebProcessMainEfl.cpp for web-engine
&gt; 
&gt; &quot;Web process&quot; ?

Thanks for review, I will fix them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729521</commentid>
    <comment_count>5</comment_count>
      <attachid>165999</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-09-27 07:49:26 -0700</bug_when>
    <thetext>Created attachment 165999
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730274</commentid>
    <comment_count>6</comment_count>
      <attachid>165999</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-09-27 23:17:07 -0700</bug_when>
    <thetext>Comment on attachment 165999
Patch

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

&gt; Source/WebKit2/UIProcess/API/efl/ewk_main.cpp:42
&gt; + * @internal

It would be good to add a new line @internal below,

&gt; Source/WebKit2/UIProcess/API/efl/ewk_main.cpp:107
&gt; + * @internal

ditto.

&gt; Source/WebKit2/UIProcess/API/efl/ewk_main.cpp:109
&gt; + * If the reference count reaches 0 WebKit&apos;s instance is destroyed.

reaches 0 -&gt; reaches 0, ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730286</commentid>
    <comment_count>7</comment_count>
      <attachid>166151</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-09-27 23:38:13 -0700</bug_when>
    <thetext>Created attachment 166151
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730328</commentid>
    <comment_count>8</comment_count>
      <attachid>166151</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-09-28 00:55:36 -0700</bug_when>
    <thetext>Comment on attachment 166151
Patch

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

Looks mostly fine, as long as you are sure calling code that does not require a context before creating one does not cause any problems.

&gt; Source/WebKit2/UIProcess/API/efl/ewk_main.cpp:77
&gt; +    if (!edje_init()) {

Don&apos;t you need to shut Edje down as well now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730337</commentid>
    <comment_count>9</comment_count>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-09-28 01:05:14 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 166151 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=166151&amp;action=review
&gt; 
&gt; Looks mostly fine, as long as you are sure calling code that does not require a context before creating one does not cause any problems.
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/efl/ewk_main.cpp:77
&gt; &gt; +    if (!edje_init()) {
&gt; 
&gt; Don&apos;t you need to shut Edje down as well now?

Thanks for your comment. it is my mistake. edje_shutdown() should be there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730346</commentid>
    <comment_count>10</comment_count>
      <attachid>166169</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-09-28 01:20:31 -0700</bug_when>
    <thetext>Created attachment 166169
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730366</commentid>
    <comment_count>11</comment_count>
      <attachid>166169</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-28 01:56:40 -0700</bug_when>
    <thetext>Comment on attachment 166169
Patch

Clearing flags on attachment: 166169

Committed r129863: &lt;http://trac.webkit.org/changeset/129863&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730367</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-28 01:56:45 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730459</commentid>
    <comment_count>13</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-09-28 03:49:16 -0700</bug_when>
    <thetext>Reverted r129863 for reason:

Broken debug WK2 layout test

Committed r129872: &lt;http://trac.webkit.org/changeset/129872&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741931</commentid>
    <comment_count>14</comment_count>
      <attachid>168674</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-10-15 04:16:25 -0700</bug_when>
    <thetext>Created attachment 168674
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741932</commentid>
    <comment_count>15</comment_count>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-10-15 04:19:02 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; Created an attachment (id=168674) [details]
&gt; Patch

The ecore_pipe is created in the Source/WTF/wtf/efl/MainThreadEfl.cpp&apos;s initializeMainThreadPlatform(),
initializeMainThreadPlatform() is called when we use the WKString and the WKString is used in the WebKitTestRunner before creating WebContext.
so, I could not remove the ewk_{init, shutdown} API and I&apos;ve made new patch without that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741933</commentid>
    <comment_count>16</comment_count>
      <attachid>168674</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-10-15 04:21:22 -0700</bug_when>
    <thetext>Comment on attachment 168674
Patch

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

&gt; Source/WebKit2/ChangeLog:8
&gt; +        Additional information of the change such as approach, rationale. Please add per-function descriptions below (OOPS!).

Missing patch description.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741935</commentid>
    <comment_count>17</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-10-15 04:27:24 -0700</bug_when>
    <thetext>(In reply to comment #15)

&gt; initializeMainThreadPlatform() is called when we use the WKString and the WKString is used in the WebKitTestRunner before creating WebContext.

Isn&apos;t this bug ? Or, can&apos;t we change this according to your patch ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741951</commentid>
    <comment_count>18</comment_count>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-10-15 04:46:42 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; (From update of attachment 168674 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=168674&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/ChangeLog:8
&gt; &gt; +        Additional information of the change such as approach, rationale. Please add per-function descriptions below (OOPS!).
&gt; 
&gt; Missing patch description.

Oops, I have to add that :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741954</commentid>
    <comment_count>19</comment_count>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-10-15 04:56:49 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (In reply to comment #15)
&gt; 
&gt; &gt; initializeMainThreadPlatform() is called when we use the WKString and the WKString is used in the WebKitTestRunner before creating WebContext.
&gt; 
&gt; Isn&apos;t this bug ? Or, can&apos;t we change this according to your patch ?

I think that is not a bug and it is normal operation of WK.
so, I&apos;ve just done refactoring for init, shutdown functions in this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741955</commentid>
    <comment_count>20</comment_count>
      <attachid>168681</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-10-15 04:58:43 -0700</bug_when>
    <thetext>Created attachment 168681
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742369</commentid>
    <comment_count>21</comment_count>
      <attachid>168681</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-15 13:36:26 -0700</bug_when>
    <thetext>Comment on attachment 168681
Patch

Clearing flags on attachment: 168681

Committed r131349: &lt;http://trac.webkit.org/changeset/131349&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742370</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-15 13:36:32 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742801</commentid>
    <comment_count>23</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-10-15 22:17:05 -0700</bug_when>
    <thetext>Reverted r131349 for reason:

Revert

Committed r131412: &lt;http://trac.webkit.org/changeset/131412&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747431</commentid>
    <comment_count>24</comment_count>
      <attachid>169878</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-10-22 04:59:58 -0700</bug_when>
    <thetext>Created attachment 169878
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747434</commentid>
    <comment_count>25</comment_count>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-10-22 05:01:54 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; Created an attachment (id=169878) [details]
&gt; Patch

I&apos;ve re-based and checked patch after Bug 99681 was resolved.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>753495</commentid>
    <comment_count>26</comment_count>
      <attachid>169878</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-10-29 09:09:55 -0700</bug_when>
    <thetext>Comment on attachment 169878
Patch

Land after checking API test and layout test both on release and debug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801115</commentid>
    <comment_count>27</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-01-06 17:16:02 -0800</bug_when>
    <thetext>Eunmi, is this patch valid now ? Could you check this ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>817737</commentid>
    <comment_count>28</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2013-01-28 07:28:42 -0800</bug_when>
    <thetext>Bump. It&apos;d be nice to get this in as soon as possible; right now we&apos;re not properly shutting things down in WK2 since RunLoop&apos;s destructor is not called when we think it should be (it&apos;s a global static).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825335</commentid>
    <comment_count>29</comment_count>
      <attachid>186592</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2013-02-05 03:10:07 -0800</bug_when>
    <thetext>Created attachment 186592
Rebased patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825338</commentid>
    <comment_count>30</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2013-02-05 03:11:02 -0800</bug_when>
    <thetext>(In reply to comment #29)
&gt; Created an attachment (id=186592) [details]
&gt; Rebased patch for landing

EunMi said it was OK for me to rebase the patch, so I&apos;ve done that and cleaned up the shutdown in ewk_main a little. I&apos;ll land and watch the bots after EWS goes green.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825340</commentid>
    <comment_count>31</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2013-02-05 03:11:36 -0800</bug_when>
    <thetext>This needs to be signed off by a WK2 owner</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825347</commentid>
    <comment_count>32</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2013-02-05 03:29:51 -0800</bug_when>
    <thetext>Aaaaargh.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825355</commentid>
    <comment_count>33</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-02-05 03:52:03 -0800</bug_when>
    <thetext>Please remove my name in reviewer field. WebKit2 owners don&apos;t want that WK2 patch is landed by other reviewer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825529</commentid>
    <comment_count>34</comment_count>
      <attachid>186639</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2013-02-05 09:10:13 -0800</bug_when>
    <thetext>Created attachment 186639
Up for review again...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826781</commentid>
    <comment_count>35</comment_count>
      <attachid>186639</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-02-06 14:53:04 -0800</bug_when>
    <thetext>Comment on attachment 186639
Up for review again...

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

No way to avoid the duplicated code?

I sign off on this for WebKit2. Feel free to land it after a proper review of the EFL bits.

&gt; Source/WebKit2/UIProcess/API/efl/ewk_main.cpp:89
&gt; +        CRITICAL(&quot;could not init edje.&quot;);

could -&gt; Could?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826809</commentid>
    <comment_count>36</comment_count>
      <attachid>186639</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2013-02-06 15:36:22 -0800</bug_when>
    <thetext>Comment on attachment 186639
Up for review again...

r=me as Benjamin signed off, but let&apos;s fix the spelling before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>827236</commentid>
    <comment_count>37</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2013-02-07 03:04:02 -0800</bug_when>
    <thetext>Committed r142087: &lt;http://trac.webkit.org/changeset/142087&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>827312</commentid>
    <comment_count>38</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2013-02-07 04:29:51 -0800</bug_when>
    <thetext>(In reply to comment #35)
&gt; (From update of attachment 186639 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=186639&amp;action=review
&gt; 
&gt; No way to avoid the duplicated code?

Probably, but I&apos;d rather do it separately; I chose to modify the original patch as little as possible here.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165794</attachid>
            <date>2012-09-26 07:10:33 -0700</date>
            <delta_ts>2012-09-27 07:49:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97173-20120926230951.patch</filename>
            <type>text/plain</type>
            <size>17828</size>
            <attacher name="Eunmi Lee">enmi.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NjI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDljMDc3ODNlNDllMGNh
NTU0NTQxMDA2NjA1ZjVlYWVhYjgwY2ZiZi4uODJkMmVmNmVlN2RkZmU1MGY0ZjhjYmZlNDc1NDBj
MTE1ODkwNmYzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTA5LTI2ICBFdW5t
aSBMZWUgIDxldW5taTE1LmxlZUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIFJl
ZmFjdG9yaW5nIGluaXRpYWxpemF0aW9uIGFuZCBzaHV0ZG93biBjb2RlcyBvZiBFRkwgbGlicmFy
aWVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTcx
NzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1v
dmUgY29kZXMgdG8gaW5pdGlhbGl6ZSBhbmQgc2h1dGRvd24gdGhlIEVGTCBsaWJyYXJpZXMgZnJv
bQorICAgICAgICBSdW5Mb29FZmwuY3BwLiBJbml0aWFsaXphdGlvbiBhbmQgc2h1dGRvd24gd2ls
bCBiZSBkb25lIGluIHRoZQorICAgICAgICBld2tfbWFpbi5jcHAgZm9yIHVpIHByb2Nlc3MgYW5k
IFdlYlByb2Nlc3NNYWluRWZsLmNwcCBmb3Igd2ViLWVuZ2luZQorICAgICAgICBwcm9jZXNzLgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cy4gVGhpcyBwYXRjaCBkb2Vzbid0IGNoYW5nZSBiZWhhdmlv
ci4KKworICAgICAgICAqIHBsYXRmb3JtL2VmbC9SdW5Mb29wRWZsLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJ1bkxvb3A6OlJ1bkxvb3ApOgorICAgICAgICAoV2ViQ29yZTo6UnVuTG9vcDo6flJ1
bkxvb3ApOgorCiAyMDEyLTA5LTI2ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGNvbXBhcmUgb2JqZWN0cyBjb3VudGVkIGJ5
IHRoZSBtZW1vcnkgaW5zdHJ1bWVudGF0aW9uIHdpdGggdGhvc2UgYWxsb2NhdGVkIGluIHRoZSBo
ZWFwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKaW5kZXggNTQ5MmRjZTlhMTAyYjc0OGYzNzdhZDQ0Njk3MDM1OGQ3OWFkZWYx
ZS4uZjBjNWQxZjRhMTYzZWI0YTRmMDVjNDlhYWY4MDk5MzM3MGE1MWIyOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDMxIEBACisyMDEyLTA5LTI2ICBFdW5taSBMZWUgIDxldW5taTE1LmxlZUBzYW1z
dW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIFJlZmFjdG9yaW5nIGluaXRpYWxpemF0aW9u
IGFuZCBzaHV0ZG93biBjb2RlcyBvZiBFRkwgbGlicmFyaWVzLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTcxNzMKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbml0aWFsaXplIGFuZCBzaHV0ZG93biB0aGUg
RUZMIGxpYnJhcmllcyBpbiB0aGUgZXdrX21haW4uY3BwIGZvciB1aQorICAgICAgICBwcm9jZXNz
IGFuZCBXZWJQcm9jZXNzTWFpbkVmbC5jcHAgZm9yIHdlYi1lbmdpbmUgcHJvY2Vzcy4KKyAgICAg
ICAgQWRkaXRpb25hbGx5LCBpbml0aWFsaXphdGlvbiBhbmQgc2h1dGRvd24gYXJlIGRvbmUgd2hl
biBld2tfY29udGV4dCBpcworICAgICAgICBjcmVhdGVkIGFuZCBkZWxldGVkLCBzbyBld2tfe2lu
aXQsc2h1dGRvd259IEFQSXMgYXJlIGNoYW5nZWQgdG8KKyAgICAgICAgaW50ZXJuYWwgZnVuY3Rp
b24gYW5kIGFwcGxpY2F0aW9ucyBkb24ndCBoYXZlIHRvIGNhbGwgdGhlbS4KKworICAgICAgICAq
IFBsYXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0VXZWJLaXQy
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuY3BwOgorICAgICAg
ICAoX0V3a19Db250ZXh0OjpfRXdrX0NvbnRleHQpOgorICAgICAgICAoX0V3a19Db250ZXh0Ojp+
X0V3a19Db250ZXh0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfbWFpbi5jcHA6
CisgICAgICAgIChld2tfaW5pdCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX21h
aW4uaDogUmVtb3ZlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfbWFpbl9wcml2
YXRlLmg6IEFkZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0
VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5jcHA6CisgICAgICAgIChFV0syVW5pdFRlc3Q6OkVXSzJV
bml0VGVzdEJhc2U6OlNldFVwKToKKyAgICAgICAgKEVXSzJVbml0VGVzdDo6RVdLMlVuaXRUZXN0
QmFzZTo6VGVhckRvd24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvZWZsL1dlYlByb2Nlc3NNYWlu
RWZsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc01haW5FZmwpOgorCiAyMDEyLTA5
LTI1ICBSYXBoYWVsIEt1Ym8gZGEgQ29zdGEgIDxyYXBoYWVsLmt1Ym8uZGEuY29zdGFAaW50ZWwu
Y29tPgogCiAgICAgICAgIFtEUlRdW1dUUl0gU3VwcG9ydCBvdmVycmlkaW5nIHRoZSAnV2ViS2l0
RGlzcGxheUltYWdlc0tleScgcHJlZmVyZW5jZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZWZsL1J1bkxvb3BFZmwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZs
L1J1bkxvb3BFZmwuY3BwCmluZGV4IGYyOTlkOGVjZjI2ODI0MGJkZDI2NjZiYTUyYTQ0YmNjYmEx
OWUyMmQuLmYyZDM0N2M1NWJhOTcyMTg1ZWUwMGM3YWQzMzNjMGVjYTYxZTlhNjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9SdW5Mb29wRWZsLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUnVuTG9vcEVmbC5jcHAKQEAgLTI4LDkgKzI4LDYgQEAK
ICNpbmNsdWRlICJSdW5Mb29wLmgiCiAKICNpbmNsdWRlIDxFY29yZS5oPgotI2luY2x1ZGUgPEVj
b3JlX0V2YXMuaD4KLSNpbmNsdWRlIDxFY29yZV9GaWxlLmg+Ci0jaW5jbHVkZSA8RWRqZS5oPgog
I2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCkBA
IC00Miw0NyArMzksMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogUnVuTG9vcDo6UnVuTG9vcCgp
CiAgICAgOiBtX2luaXRFZmwoZmFsc2UpCiB7Ci0gICAgaWYgKCFlY29yZV9pbml0KCkpIHsKLSAg
ICAgICAgTE9HX0VSUk9SKCJjb3VsZCBub3QgaW5pdCBlY29yZS4iKTsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLQotICAgIGlmICghZWNvcmVfZXZhc19pbml0KCkpIHsKLSAgICAgICAgTE9HX0VS
Uk9SKCJjb3VsZCBub3QgaW5pdCBlY29yZV9ldmFzLiIpOwotICAgICAgICBnb3RvIGVycm9yRWNv
cmVFdmFzOwotICAgIH0KLQotICAgIGlmICghZWNvcmVfZmlsZV9pbml0KCkpIHsKLSAgICAgICAg
TE9HX0VSUk9SKCJjb3VsZCBub3QgaW5pdCBlY29yZV9maWxlLiIpOwotICAgICAgICBnb3RvIGVy
cm9yRWNvcmVGaWxlOwotICAgIH0KLQotICAgIGlmICghZWRqZV9pbml0KCkpIHsKLSAgICAgICAg
TE9HX0VSUk9SKCJjb3VsZCBub3QgaW5pdCBlZGplLiIpOwotICAgICAgICBnb3RvIGVycm9yRWRq
ZTsKLSAgICB9Ci0KICAgICBtX3BpcGUgPSBhZG9wdFB0cihlY29yZV9waXBlX2FkZCh3YWtlVXBF
dmVudCwgdGhpcykpOwogICAgIG1faW5pdEVmbCA9IHRydWU7Ci0KLSAgICByZXR1cm47Ci0KLWVy
cm9yRWRqZToKLSAgICBlY29yZV9maWxlX3NodXRkb3duKCk7Ci1lcnJvckVjb3JlRmlsZToKLSAg
ICBlY29yZV9ldmFzX3NodXRkb3duKCk7Ci1lcnJvckVjb3JlRXZhczoKLSAgICBlY29yZV9zaHV0
ZG93bigpOwogfQogCiBSdW5Mb29wOjp+UnVuTG9vcCgpCiB7Ci0gICAgaWYgKG1faW5pdEVmbCkg
ewotICAgICAgICBlZGplX3NodXRkb3duKCk7Ci0gICAgICAgIGVjb3JlX2ZpbGVfc2h1dGRvd24o
KTsKLSAgICAgICAgZWNvcmVfZXZhc19zaHV0ZG93bigpOwotICAgICAgICBlY29yZV9zaHV0ZG93
bigpOwotICAgIH0KIH0KIAogdm9pZCBSdW5Mb29wOjpydW4oKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5j
bWFrZQppbmRleCBkMzkzMmI2ZGM5NjcxYWExYmQ3OGZjNzU3MzM2ODU3ZjI2Y2EyNGQ5Li5kMDAz
ZmJlNzA5YzJlNTIwZThmYWYzZTQ4OTRhMWMwNWFlNzFjMTA0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVm
bC5jbWFrZQpAQCAtMjIwLDcgKzIyMCw2IEBAIFNFVCAoRVdlYktpdDJfSEVBREVSUwogICAgICIk
e0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Zvcm1fc3Vi
bWlzc2lvbl9yZXF1ZXN0LmgiCiAgICAgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9VSVBy
b2Nlc3MvQVBJL2VmbC9ld2tfaW50ZW50LmgiCiAgICAgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0Vf
RElSfS9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfaW50ZW50X3NlcnZpY2UuaCIKLSAgICAiJHtDTUFL
RV9DVVJSRU5UX1NPVVJDRV9ESVJ9L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19tYWluLmgiCiAgICAg
IiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfbmF2aWdh
dGlvbl9wb2xpY3lfZGVjaXNpb24uaCIKICAgICAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9
L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19wb3B1cF9tZW51X2l0ZW0uaCIKICAgICAiJHtDTUFLRV9D
VVJSRU5UX1NPVVJDRV9ESVJ9L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19zZXR0aW5ncy5oIgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRVdlYktpdDIuaCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0VXZWJLaXQyLmgKaW5kZXggMTNlZmFiMTNh
YzM0MDljYjNiNGNlOTY1YzE0MGY1YmMwZDRkMzUyYS4uZDgzZWI2MGZiY2FkN2NjODkzNTM4YmE3
Nzg3YjIzNzQzNWYzNTZhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvRVdlYktpdDIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9F
V2ViS2l0Mi5oCkBAIC0zNiw3ICszNiw2IEBACiAjaW5jbHVkZSAiZXdrX2Zvcm1fc3VibWlzc2lv
bl9yZXF1ZXN0LmgiCiAjaW5jbHVkZSAiZXdrX2ludGVudC5oIgogI2luY2x1ZGUgImV3a19pbnRl
bnRfc2VydmljZS5oIgotI2luY2x1ZGUgImV3a19tYWluLmgiCiAjaW5jbHVkZSAiZXdrX25hdmln
YXRpb25fcG9saWN5X2RlY2lzaW9uLmgiCiAjaW5jbHVkZSAiZXdrX3BvcHVwX21lbnVfaXRlbS5o
IgogI2luY2x1ZGUgImV3a19zZXR0aW5ncy5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuY3BwCmluZGV4IGIzNGZmNzdkZjY5MTFjMjRhZDM1YTEy
MzAwMDk3NDk2MjlhYzM5NmQuLjU2OTVmOGY5NmFkNzg1YjNiNWI2NmFlMjdkZThmMWRlODM4NmM1
OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250
ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4
dC5jcHAKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJld2tfY29va2llX21hbmFnZXJfcHJp
dmF0ZS5oIgogI2luY2x1ZGUgImV3a19kb3dubG9hZF9qb2IuaCIKICNpbmNsdWRlICJld2tfZG93
bmxvYWRfam9iX3ByaXZhdGUuaCIKKyNpbmNsdWRlICJld2tfbWFpbl9wcml2YXRlLmgiCiAjaW5j
bHVkZSA8V2ViQ29yZS9GaWxlU3lzdGVtLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTgxLDYgKzgyLDggQEAgc3RydWN0IF9F
d2tfQ29udGV4dCB7CiAgICAgICAgICwgY29va2llTWFuYWdlcigwKQogICAgICAgICAsIHJlcXVl
c3RNYW5hZ2VyKFdLQ29udGV4dEdldFNvdXBSZXF1ZXN0TWFuYWdlcihjb250ZXh0UmVmLmdldCgp
KSkKICAgICB7CisgICAgICAgIGV3a19pbml0KCk7CisKICNpZiBFTkFCTEUoQkFUVEVSWV9TVEFU
VVMpCiAgICAgICAgIFdLQmF0dGVyeU1hbmFnZXJSZWYgd2tCYXR0ZXJ5TWFuYWdlciA9IFdLQ29u
dGV4dEdldEJhdHRlcnlNYW5hZ2VyKGNvbnRleHRSZWYuZ2V0KCkpOwogICAgICAgICBiYXR0ZXJ5
UHJvdmlkZXIgPSBCYXR0ZXJ5UHJvdmlkZXI6OmNyZWF0ZSh3a0JhdHRlcnlNYW5hZ2VyKTsKQEAg
LTExNCw2ICsxMTcsOCBAQCBzdHJ1Y3QgX0V3a19Db250ZXh0IHsKICAgICAgICAgSGFzaE1hcDx1
aW50NjRfdCwgRXdrX0Rvd25sb2FkX0pvYio+OjppdGVyYXRvciBlbmQgPSBkb3dubG9hZEpvYnMu
ZW5kKCk7CiAgICAgICAgIGZvciAoIDsgaXQgIT0gZW5kOyArK2l0KQogICAgICAgICAgICAgZXdr
X2Rvd25sb2FkX2pvYl91bnJlZihpdC0+c2Vjb25kKTsKKworICAgICAgICBld2tfc2h1dGRvd24o
KTsKICAgICB9CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfbWFpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tf
bWFpbi5jcHAKaW5kZXggZmNjOWZhZjFhMDQ3NDcxMjhkMTAxZTlkYjRiMjM5NmMxOGNlNjc4Ny4u
MTZiODMwMWNjYjIwNDRmZDJhODM5Y2M2MWQ0MzVkMzZlYTgwNTJjNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX21haW4uY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19tYWluLmNwcApAQCAtMjAsNyArMjAsNiBAQAog
Ki8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgImV3a19tYWluLmgiCiAKICNpbmNs
dWRlICJld2tfcHJpdmF0ZS5oIgogI2luY2x1ZGUgPEVjb3JlLmg+CkBAIC0zOSw2ICszOCwxMyBA
QCBzdGF0aWMgaW50IF9ld2tJbml0Q291bnQgPSAwOwogICovCiBpbnQgX2V3a19sb2dfZG9tID0g
LTE7CiAKKy8qKgorICogQGludGVybmFsCisgKiBJbml0aWFsaXplcyBXZWJLaXQncyBpbnN0YW5j
ZS4KKyAqIC0gaW5pdGlhbGl6ZXMgY29tcG9uZW50cyBuZWVkZWQgYnkgRUZMLAorICogLSBpbmNy
ZWFzZXMgYSByZWZlcmVuY2UgY291bnQgb2YgV2ViS2l0J3MgaW5zdGFuY2UuCisgKiBSZXR1cm5z
IGEgcmVmZXJlbmNlIGNvdW50IG9mIFdlYktpdCdzIGluc3RhbmNlIG9uIHN1Y2Nlc3Mgb3IgMCBv
biBmYWlsdXJlCisgKi8KIGludCBld2tfaW5pdCh2b2lkKQogewogICAgIGlmIChfZXdrSW5pdENv
dW50KQpAQCAtNjgsNiArNzQsMTEgQEAgaW50IGV3a19pbml0KHZvaWQpCiAgICAgICAgIGdvdG8g
ZXJyb3JfZWNvcmVfZXZhczsKICAgICB9CiAKKyAgICBpZiAoIWVkamVfaW5pdCgpKSB7CisgICAg
ICAgIENSSVRJQ0FMKCJjb3VsZCBub3QgaW5pdCBlZGplLiIpOworICAgICAgICBnb3RvIGVycm9y
X2VkamU7CisgICAgfQorCiAgICAgZ190eXBlX2luaXQoKTsKIAogICAgIGlmICghZWNvcmVfbWFp
bl9sb29wX2dsaWJfaW50ZWdyYXRlKCkpIHsKQEAgLTc3LDYgKzg4LDggQEAgaW50IGV3a19pbml0
KHZvaWQpCiAKICAgICByZXR1cm4gKytfZXdrSW5pdENvdW50OwogCitlcnJvcl9lZGplOgorICAg
IGVjb3JlX2V2YXNfc2h1dGRvd24oKTsKIGVycm9yX2Vjb3JlX2V2YXM6CiAgICAgZWNvcmVfc2h1
dGRvd24oKTsKIGVycm9yX2Vjb3JlOgpAQCAtOTAsNiArMTAzLDEyIEBAIGVycm9yX2VpbmE6CiAg
ICAgcmV0dXJuIDA7CiB9CiAKKy8qKgorICogQGludGVybmFsCisgKiBEZWNyZWFzZXMgYSByZWZl
cmVuY2UgY291bnQgb2YgV2ViS2l0J3MgaW5zdGFuY2UsIHBvc3NpYmx5IGRlc3Ryb3lpbmcgaXQu
CisgKiBJZiB0aGUgcmVmZXJlbmNlIGNvdW50IHJlYWNoZXMgMCBXZWJLaXQncyBpbnN0YW5jZSBp
cyBkZXN0cm95ZWQuCisgKiBSZXR1cm5zIGEgcmVmZXJlbmNlIGNvdW50IG9mIFdlYktpdCdzIGlu
c3RhbmNlCisgKi8KIGludCBld2tfc2h1dGRvd24odm9pZCkKIHsKICAgICBpZiAoLS1fZXdrSW5p
dENvdW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X21haW4uaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19tYWluLmgKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI4ZTkzZmUyM2ZkMjJiNmUxMjgyMTNhMzhlZjg4
ZjEwMjFhNjdlMjYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX21haW4uaAorKysgL2Rldi9u
dWxsCkBAIC0xLDU4ICswLDAgQEAKLS8qCi0gICAgQ29weXJpZ2h0IChDKSAyMDA5LTIwMTAgUHJv
RlVTSU9OIGVtYmVkZGVkIHN5c3RlbXMKLSAgICBDb3B5cmlnaHQgKEMpIDIwMDktMjAxMCBTYW1z
dW5nIEVsZWN0cm9uaWNzCi0gICAgQ29weXJpZ2h0IChDKSAyMDEyIEludGVsIENvcnBvcmF0aW9u
Ci0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vu
c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIGxp
YnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
LSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3Jp
dGUgdG8KLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xp
biBTdHJlZXQsIEZpZnRoIEZsb29yLAotICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgot
Ki8KLQotLyoqCi0gKiBAZmlsZSAgICBld2tfbWFpbi5oCi0gKiBAYnJpZWYgICBUaGUgZ2VuZXJh
bCBpbml0aWFsaXphdGlvbiBvZiBXZWJLaXQyLUVGTCwgbm90IHRpZWQgdG8gYW55IHZpZXcgb2Jq
ZWN0LgotICovCi0KLSNpZm5kZWYgZXdrX21haW5faAotI2RlZmluZSBld2tfbWFpbl9oCi0KLSNp
bmNsdWRlIDxFaW5hLmg+Ci0KLSNpZmRlZiBfX2NwbHVzcGx1cwotZXh0ZXJuICJDIiB7Ci0jZW5k
aWYKLQotLyoqCi0gKiBJbml0aWFsaXplcyBXZWJLaXQncyBpbnN0YW5jZS4KLSAqCi0gKiAtIGlu
aXRpYWxpemVzIGNvbXBvbmVudHMgbmVlZGVkIGJ5IEVGTCwKLSAqIC0gaW5jcmVhc2VzIGEgcmVm
ZXJlbmNlIGNvdW50IG9mIFdlYktpdCdzIGluc3RhbmNlLgotICoKLSAqIEByZXR1cm4gYSByZWZl
cmVuY2UgY291bnQgb2YgV2ViS2l0J3MgaW5zdGFuY2Ugb24gc3VjY2VzcyBvciAwIG9uIGZhaWx1
cmUKLSAqLwotRUFQSSBpbnQgZXdrX2luaXQodm9pZCk7Ci0KLS8qKgotICogRGVjcmVhc2VzIGEg
cmVmZXJlbmNlIGNvdW50IG9mIFdlYktpdCdzIGluc3RhbmNlLCBwb3NzaWJseSBkZXN0cm95aW5n
IGl0LgotICoKLSAqIElmIHRoZSByZWZlcmVuY2UgY291bnQgcmVhY2hlcyAwIFdlYktpdCdzIGlu
c3RhbmNlIGlzIGRlc3Ryb3llZC4KLSAqCi0gKiBAcmV0dXJuIGEgcmVmZXJlbmNlIGNvdW50IG9m
IFdlYktpdCdzIGluc3RhbmNlCi0gKi8KLUVBUEkgaW50IGV3a19zaHV0ZG93bih2b2lkKTsKLQot
I2lmZGVmIF9fY3BsdXNwbHVzCi19Ci0jZW5kaWYKLSNlbmRpZiAvLyBld2tfbWFpbl9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfbWFpbl9wcml2YXRl
LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfbWFpbl9wcml2YXRlLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNDRmYmM5ZGI3OTMwMWFjYmQ1MWQwZGIyYjgyMGE3MTNlMWIxOGNlOQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19tYWlu
X3ByaXZhdGUuaApAQCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIFNh
bXN1bmcgRWxlY3Ryb25pY3MKKyAqIENvcHlyaWdodCAoQykgMjAxMiBJbnRlbCBDb3Jwb3JhdGlv
bgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWZuZGVmIGV3a19tYWluX3ByaXZhdGVfaAorI2RlZmluZSBld2tfbWFp
bl9wcml2YXRlX2gKKworaW50IGV3a19pbml0KCk7CitpbnQgZXdrX3NodXRkb3duKCk7CisKKyNl
bmRpZiAvLyBld2tfbWFpbl9wcml2YXRlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VX
SzJVbml0VGVzdEJhc2UuY3BwCmluZGV4IDE2OTFmMGQ3YzE4M2ZjODY4Nzg3Y2FjNWJkOWFjYmMz
ODgzYmU5OTEuLjY4ZTczMjRiNWY3ZjhmZjQ2NmM2ZThhMDBjN2QzNTA3NWUyOGQ5MmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRp
bHMvRVdLMlVuaXRUZXN0QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmNwcApAQCAtNDUsNyAr
NDUsNyBAQCBFV0syVW5pdFRlc3RCYXNlOjpFV0syVW5pdFRlc3RCYXNlKCkKIAogdm9pZCBFV0sy
VW5pdFRlc3RCYXNlOjpTZXRVcCgpCiB7Ci0gICAgZXdrX2luaXQoKTsKKyAgICBBU1NFUlRfR1Qo
ZWNvcmVfZXZhc19pbml0KCksIDApOwogCiAgICAgdW5zaWduZWQgaW50IHdpZHRoID0gZW52aXJv
bm1lbnQtPmRlZmF1bHRXaWR0aCgpOwogICAgIHVuc2lnbmVkIGludCBoZWlnaHQgPSBlbnZpcm9u
bWVudC0+ZGVmYXVsdEhlaWdodCgpOwpAQCAtNzEsNyArNzEsNyBAQCB2b2lkIEVXSzJVbml0VGVz
dEJhc2U6OlRlYXJEb3duKCkKIHsKICAgICBldmFzX29iamVjdF9kZWwobV93ZWJWaWV3KTsKICAg
ICBlY29yZV9ldmFzX2ZyZWUobV9lY29yZUV2YXMpOwotICAgIGV3a19zaHV0ZG93bigpOworICAg
IGVjb3JlX2V2YXNfc2h1dGRvd24oKTsKIH0KIAogdm9pZCBFV0syVW5pdFRlc3RCYXNlOjpsb2Fk
VXJsU3luYyhjb25zdCBjaGFyKiB1cmwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL2VmbC9XZWJQcm9jZXNzTWFpbkVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL2VmbC9XZWJQcm9jZXNzTWFpbkVmbC5jcHAKaW5kZXggNTg5YWE3MGZlZDQ2MTU1YmQ0YjM3
OTRiMGE1MDc5MGU5YzE1YmE5OS4uZDg2MDllYTYxNTE2YmRjNDkzNTljYWUxMTg0ZTQ0ZTAxOWE1
NzIxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9lZmwvV2ViUHJvY2Vz
c01haW5FZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvZWZsL1dlYlByb2Nl
c3NNYWluRWZsLmNwcApAQCAtMzEsNiArMzEsOCBAQAogI2luY2x1ZGUgIlByb3h5UmVzb2x2ZXJT
b3VwLmgiCiAjaW5jbHVkZSAiV0tCYXNlLmgiCiAjaW5jbHVkZSA8RWNvcmUuaD4KKyNpbmNsdWRl
IDxFY29yZV9FdmFzLmg+CisjaW5jbHVkZSA8RWRqZS5oPgogI2luY2x1ZGUgPEVmcmVldC5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VIYW5kbGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1J1
bkxvb3AuaD4KQEAgLTY0LDYgKzY2LDE5IEBAIFdLX0VYUE9SVCBpbnQgV2ViUHJvY2Vzc01haW5F
ZmwoaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKICAgICAgICAgcmV0dXJuIDE7CiAgICAgfQogCisg
ICAgaWYgKCFlY29yZV9ldmFzX2luaXQoKSkgeworICAgICAgICBlY29yZV9zaHV0ZG93bigpOwor
ICAgICAgICBlaW5hX3NodXRkb3duKCk7CisgICAgICAgIHJldHVybiAxOworICAgIH0KKworICAg
IGlmICghZWRqZV9pbml0KCkpIHsKKyAgICAgICAgZWNvcmVfZXZhc19zaHV0ZG93bigpOworICAg
ICAgICBlY29yZV9zaHV0ZG93bigpOworICAgICAgICBlaW5hX3NodXRkb3duKCk7CisgICAgICAg
IHJldHVybiAxOworICAgIH0KKwogI2lmIEVOQUJMRShHTElCX1NVUFBPUlQpCiAgICAgZ190eXBl
X2luaXQoKTsKIApAQCAtMTA1LDYgKzEyMCwxMSBAQCBXS19FWFBPUlQgaW50IFdlYlByb2Nlc3NN
YWluRWZsKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCiAgICAgc291cF9jYWNoZV9kdW1wKHNvdXBD
YWNoZSk7CiAgICAgZ19vYmplY3RfdW5yZWYoc291cENhY2hlKTsKIAorICAgIGVkamVfc2h1dGRv
d24oKTsKKyAgICBlY29yZV9ldmFzX3NodXRkb3duKCk7CisgICAgZWNvcmVfc2h1dGRvd24oKTsK
KyAgICBlaW5hX3NodXRkb3duKCk7CisKICAgICByZXR1cm4gMDsKIAogfQpkaWZmIC0tZ2l0IGEv
VG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDVjMDk2M2ZmYjI1MmFhZDY4
YzEyZDU4ZWVmYzIwMDk3ZWNmYTgxMWEuLjM2ZmE3N2YwOTg5MmFjNDIzZTFlMzM2YjIwZTBjNWNk
NmYwMzgyMDAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMi0wOS0yNiAgRXVubWkgTGVlICA8ZXVubWkxNS5sZWVA
c2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0VGTF1bV0syXSBSZWZhY3RvcmluZyBpbml0aWFsaXph
dGlvbiBhbmQgc2h1dGRvd24gY29kZXMgb2YgRUZMIGxpYnJhcmllcy4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3MTczCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGluaXRpYWxpemF0aW9uIGFuZCBz
aHV0ZG93biBhcmUgZG9uZSBpbnNpZGUgdGhlIHdlYmtpdCwgc28gd2UgZG9uJ3QKKyAgICAgICAg
aGF2ZSB0byBjYWxsIHRoZW0gb3V0IG9mIHRoZSB3ZWJraXQuCisKKyAgICAgICAgKiBNaW5pQnJv
d3Nlci9lZmwvbWFpbi5jOgorICAgICAgICAocXVpdCk6CisgICAgICAgIChtYWluKToKKyAgICAg
ICAgKiBXZWJLaXRUZXN0UnVubmVyL2VmbC9QbGF0Zm9ybVdlYlZpZXdFZmwuY3BwOgorICAgICAg
ICAoV1RSOjppbml0RWNvcmVFdmFzKToKKyAgICAgICAgKFdUUjo6UGxhdGZvcm1XZWJWaWV3Ojp+
UGxhdGZvcm1XZWJWaWV3KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL2VmbC9tYWluLmNw
cDoKKyAgICAgICAgKG1haW4pOgorCiAyMDEyLTA5LTI1ICBSYXBoYWVsIEt1Ym8gZGEgQ29zdGEg
IDxyYXBoYWVsLmt1Ym8uZGEuY29zdGFAaW50ZWwuY29tPgogCiAgICAgICAgIFtEUlRdW1dUUl0g
U3VwcG9ydCBvdmVycmlkaW5nIHRoZSAnV2ViS2l0RGlzcGxheUltYWdlc0tleScgcHJlZmVyZW5j
ZQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvZWZsL21haW4uYyBiL1Rvb2xzL01pbmlC
cm93c2VyL2VmbC9tYWluLmMKaW5kZXggYjQ0ZTUxNGExMGRjNjI0MTBmYmJjMGQ0OGY5N2RhMDcx
YjNjYjU0OS4uMzE0ZWYxZTc0NTg4MGVlOWMxMTJlOTBlZTE5MGQ0MTI4YTFhZjI3NCAxMDA2NDQK
LS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvZWZsL21haW4uYworKysgYi9Ub29scy9NaW5pQnJvd3Nl
ci9lZmwvbWFpbi5jCkBAIC0yMDAsNyArMjAwLDcgQEAgb25fZXJyb3Iodm9pZCAqdXNlcl9kYXRh
LCBFdmFzX09iamVjdCAqd2Vidmlldywgdm9pZCAqZXZlbnRfaW5mbykKIHN0YXRpYyBpbnQKIHF1
aXQoRWluYV9Cb29sIHN1Y2Nlc3MsIGNvbnN0IGNoYXIgKm1zZykKIHsKLSAgICBld2tfc2h1dGRv
d24oKTsKKyAgICBlY29yZV9ldmFzX3NodXRkb3duKCk7CiAKICAgICBpZiAobXNnKQogICAgICAg
ICBmcHV0cyhtc2csIChzdWNjZXNzKSA/IHN0ZG91dCA6IHN0ZGVycik7CkBAIC0yNjgsNyArMjY4
LDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKICAgICAgICAgRUNPUkVfR0VU
T1BUX1ZBTFVFX05PTkUKICAgICB9OwogCi0gICAgaWYgKCFld2tfaW5pdCgpKQorICAgIGlmICgh
ZWNvcmVfZXZhc19pbml0KCkpCiAgICAgICAgIHJldHVybiBFWElUX0ZBSUxVUkU7CiAKICAgICBl
Y29yZV9hcHBfYXJnc19zZXQoYXJnYywgKGNvbnN0IGNoYXIgKiopIGFyZ3YpOwpkaWZmIC0tZ2l0
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9lZmwvUGxhdGZvcm1XZWJWaWV3RWZsLmNwcCBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvZWZsL1BsYXRmb3JtV2ViVmlld0VmbC5jcHAKaW5kZXggMGJk
YjIzNmRkZGY0YWU5MWM1MDg4N2U1M2M5ZWQ0ZjkzNzNlM2RlZi4uZjI1MzhlMDYwYTg0MmFhYjMw
MTg2ZmUyMWU5ZDJkNjJjZDQ2ZjAxZCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9lZmwvUGxhdGZvcm1XZWJWaWV3RWZsLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L2VmbC9QbGF0Zm9ybVdlYlZpZXdFZmwuY3BwCkBAIC0zMiw2ICszMiw5IEBAIHN0YXRpYyBib29s
IHVzZVgxMVdpbmRvdyA9IGZhbHNlOwogCiBzdGF0aWMgRWNvcmVfRXZhcyogaW5pdEVjb3JlRXZh
cygpCiB7CisgICAgaWYgKCFlY29yZV9ldmFzX2luaXQoKSkKKyAgICAgICAgcmV0dXJuIDA7CisK
ICAgICBFY29yZV9FdmFzKiBlY29yZUV2YXMgPSB1c2VYMTFXaW5kb3cgPyBlY29yZV9ldmFzX25l
dygwLCAwLCAwLCA4MDAsIDYwMCwgMCkgOiBlY29yZV9ldmFzX2J1ZmZlcl9uZXcoODAwLCA2MDAp
OwogICAgIGlmICghZWNvcmVFdmFzKQogICAgICAgICByZXR1cm4gMDsKQEAgLTU3LDYgKzYwLDcg
QEAgUGxhdGZvcm1XZWJWaWV3Ojp+UGxhdGZvcm1XZWJWaWV3KCkKIHsKICAgICBldmFzX29iamVj
dF9kZWwobV92aWV3KTsKICAgICBlY29yZV9ldmFzX2ZyZWUobV93aW5kb3cpOworICAgIGVjb3Jl
X2V2YXNfc2h1dGRvd24oKTsKIH0KIAogdm9pZCBQbGF0Zm9ybVdlYlZpZXc6OnJlc2l6ZVRvKHVu
c2lnbmVkIHdpZHRoLCB1bnNpZ25lZCBoZWlnaHQpCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL2VmbC9tYWluLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZWZsL21haW4u
Y3BwCmluZGV4IDk4YmNkZTJhN2MwMDE2YjhkNzgyNjJjMmRmNzZjM2FjMmI2ODY0NjMuLmUyNmYw
YjYzYTI0MzQ1YjRjYzk2ZDc5YzU0ZDI5YTM3MDU1NDQ2ODIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvZWZsL21haW4uY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
ZWZsL21haW4uY3BwCkBAIC0zMiwxOCArMzIsMTMgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIq
KiBhcmd2KQogewogICAgIFdURkluc3RhbGxSZXBvcnRCYWNrdHJhY2VPbkNyYXNoSG9vaygpOwog
Ci0gICAgaWYgKCFld2tfaW5pdCgpKQotICAgICAgICByZXR1cm4gMTsKLQogI2lmZGVmIEhBVkVf
RUNPUkVfWAogICAgIGNvbnN0IGNoYXIqIGRpc3BsYXkgPSBnZXRlbnYoIkRJU1BMQVkiKTsKLSAg
ICBpbnQgaW50aWFsaXplZCA9IDA7CisgICAgaW50IGluaXRpYWxpemVkID0gMDsKICAgICBpZiAo
ZGlzcGxheSkgewotICAgICAgICBpbnRpYWxpemVkID0gZWNvcmVfeF9pbml0KDApOwotICAgICAg
ICBpZiAoIWludGlhbGl6ZWQpIHsKLSAgICAgICAgICAgIGV3a19zaHV0ZG93bigpOworICAgICAg
ICBpbml0aWFsaXplZCA9IGVjb3JlX3hfaW5pdCgwKTsKKyAgICAgICAgaWYgKCFpbml0aWFsaXpl
ZCkKICAgICAgICAgICAgIHJldHVybiAxOwotICAgICAgICB9CiAgICAgfQogI2VuZGlmCiAKQEAg
LTUxLDEyICs0NiwxMCBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpCiAgICAgV1RS
OjpUZXN0Q29udHJvbGxlciBjb250cm9sbGVyKGFyZ2MsIGNvbnN0X2Nhc3Q8Y29uc3QgY2hhcioq
Pihhcmd2KSk7CiAKICNpZmRlZiBIQVZFX0VDT1JFX1gKLSAgICBpZiAoaW50aWFsaXplZCkKKyAg
ICBpZiAoaW5pdGlhbGl6ZWQpCiAgICAgICAgIGVjb3JlX3hfc2h1dGRvd24oKTsKICNlbmRpZgog
Ci0gICAgZXdrX3NodXRkb3duKCk7Ci0KICAgICByZXR1cm4gMDsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165999</attachid>
            <date>2012-09-27 07:49:26 -0700</date>
            <delta_ts>2012-09-27 23:38:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97173-20120927234844.patch</filename>
            <type>text/plain</type>
            <size>17760</size>
            <attacher name="Eunmi Lee">enmi.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NzYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWJmYTQ2YzM5YTE5ZDQ1
NzhlZDExOWU1OGU3ZGM2YzQ1NGM5ZTYxYi4uOTE5ZjEwMzM5Yzk4OTdjMWEzZTcwMDFmZmY3Zjhm
ZDZiMTMyNTk4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTA5LTI3ICBFdW5t
aSBMZWUgIDxldW5taTE1LmxlZUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIFJl
ZmFjdG9yaW5nIGluaXRpYWxpemF0aW9uIGFuZCBzaHV0ZG93biBjb2RlcyBvZiBFRkwgbGlicmFy
aWVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTcx
NzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1v
dmUgY29kZXMgdG8gaW5pdGlhbGl6ZSBhbmQgc2h1dGRvd24gdGhlIEVGTCBsaWJyYXJpZXMgZnJv
bQorICAgICAgICBSdW5Mb29wRWZsLmNwcC4gSW5pdGlhbGl6YXRpb24gYW5kIHNodXRkb3duIHdp
bGwgYmUgZG9uZSBpbiB0aGUKKyAgICAgICAgZXdrX21haW4uY3BwIGZvciB1aSBwcm9jZXNzIGFu
ZCBXZWJQcm9jZXNzTWFpbkVmbC5jcHAgZm9yIHdlYgorICAgICAgICBwcm9jZXNzLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cy4gVGhpcyBwYXRjaCBkb2Vzbid0IGNoYW5nZSBiZWhhdmlvci4KKwor
ICAgICAgICAqIHBsYXRmb3JtL2VmbC9SdW5Mb29wRWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJ1bkxvb3A6OlJ1bkxvb3ApOgorICAgICAgICAoV2ViQ29yZTo6UnVuTG9vcDo6flJ1bkxvb3Ap
OgorCiAyMDEyLTA5LTI3ICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBOTUk6IG1vdmUgdmlzaXRlZCBhbmQgY291bnRPYmpl
Y3RTaXplIG1ldGhvZHMgaW1wbGVtZW50YXRpb24gaW50byBzZXBhcmF0ZSBjbGFzcy4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwppbmRleCBjZWY1YzY0MzNjZDdiM2NmYTNkNjk4M2ViMzI2NDBkZWJkN2EyMDc1Li5kMGVhNjAy
YThjYzhlZjc3M2FiOGQyMmY0ZDBmYTVjMTU2YTcyNzFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MzEgQEAKKzIwMTItMDktMjcgIEV1bm1pIExlZSAgPGV1bm1pMTUubGVlQHNhbXN1bmcuY29tPgor
CisgICAgICAgIFtFRkxdW1dLMl0gUmVmYWN0b3JpbmcgaW5pdGlhbGl6YXRpb24gYW5kIHNodXRk
b3duIGNvZGVzIG9mIEVGTCBsaWJyYXJpZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05NzE3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEluaXRpYWxpemUgYW5kIHNodXRkb3duIHRoZSBFRkwgbGlicmFy
aWVzIGluIHRoZSBld2tfbWFpbi5jcHAgZm9yIHVpCisgICAgICAgIHByb2Nlc3MgYW5kIFdlYlBy
b2Nlc3NNYWluRWZsLmNwcCBmb3Igd2ViIHByb2Nlc3MuCisgICAgICAgIEFkZGl0aW9uYWxseSwg
aW5pdGlhbGl6YXRpb24gYW5kIHNodXRkb3duIGFyZSBkb25lIHdoZW4gZXdrX2NvbnRleHQgaXMK
KyAgICAgICAgY3JlYXRlZCBhbmQgZGVsZXRlZCwgc28gZXdrX3tpbml0LHNodXRkb3dufSBBUElz
IGFyZSBjaGFuZ2VkIHRvCisgICAgICAgIGludGVybmFsIGZ1bmN0aW9uIGFuZCBhcHBsaWNhdGlv
bnMgZG9uJ3QgaGF2ZSB0byBjYWxsIHRoZW0uCisKKyAgICAgICAgKiBQbGF0Zm9ybUVmbC5jbWFr
ZToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9FV2ViS2l0Mi5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0LmNwcDoKKyAgICAgICAgKF9Fd2tfQ29udGV4dDo6
X0V3a19Db250ZXh0KToKKyAgICAgICAgKF9Fd2tfQ29udGV4dDo6fl9Fd2tfQ29udGV4dCk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX21haW4uY3BwOgorICAgICAgICAoZXdrX2lu
aXQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19tYWluLmg6IFJlbW92ZWQuCisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX21haW5fcHJpdmF0ZS5oOiBBZGRlZC4KKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVz
dEJhc2UuY3BwOgorICAgICAgICAoRVdLMlVuaXRUZXN0OjpFV0syVW5pdFRlc3RCYXNlOjpTZXRV
cCk6CisgICAgICAgIChFV0syVW5pdFRlc3Q6OkVXSzJVbml0VGVzdEJhc2U6OlRlYXJEb3duKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL2VmbC9XZWJQcm9jZXNzTWFpbkVmbC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3NNYWluRWZsKToKKwogMjAxMi0wOS0yNyAgSmlud29vIFNvbmcg
IDxqaW53b283LnNvbmdAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF1bV0syXSBBZGQgY2Fs
bGJhY2sgZnVuY3Rpb25zIGZvciBXS1BhZ2VGaW5kQ2xpZW50CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9lZmwvUnVuTG9vcEVmbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9lZmwvUnVuTG9vcEVmbC5jcHAKaW5kZXggZjI5OWQ4ZWNmMjY4MjQwYmRkMjY2NmJhNTJh
NDRiY2NiYTE5ZTIyZC4uZjJkMzQ3YzU1YmE5NzIxODVlZTAwYzdhZDMzM2MwZWNhNjFlOWE2NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1J1bkxvb3BFZmwuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9SdW5Mb29wRWZsLmNwcApAQCAtMjgsOSAr
MjgsNiBAQAogI2luY2x1ZGUgIlJ1bkxvb3AuaCIKIAogI2luY2x1ZGUgPEVjb3JlLmg+Ci0jaW5j
bHVkZSA8RWNvcmVfRXZhcy5oPgotI2luY2x1ZGUgPEVjb3JlX0ZpbGUuaD4KLSNpbmNsdWRlIDxF
ZGplLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRy
Lmg+CiAKQEAgLTQyLDQ3ICszOSwxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBSdW5Mb29wOjpS
dW5Mb29wKCkKICAgICA6IG1faW5pdEVmbChmYWxzZSkKIHsKLSAgICBpZiAoIWVjb3JlX2luaXQo
KSkgewotICAgICAgICBMT0dfRVJST1IoImNvdWxkIG5vdCBpbml0IGVjb3JlLiIpOwotICAgICAg
ICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKCFlY29yZV9ldmFzX2luaXQoKSkgewotICAgICAg
ICBMT0dfRVJST1IoImNvdWxkIG5vdCBpbml0IGVjb3JlX2V2YXMuIik7Ci0gICAgICAgIGdvdG8g
ZXJyb3JFY29yZUV2YXM7Ci0gICAgfQotCi0gICAgaWYgKCFlY29yZV9maWxlX2luaXQoKSkgewot
ICAgICAgICBMT0dfRVJST1IoImNvdWxkIG5vdCBpbml0IGVjb3JlX2ZpbGUuIik7Ci0gICAgICAg
IGdvdG8gZXJyb3JFY29yZUZpbGU7Ci0gICAgfQotCi0gICAgaWYgKCFlZGplX2luaXQoKSkgewot
ICAgICAgICBMT0dfRVJST1IoImNvdWxkIG5vdCBpbml0IGVkamUuIik7Ci0gICAgICAgIGdvdG8g
ZXJyb3JFZGplOwotICAgIH0KLQogICAgIG1fcGlwZSA9IGFkb3B0UHRyKGVjb3JlX3BpcGVfYWRk
KHdha2VVcEV2ZW50LCB0aGlzKSk7CiAgICAgbV9pbml0RWZsID0gdHJ1ZTsKLQotICAgIHJldHVy
bjsKLQotZXJyb3JFZGplOgotICAgIGVjb3JlX2ZpbGVfc2h1dGRvd24oKTsKLWVycm9yRWNvcmVG
aWxlOgotICAgIGVjb3JlX2V2YXNfc2h1dGRvd24oKTsKLWVycm9yRWNvcmVFdmFzOgotICAgIGVj
b3JlX3NodXRkb3duKCk7CiB9CiAKIFJ1bkxvb3A6On5SdW5Mb29wKCkKIHsKLSAgICBpZiAobV9p
bml0RWZsKSB7Ci0gICAgICAgIGVkamVfc2h1dGRvd24oKTsKLSAgICAgICAgZWNvcmVfZmlsZV9z
aHV0ZG93bigpOwotICAgICAgICBlY29yZV9ldmFzX3NodXRkb3duKCk7Ci0gICAgICAgIGVjb3Jl
X3NodXRkb3duKCk7Ci0gICAgfQogfQogCiB2b2lkIFJ1bkxvb3A6OnJ1bigpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtRWZsLmNtYWtlCmluZGV4IGQzOTMyYjZkYzk2NzFhYTFiZDc4ZmM3NTczMzY4NTdmMjZjYTI0
ZDkuLmQwMDNmYmU3MDljMmU1MjBlOGZhZjNlNDg5NGExYzA1YWU3MWMxMDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtRWZsLmNtYWtlCkBAIC0yMjAsNyArMjIwLDYgQEAgU0VUIChFV2ViS2l0Ml9IRUFERVJT
CiAgICAgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9VSVByb2Nlc3MvQVBJL2VmbC9ld2tf
Zm9ybV9zdWJtaXNzaW9uX3JlcXVlc3QuaCIKICAgICAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9E
SVJ9L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19pbnRlbnQuaCIKICAgICAiJHtDTUFLRV9DVVJSRU5U
X1NPVVJDRV9ESVJ9L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19pbnRlbnRfc2VydmljZS5oIgotICAg
ICIke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwvZXdrX21haW4u
aCIKICAgICAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L1VJUHJvY2Vzcy9BUEkvZWZsL2V3
a19uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbi5oIgogICAgICIke0NNQUtFX0NVUlJFTlRfU09V
UkNFX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3BvcHVwX21lbnVfaXRlbS5oIgogICAgICIk
e0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3NldHRpbmdz
LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9FV2ViS2l0
Mi5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRVdlYktpdDIuaAppbmRleCAx
M2VmYWIxM2FjMzQwOWNiM2I0Y2U5NjVjMTQwZjViYzBkNGQzNTJhLi5kODNlYjYwZmJjYWQ3Y2M4
OTM1MzhiYTc3ODdiMjM3NDM1ZjM1NmExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9FV2ViS2l0Mi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL0VXZWJLaXQyLmgKQEAgLTM2LDcgKzM2LDYgQEAKICNpbmNsdWRlICJld2tfZm9ybV9z
dWJtaXNzaW9uX3JlcXVlc3QuaCIKICNpbmNsdWRlICJld2tfaW50ZW50LmgiCiAjaW5jbHVkZSAi
ZXdrX2ludGVudF9zZXJ2aWNlLmgiCi0jaW5jbHVkZSAiZXdrX21haW4uaCIKICNpbmNsdWRlICJl
d2tfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb24uaCIKICNpbmNsdWRlICJld2tfcG9wdXBfbWVu
dV9pdGVtLmgiCiAjaW5jbHVkZSAiZXdrX3NldHRpbmdzLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dC5jcHAKaW5kZXggYjM0ZmY3N2RmNjkxMWMy
NGFkMzVhMTIzMDAwOTc0OTYyOWFjMzk2ZC4uNTY5NWY4Zjk2YWQ3ODViM2I1YjY2YWUyN2RlOGYx
ZGU4Mzg2YzU5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
ZXdrX2NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3
a19jb250ZXh0LmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgImV3a19jb29raWVfbWFu
YWdlcl9wcml2YXRlLmgiCiAjaW5jbHVkZSAiZXdrX2Rvd25sb2FkX2pvYi5oIgogI2luY2x1ZGUg
ImV3a19kb3dubG9hZF9qb2JfcHJpdmF0ZS5oIgorI2luY2x1ZGUgImV3a19tYWluX3ByaXZhdGUu
aCIKICNpbmNsdWRlIDxXZWJDb3JlL0ZpbGVTeXN0ZW0uaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpAQCAtODEsNiArODIsOCBAQCBz
dHJ1Y3QgX0V3a19Db250ZXh0IHsKICAgICAgICAgLCBjb29raWVNYW5hZ2VyKDApCiAgICAgICAg
ICwgcmVxdWVzdE1hbmFnZXIoV0tDb250ZXh0R2V0U291cFJlcXVlc3RNYW5hZ2VyKGNvbnRleHRS
ZWYuZ2V0KCkpKQogICAgIHsKKyAgICAgICAgZXdrX2luaXQoKTsKKwogI2lmIEVOQUJMRShCQVRU
RVJZX1NUQVRVUykKICAgICAgICAgV0tCYXR0ZXJ5TWFuYWdlclJlZiB3a0JhdHRlcnlNYW5hZ2Vy
ID0gV0tDb250ZXh0R2V0QmF0dGVyeU1hbmFnZXIoY29udGV4dFJlZi5nZXQoKSk7CiAgICAgICAg
IGJhdHRlcnlQcm92aWRlciA9IEJhdHRlcnlQcm92aWRlcjo6Y3JlYXRlKHdrQmF0dGVyeU1hbmFn
ZXIpOwpAQCAtMTE0LDYgKzExNyw4IEBAIHN0cnVjdCBfRXdrX0NvbnRleHQgewogICAgICAgICBI
YXNoTWFwPHVpbnQ2NF90LCBFd2tfRG93bmxvYWRfSm9iKj46Oml0ZXJhdG9yIGVuZCA9IGRvd25s
b2FkSm9icy5lbmQoKTsKICAgICAgICAgZm9yICggOyBpdCAhPSBlbmQ7ICsraXQpCiAgICAgICAg
ICAgICBld2tfZG93bmxvYWRfam9iX3VucmVmKGl0LT5zZWNvbmQpOworCisgICAgICAgIGV3a19z
aHV0ZG93bigpOwogICAgIH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL2V3a19tYWluLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19tYWluLmNwcAppbmRleCBmY2M5ZmFmMWEwNDc0NzEyOGQxMDFlOWRiNGIyMzk2YzE4
Y2U2Nzg3Li4xNmI4MzAxY2NiMjA0NGZkMmE4MzljYzYxZDQzNWQzNmVhODA1MmM0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfbWFpbi5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX21haW4uY3BwCkBAIC0yMCw3ICsy
MCw2IEBACiAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiZXdrX21haW4uaCIK
IAogI2luY2x1ZGUgImV3a19wcml2YXRlLmgiCiAjaW5jbHVkZSA8RWNvcmUuaD4KQEAgLTM5LDYg
KzM4LDEzIEBAIHN0YXRpYyBpbnQgX2V3a0luaXRDb3VudCA9IDA7CiAgKi8KIGludCBfZXdrX2xv
Z19kb20gPSAtMTsKIAorLyoqCisgKiBAaW50ZXJuYWwKKyAqIEluaXRpYWxpemVzIFdlYktpdCdz
IGluc3RhbmNlLgorICogLSBpbml0aWFsaXplcyBjb21wb25lbnRzIG5lZWRlZCBieSBFRkwsCisg
KiAtIGluY3JlYXNlcyBhIHJlZmVyZW5jZSBjb3VudCBvZiBXZWJLaXQncyBpbnN0YW5jZS4KKyAq
IFJldHVybnMgYSByZWZlcmVuY2UgY291bnQgb2YgV2ViS2l0J3MgaW5zdGFuY2Ugb24gc3VjY2Vz
cyBvciAwIG9uIGZhaWx1cmUKKyAqLwogaW50IGV3a19pbml0KHZvaWQpCiB7CiAgICAgaWYgKF9l
d2tJbml0Q291bnQpCkBAIC02OCw2ICs3NCwxMSBAQCBpbnQgZXdrX2luaXQodm9pZCkKICAgICAg
ICAgZ290byBlcnJvcl9lY29yZV9ldmFzOwogICAgIH0KIAorICAgIGlmICghZWRqZV9pbml0KCkp
IHsKKyAgICAgICAgQ1JJVElDQUwoImNvdWxkIG5vdCBpbml0IGVkamUuIik7CisgICAgICAgIGdv
dG8gZXJyb3JfZWRqZTsKKyAgICB9CisKICAgICBnX3R5cGVfaW5pdCgpOwogCiAgICAgaWYgKCFl
Y29yZV9tYWluX2xvb3BfZ2xpYl9pbnRlZ3JhdGUoKSkgewpAQCAtNzcsNiArODgsOCBAQCBpbnQg
ZXdrX2luaXQodm9pZCkKIAogICAgIHJldHVybiArK19ld2tJbml0Q291bnQ7CiAKK2Vycm9yX2Vk
amU6CisgICAgZWNvcmVfZXZhc19zaHV0ZG93bigpOwogZXJyb3JfZWNvcmVfZXZhczoKICAgICBl
Y29yZV9zaHV0ZG93bigpOwogZXJyb3JfZWNvcmU6CkBAIC05MCw2ICsxMDMsMTIgQEAgZXJyb3Jf
ZWluYToKICAgICByZXR1cm4gMDsKIH0KIAorLyoqCisgKiBAaW50ZXJuYWwKKyAqIERlY3JlYXNl
cyBhIHJlZmVyZW5jZSBjb3VudCBvZiBXZWJLaXQncyBpbnN0YW5jZSwgcG9zc2libHkgZGVzdHJv
eWluZyBpdC4KKyAqIElmIHRoZSByZWZlcmVuY2UgY291bnQgcmVhY2hlcyAwIFdlYktpdCdzIGlu
c3RhbmNlIGlzIGRlc3Ryb3llZC4KKyAqIFJldHVybnMgYSByZWZlcmVuY2UgY291bnQgb2YgV2Vi
S2l0J3MgaW5zdGFuY2UKKyAqLwogaW50IGV3a19zaHV0ZG93bih2b2lkKQogewogICAgIGlmICgt
LV9ld2tJbml0Q291bnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfbWFpbi5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX21h
aW4uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjhlOTNmZTIzZmQyMmI2ZTEyODIx
M2EzOGVmODhmMTAyMWE2N2UyNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfbWFpbi5oCisr
KyAvZGV2L251bGwKQEAgLTEsNTggKzAsMCBAQAotLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIwMDkt
MjAxMCBQcm9GVVNJT04gZW1iZWRkZWQgc3lzdGVtcwotICAgIENvcHlyaWdodCAoQykgMjAwOS0y
MDEwIFNhbXN1bmcgRWxlY3Ryb25pY3MKLSAgICBDb3B5cmlnaHQgKEMpIDIwMTIgSW50ZWwgQ29y
cG9yYXRpb24KLQotICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICAgIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAg
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNl
aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAg
ICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYg
bm90LCB3cml0ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUx
IEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAx
LCBVU0EuCi0qLwotCi0vKioKLSAqIEBmaWxlICAgIGV3a19tYWluLmgKLSAqIEBicmllZiAgIFRo
ZSBnZW5lcmFsIGluaXRpYWxpemF0aW9uIG9mIFdlYktpdDItRUZMLCBub3QgdGllZCB0byBhbnkg
dmlldyBvYmplY3QuCi0gKi8KLQotI2lmbmRlZiBld2tfbWFpbl9oCi0jZGVmaW5lIGV3a19tYWlu
X2gKLQotI2luY2x1ZGUgPEVpbmEuaD4KLQotI2lmZGVmIF9fY3BsdXNwbHVzCi1leHRlcm4gIkMi
IHsKLSNlbmRpZgotCi0vKioKLSAqIEluaXRpYWxpemVzIFdlYktpdCdzIGluc3RhbmNlLgotICoK
LSAqIC0gaW5pdGlhbGl6ZXMgY29tcG9uZW50cyBuZWVkZWQgYnkgRUZMLAotICogLSBpbmNyZWFz
ZXMgYSByZWZlcmVuY2UgY291bnQgb2YgV2ViS2l0J3MgaW5zdGFuY2UuCi0gKgotICogQHJldHVy
biBhIHJlZmVyZW5jZSBjb3VudCBvZiBXZWJLaXQncyBpbnN0YW5jZSBvbiBzdWNjZXNzIG9yIDAg
b24gZmFpbHVyZQotICovCi1FQVBJIGludCBld2tfaW5pdCh2b2lkKTsKLQotLyoqCi0gKiBEZWNy
ZWFzZXMgYSByZWZlcmVuY2UgY291bnQgb2YgV2ViS2l0J3MgaW5zdGFuY2UsIHBvc3NpYmx5IGRl
c3Ryb3lpbmcgaXQuCi0gKgotICogSWYgdGhlIHJlZmVyZW5jZSBjb3VudCByZWFjaGVzIDAgV2Vi
S2l0J3MgaW5zdGFuY2UgaXMgZGVzdHJveWVkLgotICoKLSAqIEByZXR1cm4gYSByZWZlcmVuY2Ug
Y291bnQgb2YgV2ViS2l0J3MgaW5zdGFuY2UKLSAqLwotRUFQSSBpbnQgZXdrX3NodXRkb3duKHZv
aWQpOwotCi0jaWZkZWYgX19jcGx1c3BsdXMKLX0KLSNlbmRpZgotI2VuZGlmIC8vIGV3a19tYWlu
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19tYWlu
X3ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19tYWluX3By
aXZhdGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40NGZiYzlkYjc5MzAxYWNiZDUxZDBkYjJiODIwYTcxM2UxYjE4
Y2U5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
ZXdrX21haW5fcHJpdmF0ZS5oCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcworICogQ29weXJpZ2h0IChDKSAyMDEyIEludGVsIENv
cnBvcmF0aW9uCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgZXdrX21haW5fcHJpdmF0ZV9oCisjZGVmaW5l
IGV3a19tYWluX3ByaXZhdGVfaAorCitpbnQgZXdrX2luaXQoKTsKK2ludCBld2tfc2h1dGRvd24o
KTsKKworI2VuZGlmIC8vIGV3a19tYWluX3ByaXZhdGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RC
YXNlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0
VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5jcHAKaW5kZXggMTY5MWYwZDdjMTgzZmM4Njg3ODdjYWM1
YmQ5YWNiYzM4ODNiZTk5MS4uNjhlNzMyNGI1ZjdmOGZmNDY2YzZlOGEwMGM3ZDM1MDc1ZTI4ZDky
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5p
dFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuY3BwCkBA
IC00NSw3ICs0NSw3IEBAIEVXSzJVbml0VGVzdEJhc2U6OkVXSzJVbml0VGVzdEJhc2UoKQogCiB2
b2lkIEVXSzJVbml0VGVzdEJhc2U6OlNldFVwKCkKIHsKLSAgICBld2tfaW5pdCgpOworICAgIEFT
U0VSVF9HVChlY29yZV9ldmFzX2luaXQoKSwgMCk7CiAKICAgICB1bnNpZ25lZCBpbnQgd2lkdGgg
PSBlbnZpcm9ubWVudC0+ZGVmYXVsdFdpZHRoKCk7CiAgICAgdW5zaWduZWQgaW50IGhlaWdodCA9
IGVudmlyb25tZW50LT5kZWZhdWx0SGVpZ2h0KCk7CkBAIC03MSw3ICs3MSw3IEBAIHZvaWQgRVdL
MlVuaXRUZXN0QmFzZTo6VGVhckRvd24oKQogewogICAgIGV2YXNfb2JqZWN0X2RlbChtX3dlYlZp
ZXcpOwogICAgIGVjb3JlX2V2YXNfZnJlZShtX2Vjb3JlRXZhcyk7Ci0gICAgZXdrX3NodXRkb3du
KCk7CisgICAgZWNvcmVfZXZhc19zaHV0ZG93bigpOwogfQogCiB2b2lkIEVXSzJVbml0VGVzdEJh
c2U6OmxvYWRVcmxTeW5jKGNvbnN0IGNoYXIqIHVybCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvZWZsL1dlYlByb2Nlc3NNYWluRWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvZWZsL1dlYlByb2Nlc3NNYWluRWZsLmNwcAppbmRleCA1ODlhYTcwZmVkNDYx
NTViZDRiMzc5NGIwYTUwNzkwZTljMTViYTk5Li5kODYwOWVhNjE1MTZiZGM0OTM1OWNhZTExODRl
NDRlMDE5YTU3MjE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2VmbC9X
ZWJQcm9jZXNzTWFpbkVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9lZmwv
V2ViUHJvY2Vzc01haW5FZmwuY3BwCkBAIC0zMSw2ICszMSw4IEBACiAjaW5jbHVkZSAiUHJveHlS
ZXNvbHZlclNvdXAuaCIKICNpbmNsdWRlICJXS0Jhc2UuaCIKICNpbmNsdWRlIDxFY29yZS5oPgor
I2luY2x1ZGUgPEVjb3JlX0V2YXMuaD4KKyNpbmNsdWRlIDxFZGplLmg+CiAjaW5jbHVkZSA8RWZy
ZWV0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUhhbmRsZS5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUnVuTG9vcC5oPgpAQCAtNjQsNiArNjYsMTkgQEAgV0tfRVhQT1JUIGludCBXZWJQcm9j
ZXNzTWFpbkVmbChpbnQgYXJnYywgY2hhciogYXJndltdKQogICAgICAgICByZXR1cm4gMTsKICAg
ICB9CiAKKyAgICBpZiAoIWVjb3JlX2V2YXNfaW5pdCgpKSB7CisgICAgICAgIGVjb3JlX3NodXRk
b3duKCk7CisgICAgICAgIGVpbmFfc2h1dGRvd24oKTsKKyAgICAgICAgcmV0dXJuIDE7CisgICAg
fQorCisgICAgaWYgKCFlZGplX2luaXQoKSkgeworICAgICAgICBlY29yZV9ldmFzX3NodXRkb3du
KCk7CisgICAgICAgIGVjb3JlX3NodXRkb3duKCk7CisgICAgICAgIGVpbmFfc2h1dGRvd24oKTsK
KyAgICAgICAgcmV0dXJuIDE7CisgICAgfQorCiAjaWYgRU5BQkxFKEdMSUJfU1VQUE9SVCkKICAg
ICBnX3R5cGVfaW5pdCgpOwogCkBAIC0xMDUsNiArMTIwLDExIEBAIFdLX0VYUE9SVCBpbnQgV2Vi
UHJvY2Vzc01haW5FZmwoaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKICAgICBzb3VwX2NhY2hlX2R1
bXAoc291cENhY2hlKTsKICAgICBnX29iamVjdF91bnJlZihzb3VwQ2FjaGUpOwogCisgICAgZWRq
ZV9zaHV0ZG93bigpOworICAgIGVjb3JlX2V2YXNfc2h1dGRvd24oKTsKKyAgICBlY29yZV9zaHV0
ZG93bigpOworICAgIGVpbmFfc2h1dGRvd24oKTsKKwogICAgIHJldHVybiAwOwogCiB9CmRpZmYg
LS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjQ3N2RjYjQy
NjEyOGM2NzQxZjNjMzRiZDNkMzczMzY3ZTYxMmEwNy4uMTEwNGM1N2YxMmUzYzg0ODRmZDM2Y2Fj
ZmJjYjQ1OWRiOTU5YmYyOSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA5LTI3ICBFdW5taSBMZWUgIDxldW5t
aTE1LmxlZUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIFJlZmFjdG9yaW5nIGlu
aXRpYWxpemF0aW9uIGFuZCBzaHV0ZG93biBjb2RlcyBvZiBFRkwgbGlicmFyaWVzLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTcxNzMKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgaW5pdGlhbGl6YXRp
b24gYW5kIHNodXRkb3duIGFyZSBkb25lIGluc2lkZSB0aGUgd2Via2l0LCBzbyB3ZSBkb24ndAor
ICAgICAgICBoYXZlIHRvIGNhbGwgdGhlbSBvdXQgb2YgdGhlIHdlYmtpdC4KKworICAgICAgICAq
IE1pbmlCcm93c2VyL2VmbC9tYWluLmM6CisgICAgICAgIChxdWl0KToKKyAgICAgICAgKG1haW4p
OgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvZWZsL1BsYXRmb3JtV2ViVmlld0VmbC5jcHA6
CisgICAgICAgIChXVFI6OmluaXRFY29yZUV2YXMpOgorICAgICAgICAoV1RSOjpQbGF0Zm9ybVdl
YlZpZXc6On5QbGF0Zm9ybVdlYlZpZXcpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvZWZs
L21haW4uY3BwOgorICAgICAgICAobWFpbik6CisKIDIwMTItMDktMjcgIFRvbW15IFdpZGVuZmx5
Y2h0ICA8dG9tbXl3QGdvb2dsZS5jb20+CiAKICAgICAgICAgTWVkaWFTdHJlYW0gQVBJOiBSZW5h
bWUgTW9ja0NvbnN0cmFpbnRzOjp2ZXJpZnkgdG8gdmVyaWZ5Q29uc3RyYWludHMKZGlmZiAtLWdp
dCBhL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9tYWluLmMgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwv
bWFpbi5jCmluZGV4IGI0NGU1MTRhMTBkYzYyNDEwZmJiYzBkNDhmOTdkYTA3MWIzY2I1NDkuLjMx
NGVmMWU3NDU4ODBlZTljMTEyZTkwZWUxOTBkNDEyOGExYWYyNzQgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L01pbmlCcm93c2VyL2VmbC9tYWluLmMKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvZWZsL21haW4u
YwpAQCAtMjAwLDcgKzIwMCw3IEBAIG9uX2Vycm9yKHZvaWQgKnVzZXJfZGF0YSwgRXZhc19PYmpl
Y3QgKndlYnZpZXcsIHZvaWQgKmV2ZW50X2luZm8pCiBzdGF0aWMgaW50CiBxdWl0KEVpbmFfQm9v
bCBzdWNjZXNzLCBjb25zdCBjaGFyICptc2cpCiB7Ci0gICAgZXdrX3NodXRkb3duKCk7CisgICAg
ZWNvcmVfZXZhc19zaHV0ZG93bigpOwogCiAgICAgaWYgKG1zZykKICAgICAgICAgZnB1dHMobXNn
LCAoc3VjY2VzcykgPyBzdGRvdXQgOiBzdGRlcnIpOwpAQCAtMjY4LDcgKzI2OCw3IEBAIGludCBt
YWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAgICAgICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9O
T05FCiAgICAgfTsKIAotICAgIGlmICghZXdrX2luaXQoKSkKKyAgICBpZiAoIWVjb3JlX2V2YXNf
aW5pdCgpKQogICAgICAgICByZXR1cm4gRVhJVF9GQUlMVVJFOwogCiAgICAgZWNvcmVfYXBwX2Fy
Z3Nfc2V0KGFyZ2MsIChjb25zdCBjaGFyICoqKSBhcmd2KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvZWZsL1BsYXRmb3JtV2ViVmlld0VmbC5jcHAgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL2VmbC9QbGF0Zm9ybVdlYlZpZXdFZmwuY3BwCmluZGV4IDBiZGIyMzZkZGRmNGFl
OTFjNTA4ODdlNTNjOWVkNGY5MzczZTNkZWYuLmYyNTM4ZTA2MGE4NDJhYWIzMDE4NmZlMjFlOWQy
ZDYyY2Q0NmYwMWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZWZsL1BsYXRm
b3JtV2ViVmlld0VmbC5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9lZmwvUGxhdGZv
cm1XZWJWaWV3RWZsLmNwcApAQCAtMzIsNiArMzIsOSBAQCBzdGF0aWMgYm9vbCB1c2VYMTFXaW5k
b3cgPSBmYWxzZTsKIAogc3RhdGljIEVjb3JlX0V2YXMqIGluaXRFY29yZUV2YXMoKQogeworICAg
IGlmICghZWNvcmVfZXZhc19pbml0KCkpCisgICAgICAgIHJldHVybiAwOworCiAgICAgRWNvcmVf
RXZhcyogZWNvcmVFdmFzID0gdXNlWDExV2luZG93ID8gZWNvcmVfZXZhc19uZXcoMCwgMCwgMCwg
ODAwLCA2MDAsIDApIDogZWNvcmVfZXZhc19idWZmZXJfbmV3KDgwMCwgNjAwKTsKICAgICBpZiAo
IWVjb3JlRXZhcykKICAgICAgICAgcmV0dXJuIDA7CkBAIC01Nyw2ICs2MCw3IEBAIFBsYXRmb3Jt
V2ViVmlldzo6flBsYXRmb3JtV2ViVmlldygpCiB7CiAgICAgZXZhc19vYmplY3RfZGVsKG1fdmll
dyk7CiAgICAgZWNvcmVfZXZhc19mcmVlKG1fd2luZG93KTsKKyAgICBlY29yZV9ldmFzX3NodXRk
b3duKCk7CiB9CiAKIHZvaWQgUGxhdGZvcm1XZWJWaWV3OjpyZXNpemVUbyh1bnNpZ25lZCB3aWR0
aCwgdW5zaWduZWQgaGVpZ2h0KQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9l
ZmwvbWFpbi5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2VmbC9tYWluLmNwcAppbmRleCA5
OGJjZGUyYTdjMDAxNmI4ZDc4MjYyYzJkZjc2YzNhYzJiNjg2NDYzLi5lMjZmMGI2M2EyNDM0NWI0
Y2M5NmQ3OWM1NGQyOWEzNzA1NTQ0NjgyIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL2VmbC9tYWluLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2VmbC9tYWluLmNw
cApAQCAtMzIsMTggKzMyLDEzIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyKiogYXJndikKIHsK
ICAgICBXVEZJbnN0YWxsUmVwb3J0QmFja3RyYWNlT25DcmFzaEhvb2soKTsKIAotICAgIGlmICgh
ZXdrX2luaXQoKSkKLSAgICAgICAgcmV0dXJuIDE7Ci0KICNpZmRlZiBIQVZFX0VDT1JFX1gKICAg
ICBjb25zdCBjaGFyKiBkaXNwbGF5ID0gZ2V0ZW52KCJESVNQTEFZIik7Ci0gICAgaW50IGludGlh
bGl6ZWQgPSAwOworICAgIGludCBpbml0aWFsaXplZCA9IDA7CiAgICAgaWYgKGRpc3BsYXkpIHsK
LSAgICAgICAgaW50aWFsaXplZCA9IGVjb3JlX3hfaW5pdCgwKTsKLSAgICAgICAgaWYgKCFpbnRp
YWxpemVkKSB7Ci0gICAgICAgICAgICBld2tfc2h1dGRvd24oKTsKKyAgICAgICAgaW5pdGlhbGl6
ZWQgPSBlY29yZV94X2luaXQoMCk7CisgICAgICAgIGlmICghaW5pdGlhbGl6ZWQpCiAgICAgICAg
ICAgICByZXR1cm4gMTsKLSAgICAgICAgfQogICAgIH0KICNlbmRpZgogCkBAIC01MSwxMiArNDYs
MTAgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogICAgIFdUUjo6VGVzdENvbnRy
b2xsZXIgY29udHJvbGxlcihhcmdjLCBjb25zdF9jYXN0PGNvbnN0IGNoYXIqKj4oYXJndikpOwog
CiAjaWZkZWYgSEFWRV9FQ09SRV9YCi0gICAgaWYgKGludGlhbGl6ZWQpCisgICAgaWYgKGluaXRp
YWxpemVkKQogICAgICAgICBlY29yZV94X3NodXRkb3duKCk7CiAjZW5kaWYKIAotICAgIGV3a19z
aHV0ZG93bigpOwotCiAgICAgcmV0dXJuIDA7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166151</attachid>
            <date>2012-09-27 23:38:13 -0700</date>
            <delta_ts>2012-09-28 01:20:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97173-20120928153730.patch</filename>
            <type>text/plain</type>
            <size>17701</size>
            <attacher name="Eunmi Lee">enmi.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5ODUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTc3M2ViMWNiMjNlM2Qy
OGMxZjlhYzc4ZjFlYzIwODAxOWM1MGYxMi4uODAwMGExOTkzZTIzYzI3NjM5YWJjMWIyNGNkYzI4
MTAyMDAzYzFlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTA5LTI3ICBFdW5t
aSBMZWUgIDxldW5taTE1LmxlZUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIFJl
ZmFjdG9yaW5nIGluaXRpYWxpemF0aW9uIGFuZCBzaHV0ZG93biBjb2RlcyBvZiBFRkwgbGlicmFy
aWVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTcx
NzMKKworICAgICAgICBSZXZpZXdlZCBieSBHeXV5b3VuZyBLaW0uCisKKyAgICAgICAgUmVtb3Zl
IGNvZGVzIHRvIGluaXRpYWxpemUgYW5kIHNodXRkb3duIHRoZSBFRkwgbGlicmFyaWVzIGZyb20K
KyAgICAgICAgUnVuTG9vcEVmbC5jcHAuIEluaXRpYWxpemF0aW9uIGFuZCBzaHV0ZG93biB3aWxs
IGJlIGRvbmUgaW4gdGhlCisgICAgICAgIGV3a19tYWluLmNwcCBmb3IgdWkgcHJvY2VzcyBhbmQg
V2ViUHJvY2Vzc01haW5FZmwuY3BwIGZvciB3ZWIKKyAgICAgICAgcHJvY2Vzcy4KKworICAgICAg
ICBObyBuZXcgdGVzdHMuIFRoaXMgcGF0Y2ggZG9lc24ndCBjaGFuZ2UgYmVoYXZpb3IuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9lZmwvUnVuTG9vcEVmbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
dW5Mb29wOjpSdW5Mb29wKToKKyAgICAgICAgKFdlYkNvcmU6OlJ1bkxvb3A6On5SdW5Mb29wKToK
KwogMjAxMi0wOS0yNyAgS2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgW1Y4XSBTdHJpbmdDYWNoZTo6djhFeHRlcm5hbFN0cmluZygpIGNhbiByZXR1cm4gYSBz
dGFsZSBwZXJzaXN0ZW50IGhhbmRsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGU0ZDVkZmJjOGRhZWNjMDIzYjZi
MzFkNTI2NDU3YWNkNWJiYmU3YTkuLjA2NGM0MzUyMTg3ZDJjNDRjMjg1ZDgyYzI2NTNlMmE0MTQ5
OWMxMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMSBAQAorMjAxMi0wOS0yNyAgRXVubWkgTGVl
ICA8ZXVubWkxNS5sZWVAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0VGTF1bV0syXSBSZWZhY3Rv
cmluZyBpbml0aWFsaXphdGlvbiBhbmQgc2h1dGRvd24gY29kZXMgb2YgRUZMIGxpYnJhcmllcy4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3MTczCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgR3l1eW91bmcgS2ltLgorCisgICAgICAgIEluaXRpYWxpemUg
YW5kIHNodXRkb3duIHRoZSBFRkwgbGlicmFyaWVzIGluIHRoZSBld2tfbWFpbi5jcHAgZm9yIHVp
CisgICAgICAgIHByb2Nlc3MgYW5kIFdlYlByb2Nlc3NNYWluRWZsLmNwcCBmb3Igd2ViIHByb2Nl
c3MuCisgICAgICAgIEFkZGl0aW9uYWxseSwgaW5pdGlhbGl6YXRpb24gYW5kIHNodXRkb3duIGFy
ZSBkb25lIHdoZW4gZXdrX2NvbnRleHQgaXMKKyAgICAgICAgY3JlYXRlZCBhbmQgZGVsZXRlZCwg
c28gZXdrX3tpbml0LHNodXRkb3dufSBBUElzIGFyZSBjaGFuZ2VkIHRvCisgICAgICAgIGludGVy
bmFsIGZ1bmN0aW9uIGFuZCBhcHBsaWNhdGlvbnMgZG9uJ3QgaGF2ZSB0byBjYWxsIHRoZW0uCisK
KyAgICAgICAgKiBQbGF0Zm9ybUVmbC5jbWFrZToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2Vm
bC9FV2ViS2l0Mi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0LmNw
cDoKKyAgICAgICAgKF9Fd2tfQ29udGV4dDo6X0V3a19Db250ZXh0KToKKyAgICAgICAgKF9Fd2tf
Q29udGV4dDo6fl9Fd2tfQ29udGV4dCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X21haW4uY3BwOgorICAgICAgICAoZXdrX2luaXQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19tYWluLmg6IFJlbW92ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X21haW5fcHJpdmF0ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC90ZXN0
cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuY3BwOgorICAgICAgICAoRVdLMlVuaXRU
ZXN0OjpFV0syVW5pdFRlc3RCYXNlOjpTZXRVcCk6CisgICAgICAgIChFV0syVW5pdFRlc3Q6OkVX
SzJVbml0VGVzdEJhc2U6OlRlYXJEb3duKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL2VmbC9XZWJQ
cm9jZXNzTWFpbkVmbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NNYWluRWZsKToK
KwogMjAxMi0wOS0yNyAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3ODIzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUnVuTG9vcEVmbC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9lZmwvUnVuTG9vcEVmbC5jcHAKaW5kZXggZjI5OWQ4ZWNmMjY4MjQwYmRk
MjY2NmJhNTJhNDRiY2NiYTE5ZTIyZC4uZjJkMzQ3YzU1YmE5NzIxODVlZTAwYzdhZDMzM2MwZWNh
NjFlOWE2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1J1bkxvb3BF
ZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9SdW5Mb29wRWZsLmNwcApA
QCAtMjgsOSArMjgsNiBAQAogI2luY2x1ZGUgIlJ1bkxvb3AuaCIKIAogI2luY2x1ZGUgPEVjb3Jl
Lmg+Ci0jaW5jbHVkZSA8RWNvcmVfRXZhcy5oPgotI2luY2x1ZGUgPEVjb3JlX0ZpbGUuaD4KLSNp
bmNsdWRlIDxFZGplLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAKQEAgLTQyLDQ3ICszOSwxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBS
dW5Mb29wOjpSdW5Mb29wKCkKICAgICA6IG1faW5pdEVmbChmYWxzZSkKIHsKLSAgICBpZiAoIWVj
b3JlX2luaXQoKSkgewotICAgICAgICBMT0dfRVJST1IoImNvdWxkIG5vdCBpbml0IGVjb3JlLiIp
OwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKCFlY29yZV9ldmFzX2luaXQoKSkg
ewotICAgICAgICBMT0dfRVJST1IoImNvdWxkIG5vdCBpbml0IGVjb3JlX2V2YXMuIik7Ci0gICAg
ICAgIGdvdG8gZXJyb3JFY29yZUV2YXM7Ci0gICAgfQotCi0gICAgaWYgKCFlY29yZV9maWxlX2lu
aXQoKSkgewotICAgICAgICBMT0dfRVJST1IoImNvdWxkIG5vdCBpbml0IGVjb3JlX2ZpbGUuIik7
Ci0gICAgICAgIGdvdG8gZXJyb3JFY29yZUZpbGU7Ci0gICAgfQotCi0gICAgaWYgKCFlZGplX2lu
aXQoKSkgewotICAgICAgICBMT0dfRVJST1IoImNvdWxkIG5vdCBpbml0IGVkamUuIik7Ci0gICAg
ICAgIGdvdG8gZXJyb3JFZGplOwotICAgIH0KLQogICAgIG1fcGlwZSA9IGFkb3B0UHRyKGVjb3Jl
X3BpcGVfYWRkKHdha2VVcEV2ZW50LCB0aGlzKSk7CiAgICAgbV9pbml0RWZsID0gdHJ1ZTsKLQot
ICAgIHJldHVybjsKLQotZXJyb3JFZGplOgotICAgIGVjb3JlX2ZpbGVfc2h1dGRvd24oKTsKLWVy
cm9yRWNvcmVGaWxlOgotICAgIGVjb3JlX2V2YXNfc2h1dGRvd24oKTsKLWVycm9yRWNvcmVFdmFz
OgotICAgIGVjb3JlX3NodXRkb3duKCk7CiB9CiAKIFJ1bkxvb3A6On5SdW5Mb29wKCkKIHsKLSAg
ICBpZiAobV9pbml0RWZsKSB7Ci0gICAgICAgIGVkamVfc2h1dGRvd24oKTsKLSAgICAgICAgZWNv
cmVfZmlsZV9zaHV0ZG93bigpOwotICAgICAgICBlY29yZV9ldmFzX3NodXRkb3duKCk7Ci0gICAg
ICAgIGVjb3JlX3NodXRkb3duKCk7Ci0gICAgfQogfQogCiB2b2lkIFJ1bkxvb3A6OnJ1bigpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IGQzOTMyYjZkYzk2NzFhYTFiZDc4ZmM3NTczMzY4
NTdmMjZjYTI0ZDkuLmQwMDNmYmU3MDljMmU1MjBlOGZhZjNlNDg5NGExYzA1YWU3MWMxMDQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC0yMjAsNyArMjIwLDYgQEAgU0VUIChFV2ViS2l0
Ml9IRUFERVJTCiAgICAgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfZm9ybV9zdWJtaXNzaW9uX3JlcXVlc3QuaCIKICAgICAiJHtDTUFLRV9DVVJSRU5U
X1NPVVJDRV9ESVJ9L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19pbnRlbnQuaCIKICAgICAiJHtDTUFL
RV9DVVJSRU5UX1NPVVJDRV9ESVJ9L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19pbnRlbnRfc2Vydmlj
ZS5oIgotICAgICIke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwv
ZXdrX21haW4uaCIKICAgICAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L1VJUHJvY2Vzcy9B
UEkvZWZsL2V3a19uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbi5oIgogICAgICIke0NNQUtFX0NV
UlJFTlRfU09VUkNFX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3BvcHVwX21lbnVfaXRlbS5o
IgogICAgICIke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X3NldHRpbmdzLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9FV2ViS2l0Mi5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRVdlYktpdDIu
aAppbmRleCAxM2VmYWIxM2FjMzQwOWNiM2I0Y2U5NjVjMTQwZjViYzBkNGQzNTJhLi5kODNlYjYw
ZmJjYWQ3Y2M4OTM1MzhiYTc3ODdiMjM3NDM1ZjM1NmExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9FV2ViS2l0Mi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL0VXZWJLaXQyLmgKQEAgLTM2LDcgKzM2LDYgQEAKICNpbmNsdWRlICJl
d2tfZm9ybV9zdWJtaXNzaW9uX3JlcXVlc3QuaCIKICNpbmNsdWRlICJld2tfaW50ZW50LmgiCiAj
aW5jbHVkZSAiZXdrX2ludGVudF9zZXJ2aWNlLmgiCi0jaW5jbHVkZSAiZXdrX21haW4uaCIKICNp
bmNsdWRlICJld2tfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb24uaCIKICNpbmNsdWRlICJld2tf
cG9wdXBfbWVudV9pdGVtLmgiCiAjaW5jbHVkZSAiZXdrX3NldHRpbmdzLmgiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dC5jcHAKaW5kZXggYjM0ZmY3
N2RmNjkxMWMyNGFkMzVhMTIzMDAwOTc0OTYyOWFjMzk2ZC4uNTY5NWY4Zjk2YWQ3ODViM2I1YjY2
YWUyN2RlOGYxZGU4Mzg2YzU5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvZXdrX2NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL2V3a19jb250ZXh0LmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgImV3a19j
b29raWVfbWFuYWdlcl9wcml2YXRlLmgiCiAjaW5jbHVkZSAiZXdrX2Rvd25sb2FkX2pvYi5oIgog
I2luY2x1ZGUgImV3a19kb3dubG9hZF9qb2JfcHJpdmF0ZS5oIgorI2luY2x1ZGUgImV3a19tYWlu
X3ByaXZhdGUuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0ZpbGVTeXN0ZW0uaD4KICNpbmNsdWRlIDx3
dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpAQCAtODEsNiAr
ODIsOCBAQCBzdHJ1Y3QgX0V3a19Db250ZXh0IHsKICAgICAgICAgLCBjb29raWVNYW5hZ2VyKDAp
CiAgICAgICAgICwgcmVxdWVzdE1hbmFnZXIoV0tDb250ZXh0R2V0U291cFJlcXVlc3RNYW5hZ2Vy
KGNvbnRleHRSZWYuZ2V0KCkpKQogICAgIHsKKyAgICAgICAgZXdrX2luaXQoKTsKKwogI2lmIEVO
QUJMRShCQVRURVJZX1NUQVRVUykKICAgICAgICAgV0tCYXR0ZXJ5TWFuYWdlclJlZiB3a0JhdHRl
cnlNYW5hZ2VyID0gV0tDb250ZXh0R2V0QmF0dGVyeU1hbmFnZXIoY29udGV4dFJlZi5nZXQoKSk7
CiAgICAgICAgIGJhdHRlcnlQcm92aWRlciA9IEJhdHRlcnlQcm92aWRlcjo6Y3JlYXRlKHdrQmF0
dGVyeU1hbmFnZXIpOwpAQCAtMTE0LDYgKzExNyw4IEBAIHN0cnVjdCBfRXdrX0NvbnRleHQgewog
ICAgICAgICBIYXNoTWFwPHVpbnQ2NF90LCBFd2tfRG93bmxvYWRfSm9iKj46Oml0ZXJhdG9yIGVu
ZCA9IGRvd25sb2FkSm9icy5lbmQoKTsKICAgICAgICAgZm9yICggOyBpdCAhPSBlbmQ7ICsraXQp
CiAgICAgICAgICAgICBld2tfZG93bmxvYWRfam9iX3VucmVmKGl0LT5zZWNvbmQpOworCisgICAg
ICAgIGV3a19zaHV0ZG93bigpOwogICAgIH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19tYWluLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL2V3a19tYWluLmNwcAppbmRleCBmY2M5ZmFmMWEwNDc0NzEyOGQxMDFlOWRi
NGIyMzk2YzE4Y2U2Nzg3Li4yMTU1ZTM4Y2ZlNGRlNDVkYjMyNWNlZDAyNzBiNzY4ZDJmMWYxZmVj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfbWFpbi5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX21haW4uY3BwCkBA
IC0yMCw3ICsyMCw2IEBACiAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiZXdr
X21haW4uaCIKIAogI2luY2x1ZGUgImV3a19wcml2YXRlLmgiCiAjaW5jbHVkZSA8RWNvcmUuaD4K
QEAgLTM5LDYgKzM4LDEzIEBAIHN0YXRpYyBpbnQgX2V3a0luaXRDb3VudCA9IDA7CiAgKi8KIGlu
dCBfZXdrX2xvZ19kb20gPSAtMTsKIAorLyoqCisgKiBAaW50ZXJuYWwKKyAqIEluaXRpYWxpemVz
IFdlYktpdCdzIGluc3RhbmNlLgorICogLSBpbml0aWFsaXplcyBjb21wb25lbnRzIG5lZWRlZCBi
eSBFRkwsCisgKiAtIGluY3JlYXNlcyBhIHJlZmVyZW5jZSBjb3VudCBvZiBXZWJLaXQncyBpbnN0
YW5jZS4KKyAqIFJldHVybnMgYSByZWZlcmVuY2UgY291bnQgb2YgV2ViS2l0J3MgaW5zdGFuY2Ug
b24gc3VjY2VzcyBvciAwIG9uIGZhaWx1cmUKKyAqLwogaW50IGV3a19pbml0KHZvaWQpCiB7CiAg
ICAgaWYgKF9ld2tJbml0Q291bnQpCkBAIC02OCw2ICs3NCwxMSBAQCBpbnQgZXdrX2luaXQodm9p
ZCkKICAgICAgICAgZ290byBlcnJvcl9lY29yZV9ldmFzOwogICAgIH0KIAorICAgIGlmICghZWRq
ZV9pbml0KCkpIHsKKyAgICAgICAgQ1JJVElDQUwoImNvdWxkIG5vdCBpbml0IGVkamUuIik7Cisg
ICAgICAgIGdvdG8gZXJyb3JfZWRqZTsKKyAgICB9CisKICAgICBnX3R5cGVfaW5pdCgpOwogCiAg
ICAgaWYgKCFlY29yZV9tYWluX2xvb3BfZ2xpYl9pbnRlZ3JhdGUoKSkgewpAQCAtNzcsNiArODgs
OCBAQCBpbnQgZXdrX2luaXQodm9pZCkKIAogICAgIHJldHVybiArK19ld2tJbml0Q291bnQ7CiAK
K2Vycm9yX2VkamU6CisgICAgZWNvcmVfZXZhc19zaHV0ZG93bigpOwogZXJyb3JfZWNvcmVfZXZh
czoKICAgICBlY29yZV9zaHV0ZG93bigpOwogZXJyb3JfZWNvcmU6CkBAIC05MCw2ICsxMDMsMTIg
QEAgZXJyb3JfZWluYToKICAgICByZXR1cm4gMDsKIH0KIAorLyoqCisgKiBAaW50ZXJuYWwKKyAq
IERlY3JlYXNlcyBhIHJlZmVyZW5jZSBjb3VudCBvZiBXZWJLaXQncyBpbnN0YW5jZSwgcG9zc2li
bHkgZGVzdHJveWluZyBpdC4KKyAqIElmIHRoZSByZWZlcmVuY2UgY291bnQgcmVhY2hlcyAwLCBX
ZWJLaXQncyBpbnN0YW5jZSBpcyBkZXN0cm95ZWQuCisgKiBSZXR1cm5zIGEgcmVmZXJlbmNlIGNv
dW50IG9mIFdlYktpdCdzIGluc3RhbmNlCisgKi8KIGludCBld2tfc2h1dGRvd24odm9pZCkKIHsK
ICAgICBpZiAoLS1fZXdrSW5pdENvdW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX21haW4uaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19tYWluLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI4ZTkzZmUyM2Zk
MjJiNmUxMjgyMTNhMzhlZjg4ZjEwMjFhNjdlMjYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X21haW4uaAorKysgL2Rldi9udWxsCkBAIC0xLDU4ICswLDAgQEAKLS8qCi0gICAgQ29weXJpZ2h0
IChDKSAyMDA5LTIwMTAgUHJvRlVTSU9OIGVtYmVkZGVkIHN5c3RlbXMKLSAgICBDb3B5cmlnaHQg
KEMpIDIwMDktMjAxMCBTYW1zdW5nIEVsZWN0cm9uaWNzCi0gICAgQ29weXJpZ2h0IChDKSAyMDEy
IEludGVsIENvcnBvcmF0aW9uCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAgICB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5H
LkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICAgIEJvc3RvbiwgTUEg
MDIxMTAtMTMwMSwgVVNBLgotKi8KLQotLyoqCi0gKiBAZmlsZSAgICBld2tfbWFpbi5oCi0gKiBA
YnJpZWYgICBUaGUgZ2VuZXJhbCBpbml0aWFsaXphdGlvbiBvZiBXZWJLaXQyLUVGTCwgbm90IHRp
ZWQgdG8gYW55IHZpZXcgb2JqZWN0LgotICovCi0KLSNpZm5kZWYgZXdrX21haW5faAotI2RlZmlu
ZSBld2tfbWFpbl9oCi0KLSNpbmNsdWRlIDxFaW5hLmg+Ci0KLSNpZmRlZiBfX2NwbHVzcGx1cwot
ZXh0ZXJuICJDIiB7Ci0jZW5kaWYKLQotLyoqCi0gKiBJbml0aWFsaXplcyBXZWJLaXQncyBpbnN0
YW5jZS4KLSAqCi0gKiAtIGluaXRpYWxpemVzIGNvbXBvbmVudHMgbmVlZGVkIGJ5IEVGTCwKLSAq
IC0gaW5jcmVhc2VzIGEgcmVmZXJlbmNlIGNvdW50IG9mIFdlYktpdCdzIGluc3RhbmNlLgotICoK
LSAqIEByZXR1cm4gYSByZWZlcmVuY2UgY291bnQgb2YgV2ViS2l0J3MgaW5zdGFuY2Ugb24gc3Vj
Y2VzcyBvciAwIG9uIGZhaWx1cmUKLSAqLwotRUFQSSBpbnQgZXdrX2luaXQodm9pZCk7Ci0KLS8q
KgotICogRGVjcmVhc2VzIGEgcmVmZXJlbmNlIGNvdW50IG9mIFdlYktpdCdzIGluc3RhbmNlLCBw
b3NzaWJseSBkZXN0cm95aW5nIGl0LgotICoKLSAqIElmIHRoZSByZWZlcmVuY2UgY291bnQgcmVh
Y2hlcyAwIFdlYktpdCdzIGluc3RhbmNlIGlzIGRlc3Ryb3llZC4KLSAqCi0gKiBAcmV0dXJuIGEg
cmVmZXJlbmNlIGNvdW50IG9mIFdlYktpdCdzIGluc3RhbmNlCi0gKi8KLUVBUEkgaW50IGV3a19z
aHV0ZG93bih2b2lkKTsKLQotI2lmZGVmIF9fY3BsdXNwbHVzCi19Ci0jZW5kaWYKLSNlbmRpZiAv
LyBld2tfbWFpbl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfbWFpbl9wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9l
d2tfbWFpbl9wcml2YXRlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDRmYmM5ZGI3OTMwMWFjYmQ1MWQwZGIyYjgy
MGE3MTNlMWIxOGNlOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a19tYWluX3ByaXZhdGUuaApAQCAtMCwwICsxLDMzIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MKKyAqIENvcHlyaWdodCAoQykgMjAx
MiBJbnRlbCBDb3Jwb3JhdGlvbgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIGV3a19tYWluX3ByaXZhdGVf
aAorI2RlZmluZSBld2tfbWFpbl9wcml2YXRlX2gKKworaW50IGV3a19pbml0KCk7CitpbnQgZXdr
X3NodXRkb3duKCk7CisKKyNlbmRpZiAvLyBld2tfbWFpbl9wcml2YXRlX2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdL
MlVuaXRUZXN0QmFzZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0
cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuY3BwCmluZGV4IGE0YjJlZmZiNWI3MjIx
YmNkOWI1ZTY0MTc0OTk4ODc5ZTM2NjEyMzcuLjQ4NTNkNTAwZTg2NDdmYTIwODBjZTMxMmQzNTVh
NzM4MTU3ZWY2OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RC
YXNlLmNwcApAQCAtNDUsNyArNDUsNyBAQCBFV0syVW5pdFRlc3RCYXNlOjpFV0syVW5pdFRlc3RC
YXNlKCkKIAogdm9pZCBFV0syVW5pdFRlc3RCYXNlOjpTZXRVcCgpCiB7Ci0gICAgZXdrX2luaXQo
KTsKKyAgICBBU1NFUlRfR1QoZWNvcmVfZXZhc19pbml0KCksIDApOwogCiAgICAgdW5zaWduZWQg
aW50IHdpZHRoID0gZW52aXJvbm1lbnQtPmRlZmF1bHRXaWR0aCgpOwogICAgIHVuc2lnbmVkIGlu
dCBoZWlnaHQgPSBlbnZpcm9ubWVudC0+ZGVmYXVsdEhlaWdodCgpOwpAQCAtNzEsNyArNzEsNyBA
QCB2b2lkIEVXSzJVbml0VGVzdEJhc2U6OlRlYXJEb3duKCkKIHsKICAgICBldmFzX29iamVjdF9k
ZWwobV93ZWJWaWV3KTsKICAgICBlY29yZV9ldmFzX2ZyZWUobV9lY29yZUV2YXMpOwotICAgIGV3
a19zaHV0ZG93bigpOworICAgIGVjb3JlX2V2YXNfc2h1dGRvd24oKTsKIH0KIAogdm9pZCBFV0sy
VW5pdFRlc3RCYXNlOjpsb2FkVXJsU3luYyhjb25zdCBjaGFyKiB1cmwpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2VmbC9XZWJQcm9jZXNzTWFpbkVmbC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2VmbC9XZWJQcm9jZXNzTWFpbkVmbC5jcHAKaW5kZXggNTg5
YWE3MGZlZDQ2MTU1YmQ0YjM3OTRiMGE1MDc5MGU5YzE1YmE5OS4uZDg2MDllYTYxNTE2YmRjNDkz
NTljYWUxMTg0ZTQ0ZTAxOWE1NzIxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9lZmwvV2ViUHJvY2Vzc01haW5FZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvZWZsL1dlYlByb2Nlc3NNYWluRWZsLmNwcApAQCAtMzEsNiArMzEsOCBAQAogI2luY2x1
ZGUgIlByb3h5UmVzb2x2ZXJTb3VwLmgiCiAjaW5jbHVkZSAiV0tCYXNlLmgiCiAjaW5jbHVkZSA8
RWNvcmUuaD4KKyNpbmNsdWRlIDxFY29yZV9FdmFzLmg+CisjaW5jbHVkZSA8RWRqZS5oPgogI2lu
Y2x1ZGUgPEVmcmVldC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VIYW5kbGUuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1J1bkxvb3AuaD4KQEAgLTY0LDYgKzY2LDE5IEBAIFdLX0VYUE9SVCBp
bnQgV2ViUHJvY2Vzc01haW5FZmwoaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKICAgICAgICAgcmV0
dXJuIDE7CiAgICAgfQogCisgICAgaWYgKCFlY29yZV9ldmFzX2luaXQoKSkgeworICAgICAgICBl
Y29yZV9zaHV0ZG93bigpOworICAgICAgICBlaW5hX3NodXRkb3duKCk7CisgICAgICAgIHJldHVy
biAxOworICAgIH0KKworICAgIGlmICghZWRqZV9pbml0KCkpIHsKKyAgICAgICAgZWNvcmVfZXZh
c19zaHV0ZG93bigpOworICAgICAgICBlY29yZV9zaHV0ZG93bigpOworICAgICAgICBlaW5hX3No
dXRkb3duKCk7CisgICAgICAgIHJldHVybiAxOworICAgIH0KKwogI2lmIEVOQUJMRShHTElCX1NV
UFBPUlQpCiAgICAgZ190eXBlX2luaXQoKTsKIApAQCAtMTA1LDYgKzEyMCwxMSBAQCBXS19FWFBP
UlQgaW50IFdlYlByb2Nlc3NNYWluRWZsKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCiAgICAgc291
cF9jYWNoZV9kdW1wKHNvdXBDYWNoZSk7CiAgICAgZ19vYmplY3RfdW5yZWYoc291cENhY2hlKTsK
IAorICAgIGVkamVfc2h1dGRvd24oKTsKKyAgICBlY29yZV9ldmFzX3NodXRkb3duKCk7CisgICAg
ZWNvcmVfc2h1dGRvd24oKTsKKyAgICBlaW5hX3NodXRkb3duKCk7CisKICAgICByZXR1cm4gMDsK
IAogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4
IGExMTI3YjJiNTljOWE0ZjMxNmU4ODlmYjU2ZDVlNThiZmNiZGRiZmQuLmFlNWUyNDMwNTk1MGNj
OTE4NTgzYWVkMzgyZTI2NGQzOWZkYWQ2OGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZwor
KysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMi0wOS0yNyAgRXVubWkg
TGVlICA8ZXVubWkxNS5sZWVAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0VGTF1bV0syXSBSZWZh
Y3RvcmluZyBpbml0aWFsaXphdGlvbiBhbmQgc2h1dGRvd24gY29kZXMgb2YgRUZMIGxpYnJhcmll
cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3MTcz
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgR3l1eW91bmcgS2ltLgorCisgICAgICAgIFRoZSBpbml0
aWFsaXphdGlvbiBhbmQgc2h1dGRvd24gYXJlIGRvbmUgaW5zaWRlIHRoZSB3ZWJraXQsIHNvIHdl
IGRvbid0CisgICAgICAgIGhhdmUgdG8gY2FsbCB0aGVtIG91dCBvZiB0aGUgd2Via2l0LgorCisg
ICAgICAgICogTWluaUJyb3dzZXIvZWZsL21haW4uYzoKKyAgICAgICAgKHF1aXQpOgorICAgICAg
ICAobWFpbik6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9lZmwvUGxhdGZvcm1XZWJWaWV3
RWZsLmNwcDoKKyAgICAgICAgKFdUUjo6aW5pdEVjb3JlRXZhcyk6CisgICAgICAgIChXVFI6OlBs
YXRmb3JtV2ViVmlldzo6flBsYXRmb3JtV2ViVmlldyk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1
bm5lci9lZmwvbWFpbi5jcHA6CisgICAgICAgIChtYWluKToKKwogMjAxMi0wOS0yNyAgQWxleGFu
ZHJlIEVsaWFzICA8YWVsaWFzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIER1
bXBSZW5kZXJUcmVlIHN1cHBvcnQgZm9yIHNvZnR3YXJlIGNvbXBvc2l0aW5nCmRpZmYgLS1naXQg
YS9Ub29scy9NaW5pQnJvd3Nlci9lZmwvbWFpbi5jIGIvVG9vbHMvTWluaUJyb3dzZXIvZWZsL21h
aW4uYwppbmRleCBiNDRlNTE0YTEwZGM2MjQxMGZiYmMwZDQ4Zjk3ZGEwNzFiM2NiNTQ5Li4zMTRl
ZjFlNzQ1ODgwZWU5YzExMmU5MGVlMTkwZDQxMjhhMWFmMjc0IDEwMDY0NAotLS0gYS9Ub29scy9N
aW5pQnJvd3Nlci9lZmwvbWFpbi5jCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9tYWluLmMK
QEAgLTIwMCw3ICsyMDAsNyBAQCBvbl9lcnJvcih2b2lkICp1c2VyX2RhdGEsIEV2YXNfT2JqZWN0
ICp3ZWJ2aWV3LCB2b2lkICpldmVudF9pbmZvKQogc3RhdGljIGludAogcXVpdChFaW5hX0Jvb2wg
c3VjY2VzcywgY29uc3QgY2hhciAqbXNnKQogewotICAgIGV3a19zaHV0ZG93bigpOworICAgIGVj
b3JlX2V2YXNfc2h1dGRvd24oKTsKIAogICAgIGlmIChtc2cpCiAgICAgICAgIGZwdXRzKG1zZywg
KHN1Y2Nlc3MpID8gc3Rkb3V0IDogc3RkZXJyKTsKQEAgLTI2OCw3ICsyNjgsNyBAQCBpbnQgbWFp
bihpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfTk9O
RQogICAgIH07CiAKLSAgICBpZiAoIWV3a19pbml0KCkpCisgICAgaWYgKCFlY29yZV9ldmFzX2lu
aXQoKSkKICAgICAgICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsKIAogICAgIGVjb3JlX2FwcF9hcmdz
X3NldChhcmdjLCAoY29uc3QgY2hhciAqKikgYXJndik7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL2VmbC9QbGF0Zm9ybVdlYlZpZXdFZmwuY3BwIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9lZmwvUGxhdGZvcm1XZWJWaWV3RWZsLmNwcAppbmRleCAwYmRiMjM2ZGRkZjRhZTkx
YzUwODg3ZTUzYzllZDRmOTM3M2UzZGVmLi5mMjUzOGUwNjBhODQyYWFiMzAxODZmZTIxZTlkMmQ2
MmNkNDZmMDFkIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2VmbC9QbGF0Zm9y
bVdlYlZpZXdFZmwuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZWZsL1BsYXRmb3Jt
V2ViVmlld0VmbC5jcHAKQEAgLTMyLDYgKzMyLDkgQEAgc3RhdGljIGJvb2wgdXNlWDExV2luZG93
ID0gZmFsc2U7CiAKIHN0YXRpYyBFY29yZV9FdmFzKiBpbml0RWNvcmVFdmFzKCkKIHsKKyAgICBp
ZiAoIWVjb3JlX2V2YXNfaW5pdCgpKQorICAgICAgICByZXR1cm4gMDsKKwogICAgIEVjb3JlX0V2
YXMqIGVjb3JlRXZhcyA9IHVzZVgxMVdpbmRvdyA/IGVjb3JlX2V2YXNfbmV3KDAsIDAsIDAsIDgw
MCwgNjAwLCAwKSA6IGVjb3JlX2V2YXNfYnVmZmVyX25ldyg4MDAsIDYwMCk7CiAgICAgaWYgKCFl
Y29yZUV2YXMpCiAgICAgICAgIHJldHVybiAwOwpAQCAtNTcsNiArNjAsNyBAQCBQbGF0Zm9ybVdl
YlZpZXc6On5QbGF0Zm9ybVdlYlZpZXcoKQogewogICAgIGV2YXNfb2JqZWN0X2RlbChtX3ZpZXcp
OwogICAgIGVjb3JlX2V2YXNfZnJlZShtX3dpbmRvdyk7CisgICAgZWNvcmVfZXZhc19zaHV0ZG93
bigpOwogfQogCiB2b2lkIFBsYXRmb3JtV2ViVmlldzo6cmVzaXplVG8odW5zaWduZWQgd2lkdGgs
IHVuc2lnbmVkIGhlaWdodCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZWZs
L21haW4uY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9lZmwvbWFpbi5jcHAKaW5kZXggOThi
Y2RlMmE3YzAwMTZiOGQ3ODI2MmMyZGY3NmMzYWMyYjY4NjQ2My4uZTI2ZjBiNjNhMjQzNDViNGNj
OTZkNzljNTRkMjlhMzcwNTU0NDY4MiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9lZmwvbWFpbi5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9lZmwvbWFpbi5jcHAK
QEAgLTMyLDE4ICszMiwxMyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpCiB7CiAg
ICAgV1RGSW5zdGFsbFJlcG9ydEJhY2t0cmFjZU9uQ3Jhc2hIb29rKCk7CiAKLSAgICBpZiAoIWV3
a19pbml0KCkpCi0gICAgICAgIHJldHVybiAxOwotCiAjaWZkZWYgSEFWRV9FQ09SRV9YCiAgICAg
Y29uc3QgY2hhciogZGlzcGxheSA9IGdldGVudigiRElTUExBWSIpOwotICAgIGludCBpbnRpYWxp
emVkID0gMDsKKyAgICBpbnQgaW5pdGlhbGl6ZWQgPSAwOwogICAgIGlmIChkaXNwbGF5KSB7Ci0g
ICAgICAgIGludGlhbGl6ZWQgPSBlY29yZV94X2luaXQoMCk7Ci0gICAgICAgIGlmICghaW50aWFs
aXplZCkgewotICAgICAgICAgICAgZXdrX3NodXRkb3duKCk7CisgICAgICAgIGluaXRpYWxpemVk
ID0gZWNvcmVfeF9pbml0KDApOworICAgICAgICBpZiAoIWluaXRpYWxpemVkKQogICAgICAgICAg
ICAgcmV0dXJuIDE7Ci0gICAgICAgIH0KICAgICB9CiAjZW5kaWYKIApAQCAtNTEsMTIgKzQ2LDEw
IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyKiogYXJndikKICAgICBXVFI6OlRlc3RDb250cm9s
bGVyIGNvbnRyb2xsZXIoYXJnYywgY29uc3RfY2FzdDxjb25zdCBjaGFyKio+KGFyZ3YpKTsKIAog
I2lmZGVmIEhBVkVfRUNPUkVfWAotICAgIGlmIChpbnRpYWxpemVkKQorICAgIGlmIChpbml0aWFs
aXplZCkKICAgICAgICAgZWNvcmVfeF9zaHV0ZG93bigpOwogI2VuZGlmCiAKLSAgICBld2tfc2h1
dGRvd24oKTsKLQogICAgIHJldHVybiAwOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166169</attachid>
            <date>2012-09-28 01:20:31 -0700</date>
            <delta_ts>2012-10-15 04:16:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97173-20120928171947.patch</filename>
            <type>text/plain</type>
            <size>17855</size>
            <attacher name="Eunmi Lee">enmi.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5ODUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTc3M2ViMWNiMjNlM2Qy
OGMxZjlhYzc4ZjFlYzIwODAxOWM1MGYxMi4uMGRmMjZmMDNlMjMxYTJhNzUwN2JhM2JjOWY0YjNi
ODAxNjA1ODZjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTA5LTI4ICBFdW5t
aSBMZWUgIDxldW5taTE1LmxlZUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIFJl
ZmFjdG9yaW5nIGluaXRpYWxpemF0aW9uIGFuZCBzaHV0ZG93biBjb2RlcyBvZiBFRkwgbGlicmFy
aWVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTcx
NzMKKworICAgICAgICBSZXZpZXdlZCBieSBHeXV5b3VuZyBLaW0uCisKKyAgICAgICAgUmVtb3Zl
IGNvZGVzIHRvIGluaXRpYWxpemUgYW5kIHNodXRkb3duIHRoZSBFRkwgbGlicmFyaWVzIGZyb20K
KyAgICAgICAgUnVuTG9vcEVmbC5jcHAuIEluaXRpYWxpemF0aW9uIGFuZCBzaHV0ZG93biB3aWxs
IGJlIGRvbmUgaW4gdGhlCisgICAgICAgIGV3a19tYWluLmNwcCBmb3IgdWkgcHJvY2VzcyBhbmQg
V2ViUHJvY2Vzc01haW5FZmwuY3BwIGZvciB3ZWIKKyAgICAgICAgcHJvY2Vzcy4KKworICAgICAg
ICBObyBuZXcgdGVzdHMuIFRoaXMgcGF0Y2ggZG9lc24ndCBjaGFuZ2UgYmVoYXZpb3IuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9lZmwvUnVuTG9vcEVmbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
dW5Mb29wOjpSdW5Mb29wKToKKyAgICAgICAgKFdlYkNvcmU6OlJ1bkxvb3A6On5SdW5Mb29wKToK
KwogMjAxMi0wOS0yNyAgS2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgW1Y4XSBTdHJpbmdDYWNoZTo6djhFeHRlcm5hbFN0cmluZygpIGNhbiByZXR1cm4gYSBz
dGFsZSBwZXJzaXN0ZW50IGhhbmRsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGU0ZDVkZmJjOGRhZWNjMDIzYjZi
MzFkNTI2NDU3YWNkNWJiYmU3YTkuLjBjMDdiMWNjNGFlYjEzODdlMmRmMzlkMTg4ZDlkNzk0OWE1
ZTdkZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMiBAQAorMjAxMi0wOS0yOCAgRXVubWkgTGVl
ICA8ZXVubWkxNS5sZWVAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0VGTF1bV0syXSBSZWZhY3Rv
cmluZyBpbml0aWFsaXphdGlvbiBhbmQgc2h1dGRvd24gY29kZXMgb2YgRUZMIGxpYnJhcmllcy4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3MTczCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgR3l1eW91bmcgS2ltLgorCisgICAgICAgIEluaXRpYWxpemUg
YW5kIHNodXRkb3duIHRoZSBFRkwgbGlicmFyaWVzIGluIHRoZSBld2tfbWFpbi5jcHAgZm9yIHVp
CisgICAgICAgIHByb2Nlc3MgYW5kIFdlYlByb2Nlc3NNYWluRWZsLmNwcCBmb3Igd2ViIHByb2Nl
c3MuCisgICAgICAgIEFkZGl0aW9uYWxseSwgaW5pdGlhbGl6YXRpb24gYW5kIHNodXRkb3duIGFy
ZSBkb25lIHdoZW4gZXdrX2NvbnRleHQgaXMKKyAgICAgICAgY3JlYXRlZCBhbmQgZGVsZXRlZCwg
c28gZXdrX3tpbml0LHNodXRkb3dufSBBUElzIGFyZSBjaGFuZ2VkIHRvCisgICAgICAgIGludGVy
bmFsIGZ1bmN0aW9uIGFuZCBhcHBsaWNhdGlvbnMgZG9uJ3QgaGF2ZSB0byBjYWxsIHRoZW0uCisK
KyAgICAgICAgKiBQbGF0Zm9ybUVmbC5jbWFrZToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2Vm
bC9FV2ViS2l0Mi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0LmNw
cDoKKyAgICAgICAgKF9Fd2tfQ29udGV4dDo6X0V3a19Db250ZXh0KToKKyAgICAgICAgKF9Fd2tf
Q29udGV4dDo6fl9Fd2tfQ29udGV4dCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X21haW4uY3BwOgorICAgICAgICAoZXdrX2luaXQpOgorICAgICAgICAoZXdrX3NodXRkb3duKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfbWFpbi5oOiBSZW1vdmVkLgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19tYWluX3ByaXZhdGUuaDogQWRkZWQuCisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNl
LmNwcDoKKyAgICAgICAgKEVXSzJVbml0VGVzdDo6RVdLMlVuaXRUZXN0QmFzZTo6U2V0VXApOgor
ICAgICAgICAoRVdLMlVuaXRUZXN0OjpFV0syVW5pdFRlc3RCYXNlOjpUZWFyRG93bik6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9lZmwvV2ViUHJvY2Vzc01haW5FZmwuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzTWFpbkVmbCk6CisKIDIwMTItMDktMjcgIEJldGggRGFraW4gIDxiZGFr
aW5AYXBwbGUuY29tPgogCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD05NzgyMwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1J1
bkxvb3BFZmwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1J1bkxvb3BFZmwuY3Bw
CmluZGV4IGYyOTlkOGVjZjI2ODI0MGJkZDI2NjZiYTUyYTQ0YmNjYmExOWUyMmQuLmYyZDM0N2M1
NWJhOTcyMTg1ZWUwMGM3YWQzMzNjMGVjYTYxZTlhNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2VmbC9SdW5Mb29wRWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9lZmwvUnVuTG9vcEVmbC5jcHAKQEAgLTI4LDkgKzI4LDYgQEAKICNpbmNsdWRlICJSdW5M
b29wLmgiCiAKICNpbmNsdWRlIDxFY29yZS5oPgotI2luY2x1ZGUgPEVjb3JlX0V2YXMuaD4KLSNp
bmNsdWRlIDxFY29yZV9GaWxlLmg+Ci0jaW5jbHVkZSA8RWRqZS5oPgogI2luY2x1ZGUgPHd0Zi9P
d25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCkBAIC00Miw0NyArMzksMTIg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogUnVuTG9vcDo6UnVuTG9vcCgpCiAgICAgOiBtX2luaXRF
ZmwoZmFsc2UpCiB7Ci0gICAgaWYgKCFlY29yZV9pbml0KCkpIHsKLSAgICAgICAgTE9HX0VSUk9S
KCJjb3VsZCBub3QgaW5pdCBlY29yZS4iKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAg
IGlmICghZWNvcmVfZXZhc19pbml0KCkpIHsKLSAgICAgICAgTE9HX0VSUk9SKCJjb3VsZCBub3Qg
aW5pdCBlY29yZV9ldmFzLiIpOwotICAgICAgICBnb3RvIGVycm9yRWNvcmVFdmFzOwotICAgIH0K
LQotICAgIGlmICghZWNvcmVfZmlsZV9pbml0KCkpIHsKLSAgICAgICAgTE9HX0VSUk9SKCJjb3Vs
ZCBub3QgaW5pdCBlY29yZV9maWxlLiIpOwotICAgICAgICBnb3RvIGVycm9yRWNvcmVGaWxlOwot
ICAgIH0KLQotICAgIGlmICghZWRqZV9pbml0KCkpIHsKLSAgICAgICAgTE9HX0VSUk9SKCJjb3Vs
ZCBub3QgaW5pdCBlZGplLiIpOwotICAgICAgICBnb3RvIGVycm9yRWRqZTsKLSAgICB9Ci0KICAg
ICBtX3BpcGUgPSBhZG9wdFB0cihlY29yZV9waXBlX2FkZCh3YWtlVXBFdmVudCwgdGhpcykpOwog
ICAgIG1faW5pdEVmbCA9IHRydWU7Ci0KLSAgICByZXR1cm47Ci0KLWVycm9yRWRqZToKLSAgICBl
Y29yZV9maWxlX3NodXRkb3duKCk7Ci1lcnJvckVjb3JlRmlsZToKLSAgICBlY29yZV9ldmFzX3No
dXRkb3duKCk7Ci1lcnJvckVjb3JlRXZhczoKLSAgICBlY29yZV9zaHV0ZG93bigpOwogfQogCiBS
dW5Mb29wOjp+UnVuTG9vcCgpCiB7Ci0gICAgaWYgKG1faW5pdEVmbCkgewotICAgICAgICBlZGpl
X3NodXRkb3duKCk7Ci0gICAgICAgIGVjb3JlX2ZpbGVfc2h1dGRvd24oKTsKLSAgICAgICAgZWNv
cmVfZXZhc19zaHV0ZG93bigpOwotICAgICAgICBlY29yZV9zaHV0ZG93bigpOwotICAgIH0KIH0K
IAogdm9pZCBSdW5Mb29wOjpydW4oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZv
cm1FZmwuY21ha2UgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCBkMzkz
MmI2ZGM5NjcxYWExYmQ3OGZjNzU3MzM2ODU3ZjI2Y2EyNGQ5Li5kMDAzZmJlNzA5YzJlNTIwZThm
YWYzZTQ4OTRhMWMwNWFlNzFjMTA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bUVmbC5jbWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQpAQCAtMjIw
LDcgKzIyMCw2IEBAIFNFVCAoRVdlYktpdDJfSEVBREVSUwogICAgICIke0NNQUtFX0NVUlJFTlRf
U09VUkNFX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0
LmgiCiAgICAgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9VSVByb2Nlc3MvQVBJL2VmbC9l
d2tfaW50ZW50LmgiCiAgICAgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9VSVByb2Nlc3Mv
QVBJL2VmbC9ld2tfaW50ZW50X3NlcnZpY2UuaCIKLSAgICAiJHtDTUFLRV9DVVJSRU5UX1NPVVJD
RV9ESVJ9L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19tYWluLmgiCiAgICAgIiR7Q01BS0VfQ1VSUkVO
VF9TT1VSQ0VfRElSfS9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfbmF2aWdhdGlvbl9wb2xpY3lfZGVj
aXNpb24uaCIKICAgICAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19wb3B1cF9tZW51X2l0ZW0uaCIKICAgICAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9E
SVJ9L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19zZXR0aW5ncy5oIgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRVdlYktpdDIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL0VXZWJLaXQyLmgKaW5kZXggMTNlZmFiMTNhYzM0MDljYjNiNGNlOTY1
YzE0MGY1YmMwZDRkMzUyYS4uZDgzZWI2MGZiY2FkN2NjODkzNTM4YmE3Nzg3YjIzNzQzNWYzNTZh
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRVdlYktpdDIu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9FV2ViS2l0Mi5oCkBAIC0z
Niw3ICszNiw2IEBACiAjaW5jbHVkZSAiZXdrX2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0LmgiCiAj
aW5jbHVkZSAiZXdrX2ludGVudC5oIgogI2luY2x1ZGUgImV3a19pbnRlbnRfc2VydmljZS5oIgot
I2luY2x1ZGUgImV3a19tYWluLmgiCiAjaW5jbHVkZSAiZXdrX25hdmlnYXRpb25fcG9saWN5X2Rl
Y2lzaW9uLmgiCiAjaW5jbHVkZSAiZXdrX3BvcHVwX21lbnVfaXRlbS5oIgogI2luY2x1ZGUgImV3
a19zZXR0aW5ncy5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX2NvbnRleHQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X2NvbnRleHQuY3BwCmluZGV4IGIzNGZmNzdkZjY5MTFjMjRhZDM1YTEyMzAwMDk3NDk2MjlhYzM5
NmQuLjU2OTVmOGY5NmFkNzg1YjNiNWI2NmFlMjdkZThmMWRlODM4NmM1OWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dC5jcHAKQEAgLTM1LDYg
KzM1LDcgQEAKICNpbmNsdWRlICJld2tfY29va2llX21hbmFnZXJfcHJpdmF0ZS5oIgogI2luY2x1
ZGUgImV3a19kb3dubG9hZF9qb2IuaCIKICNpbmNsdWRlICJld2tfZG93bmxvYWRfam9iX3ByaXZh
dGUuaCIKKyNpbmNsdWRlICJld2tfbWFpbl9wcml2YXRlLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9G
aWxlU3lzdGVtLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4KQEAgLTgxLDYgKzgyLDggQEAgc3RydWN0IF9Fd2tfQ29udGV4dCB7CiAg
ICAgICAgICwgY29va2llTWFuYWdlcigwKQogICAgICAgICAsIHJlcXVlc3RNYW5hZ2VyKFdLQ29u
dGV4dEdldFNvdXBSZXF1ZXN0TWFuYWdlcihjb250ZXh0UmVmLmdldCgpKSkKICAgICB7CisgICAg
ICAgIGV3a19pbml0KCk7CisKICNpZiBFTkFCTEUoQkFUVEVSWV9TVEFUVVMpCiAgICAgICAgIFdL
QmF0dGVyeU1hbmFnZXJSZWYgd2tCYXR0ZXJ5TWFuYWdlciA9IFdLQ29udGV4dEdldEJhdHRlcnlN
YW5hZ2VyKGNvbnRleHRSZWYuZ2V0KCkpOwogICAgICAgICBiYXR0ZXJ5UHJvdmlkZXIgPSBCYXR0
ZXJ5UHJvdmlkZXI6OmNyZWF0ZSh3a0JhdHRlcnlNYW5hZ2VyKTsKQEAgLTExNCw2ICsxMTcsOCBA
QCBzdHJ1Y3QgX0V3a19Db250ZXh0IHsKICAgICAgICAgSGFzaE1hcDx1aW50NjRfdCwgRXdrX0Rv
d25sb2FkX0pvYio+OjppdGVyYXRvciBlbmQgPSBkb3dubG9hZEpvYnMuZW5kKCk7CiAgICAgICAg
IGZvciAoIDsgaXQgIT0gZW5kOyArK2l0KQogICAgICAgICAgICAgZXdrX2Rvd25sb2FkX2pvYl91
bnJlZihpdC0+c2Vjb25kKTsKKworICAgICAgICBld2tfc2h1dGRvd24oKTsKICAgICB9CiB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfbWFpbi5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfbWFpbi5jcHAKaW5kZXgg
ZmNjOWZhZjFhMDQ3NDcxMjhkMTAxZTlkYjRiMjM5NmMxOGNlNjc4Ny4uZGU1ZGE2NmZmYjQ1MDRl
YTliYWQyNjU3MTA0ODgwODNjYmQwYjhhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX21haW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a19tYWluLmNwcApAQCAtMjAsNyArMjAsNiBAQAogKi8KIAogI2luY2x1ZGUg
ImNvbmZpZy5oIgotI2luY2x1ZGUgImV3a19tYWluLmgiCiAKICNpbmNsdWRlICJld2tfcHJpdmF0
ZS5oIgogI2luY2x1ZGUgPEVjb3JlLmg+CkBAIC0zOSw2ICszOCwxMyBAQCBzdGF0aWMgaW50IF9l
d2tJbml0Q291bnQgPSAwOwogICovCiBpbnQgX2V3a19sb2dfZG9tID0gLTE7CiAKKy8qKgorICog
QGludGVybmFsCisgKiBJbml0aWFsaXplcyBXZWJLaXQncyBpbnN0YW5jZS4KKyAqIC0gaW5pdGlh
bGl6ZXMgY29tcG9uZW50cyBuZWVkZWQgYnkgRUZMLAorICogLSBpbmNyZWFzZXMgYSByZWZlcmVu
Y2UgY291bnQgb2YgV2ViS2l0J3MgaW5zdGFuY2UuCisgKiBSZXR1cm5zIGEgcmVmZXJlbmNlIGNv
dW50IG9mIFdlYktpdCdzIGluc3RhbmNlIG9uIHN1Y2Nlc3Mgb3IgMCBvbiBmYWlsdXJlCisgKi8K
IGludCBld2tfaW5pdCh2b2lkKQogewogICAgIGlmIChfZXdrSW5pdENvdW50KQpAQCAtNjgsNiAr
NzQsMTEgQEAgaW50IGV3a19pbml0KHZvaWQpCiAgICAgICAgIGdvdG8gZXJyb3JfZWNvcmVfZXZh
czsKICAgICB9CiAKKyAgICBpZiAoIWVkamVfaW5pdCgpKSB7CisgICAgICAgIENSSVRJQ0FMKCJj
b3VsZCBub3QgaW5pdCBlZGplLiIpOworICAgICAgICBnb3RvIGVycm9yX2VkamU7CisgICAgfQor
CiAgICAgZ190eXBlX2luaXQoKTsKIAogICAgIGlmICghZWNvcmVfbWFpbl9sb29wX2dsaWJfaW50
ZWdyYXRlKCkpIHsKQEAgLTc3LDYgKzg4LDggQEAgaW50IGV3a19pbml0KHZvaWQpCiAKICAgICBy
ZXR1cm4gKytfZXdrSW5pdENvdW50OwogCitlcnJvcl9lZGplOgorICAgIGVjb3JlX2V2YXNfc2h1
dGRvd24oKTsKIGVycm9yX2Vjb3JlX2V2YXM6CiAgICAgZWNvcmVfc2h1dGRvd24oKTsKIGVycm9y
X2Vjb3JlOgpAQCAtOTAsMTEgKzEwMywxOCBAQCBlcnJvcl9laW5hOgogICAgIHJldHVybiAwOwog
fQogCisvKioKKyAqIEBpbnRlcm5hbAorICogRGVjcmVhc2VzIGEgcmVmZXJlbmNlIGNvdW50IG9m
IFdlYktpdCdzIGluc3RhbmNlLCBwb3NzaWJseSBkZXN0cm95aW5nIGl0LgorICogSWYgdGhlIHJl
ZmVyZW5jZSBjb3VudCByZWFjaGVzIDAsIFdlYktpdCdzIGluc3RhbmNlIGlzIGRlc3Ryb3llZC4K
KyAqIFJldHVybnMgYSByZWZlcmVuY2UgY291bnQgb2YgV2ViS2l0J3MgaW5zdGFuY2UKKyAqLwog
aW50IGV3a19zaHV0ZG93bih2b2lkKQogewogICAgIGlmICgtLV9ld2tJbml0Q291bnQpCiAgICAg
ICAgIHJldHVybiBfZXdrSW5pdENvdW50OwogCisgICAgZWRqZV9zaHV0ZG93bigpOwogICAgIGVj
b3JlX2V2YXNfc2h1dGRvd24oKTsKICAgICBlY29yZV9zaHV0ZG93bigpOwogICAgIGV2YXNfc2h1
dGRvd24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3
a19tYWluLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfbWFpbi5oCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyOGU5M2ZlMjNmZDIyYjZlMTI4MjEzYTM4ZWY4
OGYxMDIxYTY3ZTI2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19tYWluLmgKKysrIC9kZXYv
bnVsbApAQCAtMSw1OCArMCwwIEBACi0vKgotICAgIENvcHlyaWdodCAoQykgMjAwOS0yMDEwIFBy
b0ZVU0lPTiBlbWJlZGRlZCBzeXN0ZW1zCi0gICAgQ29weXJpZ2h0IChDKSAyMDA5LTIwMTAgU2Ft
c3VuZyBFbGVjdHJvbmljcwotICAgIENvcHlyaWdodCAoQykgMjAxMiBJbnRlbCBDb3Jwb3JhdGlv
bgotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgotICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotCi0gICAgVGhpcyBs
aWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
Ci0gICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKLSAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0gICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICAgIGFsb25n
IHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdy
aXRlIHRvCi0gICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmts
aW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4K
LSovCi0KLS8qKgotICogQGZpbGUgICAgZXdrX21haW4uaAotICogQGJyaWVmICAgVGhlIGdlbmVy
YWwgaW5pdGlhbGl6YXRpb24gb2YgV2ViS2l0Mi1FRkwsIG5vdCB0aWVkIHRvIGFueSB2aWV3IG9i
amVjdC4KLSAqLwotCi0jaWZuZGVmIGV3a19tYWluX2gKLSNkZWZpbmUgZXdrX21haW5faAotCi0j
aW5jbHVkZSA8RWluYS5oPgotCi0jaWZkZWYgX19jcGx1c3BsdXMKLWV4dGVybiAiQyIgewotI2Vu
ZGlmCi0KLS8qKgotICogSW5pdGlhbGl6ZXMgV2ViS2l0J3MgaW5zdGFuY2UuCi0gKgotICogLSBp
bml0aWFsaXplcyBjb21wb25lbnRzIG5lZWRlZCBieSBFRkwsCi0gKiAtIGluY3JlYXNlcyBhIHJl
ZmVyZW5jZSBjb3VudCBvZiBXZWJLaXQncyBpbnN0YW5jZS4KLSAqCi0gKiBAcmV0dXJuIGEgcmVm
ZXJlbmNlIGNvdW50IG9mIFdlYktpdCdzIGluc3RhbmNlIG9uIHN1Y2Nlc3Mgb3IgMCBvbiBmYWls
dXJlCi0gKi8KLUVBUEkgaW50IGV3a19pbml0KHZvaWQpOwotCi0vKioKLSAqIERlY3JlYXNlcyBh
IHJlZmVyZW5jZSBjb3VudCBvZiBXZWJLaXQncyBpbnN0YW5jZSwgcG9zc2libHkgZGVzdHJveWlu
ZyBpdC4KLSAqCi0gKiBJZiB0aGUgcmVmZXJlbmNlIGNvdW50IHJlYWNoZXMgMCBXZWJLaXQncyBp
bnN0YW5jZSBpcyBkZXN0cm95ZWQuCi0gKgotICogQHJldHVybiBhIHJlZmVyZW5jZSBjb3VudCBv
ZiBXZWJLaXQncyBpbnN0YW5jZQotICovCi1FQVBJIGludCBld2tfc2h1dGRvd24odm9pZCk7Ci0K
LSNpZmRlZiBfX2NwbHVzcGx1cwotfQotI2VuZGlmCi0jZW5kaWYgLy8gZXdrX21haW5faApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX21haW5fcHJpdmF0
ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX21haW5fcHJpdmF0ZS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjQ0ZmJjOWRiNzkzMDFhY2JkNTFkMGRiMmI4MjBhNzEzZTFiMThjZTkKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfbWFp
bl9wcml2YXRlLmgKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBT
YW1zdW5nIEVsZWN0cm9uaWNzCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgSW50ZWwgQ29ycG9yYXRp
b24KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2lmbmRlZiBld2tfbWFpbl9wcml2YXRlX2gKKyNkZWZpbmUgZXdrX21h
aW5fcHJpdmF0ZV9oCisKK2ludCBld2tfaW5pdCgpOworaW50IGV3a19zaHV0ZG93bigpOworCisj
ZW5kaWYgLy8gZXdrX21haW5fcHJpdmF0ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9F
V0syVW5pdFRlc3RCYXNlLmNwcAppbmRleCBhNGIyZWZmYjViNzIyMWJjZDliNWU2NDE3NDk5ODg3
OWUzNjYxMjM3Li40ODUzZDUwMGU4NjQ3ZmEyMDgwY2UzMTJkMzU1YTczODE1N2VmNjkxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0
aWxzL0VXSzJVbml0VGVzdEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5jcHAKQEAgLTQ1LDcg
KzQ1LDcgQEAgRVdLMlVuaXRUZXN0QmFzZTo6RVdLMlVuaXRUZXN0QmFzZSgpCiAKIHZvaWQgRVdL
MlVuaXRUZXN0QmFzZTo6U2V0VXAoKQogewotICAgIGV3a19pbml0KCk7CisgICAgQVNTRVJUX0dU
KGVjb3JlX2V2YXNfaW5pdCgpLCAwKTsKIAogICAgIHVuc2lnbmVkIGludCB3aWR0aCA9IGVudmly
b25tZW50LT5kZWZhdWx0V2lkdGgoKTsKICAgICB1bnNpZ25lZCBpbnQgaGVpZ2h0ID0gZW52aXJv
bm1lbnQtPmRlZmF1bHRIZWlnaHQoKTsKQEAgLTcxLDcgKzcxLDcgQEAgdm9pZCBFV0syVW5pdFRl
c3RCYXNlOjpUZWFyRG93bigpCiB7CiAgICAgZXZhc19vYmplY3RfZGVsKG1fd2ViVmlldyk7CiAg
ICAgZWNvcmVfZXZhc19mcmVlKG1fZWNvcmVFdmFzKTsKLSAgICBld2tfc2h1dGRvd24oKTsKKyAg
ICBlY29yZV9ldmFzX3NodXRkb3duKCk7CiB9CiAKIHZvaWQgRVdLMlVuaXRUZXN0QmFzZTo6bG9h
ZFVybFN5bmMoY29uc3QgY2hhciogdXJsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9lZmwvV2ViUHJvY2Vzc01haW5FZmwuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9lZmwvV2ViUHJvY2Vzc01haW5FZmwuY3BwCmluZGV4IDU4OWFhNzBmZWQ0NjE1NWJkNGIz
Nzk0YjBhNTA3OTBlOWMxNWJhOTkuLmQ4NjA5ZWE2MTUxNmJkYzQ5MzU5Y2FlMTE4NGU0NGUwMTlh
NTcyMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvZWZsL1dlYlByb2Nl
c3NNYWluRWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2VmbC9XZWJQcm9j
ZXNzTWFpbkVmbC5jcHAKQEAgLTMxLDYgKzMxLDggQEAKICNpbmNsdWRlICJQcm94eVJlc29sdmVy
U291cC5oIgogI2luY2x1ZGUgIldLQmFzZS5oIgogI2luY2x1ZGUgPEVjb3JlLmg+CisjaW5jbHVk
ZSA8RWNvcmVfRXZhcy5oPgorI2luY2x1ZGUgPEVkamUuaD4KICNpbmNsdWRlIDxFZnJlZXQuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlSGFuZGxlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9S
dW5Mb29wLmg+CkBAIC02NCw2ICs2NiwxOSBAQCBXS19FWFBPUlQgaW50IFdlYlByb2Nlc3NNYWlu
RWZsKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCiAgICAgICAgIHJldHVybiAxOwogICAgIH0KIAor
ICAgIGlmICghZWNvcmVfZXZhc19pbml0KCkpIHsKKyAgICAgICAgZWNvcmVfc2h1dGRvd24oKTsK
KyAgICAgICAgZWluYV9zaHV0ZG93bigpOworICAgICAgICByZXR1cm4gMTsKKyAgICB9CisKKyAg
ICBpZiAoIWVkamVfaW5pdCgpKSB7CisgICAgICAgIGVjb3JlX2V2YXNfc2h1dGRvd24oKTsKKyAg
ICAgICAgZWNvcmVfc2h1dGRvd24oKTsKKyAgICAgICAgZWluYV9zaHV0ZG93bigpOworICAgICAg
ICByZXR1cm4gMTsKKyAgICB9CisKICNpZiBFTkFCTEUoR0xJQl9TVVBQT1JUKQogICAgIGdfdHlw
ZV9pbml0KCk7CiAKQEAgLTEwNSw2ICsxMjAsMTEgQEAgV0tfRVhQT1JUIGludCBXZWJQcm9jZXNz
TWFpbkVmbChpbnQgYXJnYywgY2hhciogYXJndltdKQogICAgIHNvdXBfY2FjaGVfZHVtcChzb3Vw
Q2FjaGUpOwogICAgIGdfb2JqZWN0X3VucmVmKHNvdXBDYWNoZSk7CiAKKyAgICBlZGplX3NodXRk
b3duKCk7CisgICAgZWNvcmVfZXZhc19zaHV0ZG93bigpOworICAgIGVjb3JlX3NodXRkb3duKCk7
CisgICAgZWluYV9zaHV0ZG93bigpOworCiAgICAgcmV0dXJuIDA7CiAKIH0KZGlmZiAtLWdpdCBh
L1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhMTEyN2IyYjU5YzlhNGYz
MTZlODg5ZmI1NmQ1ZTU4YmZjYmRkYmZkLi5lNGU3MjMzYmVjOTk3MWIwZDJiOTE1OTZkNDUxNzI1
Y2E5MjAxMDkxIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTItMDktMjggIEV1bm1pIExlZSAgPGV1bm1pMTUubGVl
QHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdW1dLMl0gUmVmYWN0b3JpbmcgaW5pdGlhbGl6
YXRpb24gYW5kIHNodXRkb3duIGNvZGVzIG9mIEVGTCBsaWJyYXJpZXMuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzE3MworCisgICAgICAgIFJldmll
d2VkIGJ5IEd5dXlvdW5nIEtpbS4KKworICAgICAgICBUaGUgaW5pdGlhbGl6YXRpb24gYW5kIHNo
dXRkb3duIGFyZSBkb25lIGluc2lkZSB0aGUgd2Via2l0LCBzbyB3ZSBkb24ndAorICAgICAgICBo
YXZlIHRvIGNhbGwgdGhlbSBvdXQgb2YgdGhlIHdlYmtpdC4KKworICAgICAgICAqIE1pbmlCcm93
c2VyL2VmbC9tYWluLmM6CisgICAgICAgIChxdWl0KToKKyAgICAgICAgKG1haW4pOgorICAgICAg
ICAqIFdlYktpdFRlc3RSdW5uZXIvZWZsL1BsYXRmb3JtV2ViVmlld0VmbC5jcHA6CisgICAgICAg
IChXVFI6OmluaXRFY29yZUV2YXMpOgorICAgICAgICAoV1RSOjpQbGF0Zm9ybVdlYlZpZXc6On5Q
bGF0Zm9ybVdlYlZpZXcpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvZWZsL21haW4uY3Bw
OgorICAgICAgICAobWFpbik6CisKIDIwMTItMDktMjcgIEFsZXhhbmRyZSBFbGlhcyAgPGFlbGlh
c0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBEdW1wUmVuZGVyVHJlZSBzdXBw
b3J0IGZvciBzb2Z0d2FyZSBjb21wb3NpdGluZwpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dz
ZXIvZWZsL21haW4uYyBiL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9tYWluLmMKaW5kZXggYjQ0ZTUx
NGExMGRjNjI0MTBmYmJjMGQ0OGY5N2RhMDcxYjNjYjU0OS4uMzE0ZWYxZTc0NTg4MGVlOWMxMTJl
OTBlZTE5MGQ0MTI4YTFhZjI3NCAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvZWZsL21h
aW4uYworKysgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvbWFpbi5jCkBAIC0yMDAsNyArMjAwLDcg
QEAgb25fZXJyb3Iodm9pZCAqdXNlcl9kYXRhLCBFdmFzX09iamVjdCAqd2Vidmlldywgdm9pZCAq
ZXZlbnRfaW5mbykKIHN0YXRpYyBpbnQKIHF1aXQoRWluYV9Cb29sIHN1Y2Nlc3MsIGNvbnN0IGNo
YXIgKm1zZykKIHsKLSAgICBld2tfc2h1dGRvd24oKTsKKyAgICBlY29yZV9ldmFzX3NodXRkb3du
KCk7CiAKICAgICBpZiAobXNnKQogICAgICAgICBmcHV0cyhtc2csIChzdWNjZXNzKSA/IHN0ZG91
dCA6IHN0ZGVycik7CkBAIC0yNjgsNyArMjY4LDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIg
KmFyZ3ZbXSkKICAgICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX05PTkUKICAgICB9OwogCi0gICAg
aWYgKCFld2tfaW5pdCgpKQorICAgIGlmICghZWNvcmVfZXZhc19pbml0KCkpCiAgICAgICAgIHJl
dHVybiBFWElUX0ZBSUxVUkU7CiAKICAgICBlY29yZV9hcHBfYXJnc19zZXQoYXJnYywgKGNvbnN0
IGNoYXIgKiopIGFyZ3YpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9lZmwv
UGxhdGZvcm1XZWJWaWV3RWZsLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZWZsL1BsYXRm
b3JtV2ViVmlld0VmbC5jcHAKaW5kZXggMGJkYjIzNmRkZGY0YWU5MWM1MDg4N2U1M2M5ZWQ0Zjkz
NzNlM2RlZi4uZjI1MzhlMDYwYTg0MmFhYjMwMTg2ZmUyMWU5ZDJkNjJjZDQ2ZjAxZCAxMDA2NDQK
LS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9lZmwvUGxhdGZvcm1XZWJWaWV3RWZsLmNwcAor
KysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2VmbC9QbGF0Zm9ybVdlYlZpZXdFZmwuY3BwCkBA
IC0zMiw2ICszMiw5IEBAIHN0YXRpYyBib29sIHVzZVgxMVdpbmRvdyA9IGZhbHNlOwogCiBzdGF0
aWMgRWNvcmVfRXZhcyogaW5pdEVjb3JlRXZhcygpCiB7CisgICAgaWYgKCFlY29yZV9ldmFzX2lu
aXQoKSkKKyAgICAgICAgcmV0dXJuIDA7CisKICAgICBFY29yZV9FdmFzKiBlY29yZUV2YXMgPSB1
c2VYMTFXaW5kb3cgPyBlY29yZV9ldmFzX25ldygwLCAwLCAwLCA4MDAsIDYwMCwgMCkgOiBlY29y
ZV9ldmFzX2J1ZmZlcl9uZXcoODAwLCA2MDApOwogICAgIGlmICghZWNvcmVFdmFzKQogICAgICAg
ICByZXR1cm4gMDsKQEAgLTU3LDYgKzYwLDcgQEAgUGxhdGZvcm1XZWJWaWV3Ojp+UGxhdGZvcm1X
ZWJWaWV3KCkKIHsKICAgICBldmFzX29iamVjdF9kZWwobV92aWV3KTsKICAgICBlY29yZV9ldmFz
X2ZyZWUobV93aW5kb3cpOworICAgIGVjb3JlX2V2YXNfc2h1dGRvd24oKTsKIH0KIAogdm9pZCBQ
bGF0Zm9ybVdlYlZpZXc6OnJlc2l6ZVRvKHVuc2lnbmVkIHdpZHRoLCB1bnNpZ25lZCBoZWlnaHQp
CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2VmbC9tYWluLmNwcCBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvZWZsL21haW4uY3BwCmluZGV4IDk4YmNkZTJhN2MwMDE2YjhkNzgy
NjJjMmRmNzZjM2FjMmI2ODY0NjMuLmUyNmYwYjYzYTI0MzQ1YjRjYzk2ZDc5YzU0ZDI5YTM3MDU1
NDQ2ODIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZWZsL21haW4uY3BwCisr
KyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZWZsL21haW4uY3BwCkBAIC0zMiwxOCArMzIsMTMg
QEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogewogICAgIFdURkluc3RhbGxSZXBv
cnRCYWNrdHJhY2VPbkNyYXNoSG9vaygpOwogCi0gICAgaWYgKCFld2tfaW5pdCgpKQotICAgICAg
ICByZXR1cm4gMTsKLQogI2lmZGVmIEhBVkVfRUNPUkVfWAogICAgIGNvbnN0IGNoYXIqIGRpc3Bs
YXkgPSBnZXRlbnYoIkRJU1BMQVkiKTsKLSAgICBpbnQgaW50aWFsaXplZCA9IDA7CisgICAgaW50
IGluaXRpYWxpemVkID0gMDsKICAgICBpZiAoZGlzcGxheSkgewotICAgICAgICBpbnRpYWxpemVk
ID0gZWNvcmVfeF9pbml0KDApOwotICAgICAgICBpZiAoIWludGlhbGl6ZWQpIHsKLSAgICAgICAg
ICAgIGV3a19zaHV0ZG93bigpOworICAgICAgICBpbml0aWFsaXplZCA9IGVjb3JlX3hfaW5pdCgw
KTsKKyAgICAgICAgaWYgKCFpbml0aWFsaXplZCkKICAgICAgICAgICAgIHJldHVybiAxOwotICAg
ICAgICB9CiAgICAgfQogI2VuZGlmCiAKQEAgLTUxLDEyICs0NiwxMCBAQCBpbnQgbWFpbihpbnQg
YXJnYywgY2hhcioqIGFyZ3YpCiAgICAgV1RSOjpUZXN0Q29udHJvbGxlciBjb250cm9sbGVyKGFy
Z2MsIGNvbnN0X2Nhc3Q8Y29uc3QgY2hhcioqPihhcmd2KSk7CiAKICNpZmRlZiBIQVZFX0VDT1JF
X1gKLSAgICBpZiAoaW50aWFsaXplZCkKKyAgICBpZiAoaW5pdGlhbGl6ZWQpCiAgICAgICAgIGVj
b3JlX3hfc2h1dGRvd24oKTsKICNlbmRpZgogCi0gICAgZXdrX3NodXRkb3duKCk7Ci0KICAgICBy
ZXR1cm4gMDsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168674</attachid>
            <date>2012-10-15 04:16:25 -0700</date>
            <delta_ts>2012-10-15 04:58:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97173-20121015201515.patch</filename>
            <type>text/plain</type>
            <size>5555</size>
            <attacher name="Eunmi Lee">enmi.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxMjg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODUzNTgzNmI5ZDg3NDNh
ZDBiMDUzMThhY2I3OTcyYThkNDdkNzQ5Ni4uOGUyNzU2ZGI5ZjU4OTFjYWU5YjNiY2NhMzEzMTZh
NzFlNWY1NDJlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTEwLTE1ICBFdW5t
aSBMZWUgIDxldW5taTE1LmxlZUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIFJl
ZmFjdG9yaW5nIGluaXRpYWxpemF0aW9uIGFuZCBzaHV0ZG93biBjb2RlcyBvZiBFRkwgbGlicmFy
aWVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTcx
NzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1v
dmUgY29kZXMgdG8gaW5pdGlhbGl6ZSBhbmQgc2h1dGRvd24gdGhlIEVGTCBsaWJyYXJpZXMgZnJv
bQorICAgICAgICBSdW5Mb29wRWZsLmNwcC4gSW5pdGlhbGl6YXRpb24gYW5kIHNodXRkb3duIHdp
bGwgYmUgZG9uZSBpbiB0aGUKKyAgICAgICAgZXdrX21haW4uY3BwIGZvciB1aSBwcm9jZXNzIGFu
ZCBXZWJQcm9jZXNzTWFpbkVmbC5jcHAgZm9yIHdlYgorICAgICAgICBwcm9jZXNzLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cy4gVGhpcyBwYXRjaCBkb2Vzbid0IGNoYW5nZSBiZWhhdmlvci4KKwor
ICAgICAgICAqIHBsYXRmb3JtL2VmbC9SdW5Mb29wRWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJ1bkxvb3A6OlJ1bkxvb3ApOgorICAgICAgICAoV2ViQ29yZTo6UnVuTG9vcDo6flJ1bkxvb3Ap
OgorCiAyMDEyLTEwLTE0ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
U2ltcGxpZnkgdXNlciBjb250ZW50IGluIFdlYktpdDIgYnkgdXNpbmcgV2ViQ29yZTo6VXNlclN0
eWxlU2hlZXQgYW5kIFdlYkNvcmU6OlVzZXJTY3JpcHQgZGlyZWN0bHkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBl
NjRjNjAyNzNlMjY4YTFiYThiZTc0OTJjNDY5Njg2NDg3MjE5ZWRiLi5jNWMxYjEyMmViODRkNWMw
NTg5YWI4ZWUzNmNjZWIzYzc1MGYxODBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIw
MTItMTAtMTUgIEV1bm1pIExlZSAgPGV1bm1pMTUubGVlQHNhbXN1bmcuY29tPgorCisgICAgICAg
IFtFRkxdW1dLMl0gUmVmYWN0b3JpbmcgaW5pdGlhbGl6YXRpb24gYW5kIHNodXRkb3duIGNvZGVz
IG9mIEVGTCBsaWJyYXJpZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05NzE3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZGl0aW9uYWwgaW5mb3JtYXRpb24gb2YgdGhlIGNoYW5nZSBzdWNoIGFzIGFw
cHJvYWNoLCByYXRpb25hbGUuIFBsZWFzZSBhZGQgcGVyLWZ1bmN0aW9uIGRlc2NyaXB0aW9ucyBi
ZWxvdyAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX21haW4uY3Bw
OgorICAgICAgICAoZXdrX2luaXQpOgorICAgICAgICAoZXdrX3NodXRkb3duKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL2VmbC9XZWJQcm9jZXNzTWFpbkVmbC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3NNYWluRWZsKToKKwogMjAxMi0xMC0xNCAgQW5kZXJzIENhcmxzc29uICA8YW5k
ZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCB0aGUgd29ybGQuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUnVuTG9vcEVmbC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9lZmwvUnVuTG9vcEVmbC5jcHAKaW5kZXggZjI5OWQ4ZWNmMjY4MjQwYmRkMjY2
NmJhNTJhNDRiY2NiYTE5ZTIyZC4uZjJkMzQ3YzU1YmE5NzIxODVlZTAwYzdhZDMzM2MwZWNhNjFl
OWE2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1J1bkxvb3BFZmwu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9SdW5Mb29wRWZsLmNwcApAQCAt
MjgsOSArMjgsNiBAQAogI2luY2x1ZGUgIlJ1bkxvb3AuaCIKIAogI2luY2x1ZGUgPEVjb3JlLmg+
Ci0jaW5jbHVkZSA8RWNvcmVfRXZhcy5oPgotI2luY2x1ZGUgPEVjb3JlX0ZpbGUuaD4KLSNpbmNs
dWRlIDxFZGplLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNz
T3duUHRyLmg+CiAKQEAgLTQyLDQ3ICszOSwxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBSdW5M
b29wOjpSdW5Mb29wKCkKICAgICA6IG1faW5pdEVmbChmYWxzZSkKIHsKLSAgICBpZiAoIWVjb3Jl
X2luaXQoKSkgewotICAgICAgICBMT0dfRVJST1IoImNvdWxkIG5vdCBpbml0IGVjb3JlLiIpOwot
ICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKCFlY29yZV9ldmFzX2luaXQoKSkgewot
ICAgICAgICBMT0dfRVJST1IoImNvdWxkIG5vdCBpbml0IGVjb3JlX2V2YXMuIik7Ci0gICAgICAg
IGdvdG8gZXJyb3JFY29yZUV2YXM7Ci0gICAgfQotCi0gICAgaWYgKCFlY29yZV9maWxlX2luaXQo
KSkgewotICAgICAgICBMT0dfRVJST1IoImNvdWxkIG5vdCBpbml0IGVjb3JlX2ZpbGUuIik7Ci0g
ICAgICAgIGdvdG8gZXJyb3JFY29yZUZpbGU7Ci0gICAgfQotCi0gICAgaWYgKCFlZGplX2luaXQo
KSkgewotICAgICAgICBMT0dfRVJST1IoImNvdWxkIG5vdCBpbml0IGVkamUuIik7Ci0gICAgICAg
IGdvdG8gZXJyb3JFZGplOwotICAgIH0KLQogICAgIG1fcGlwZSA9IGFkb3B0UHRyKGVjb3JlX3Bp
cGVfYWRkKHdha2VVcEV2ZW50LCB0aGlzKSk7CiAgICAgbV9pbml0RWZsID0gdHJ1ZTsKLQotICAg
IHJldHVybjsKLQotZXJyb3JFZGplOgotICAgIGVjb3JlX2ZpbGVfc2h1dGRvd24oKTsKLWVycm9y
RWNvcmVGaWxlOgotICAgIGVjb3JlX2V2YXNfc2h1dGRvd24oKTsKLWVycm9yRWNvcmVFdmFzOgot
ICAgIGVjb3JlX3NodXRkb3duKCk7CiB9CiAKIFJ1bkxvb3A6On5SdW5Mb29wKCkKIHsKLSAgICBp
ZiAobV9pbml0RWZsKSB7Ci0gICAgICAgIGVkamVfc2h1dGRvd24oKTsKLSAgICAgICAgZWNvcmVf
ZmlsZV9zaHV0ZG93bigpOwotICAgICAgICBlY29yZV9ldmFzX3NodXRkb3duKCk7Ci0gICAgICAg
IGVjb3JlX3NodXRkb3duKCk7Ci0gICAgfQogfQogCiB2b2lkIFJ1bkxvb3A6OnJ1bigpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfbWFpbi5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfbWFpbi5jcHAKaW5kZXggMTdlMmIx
ZWVhNWQzYzdkYzc2OTFiOWRkZGY3MWNhYWVhYWNmNmEyOC4uNDJmNGIwZTliZjRhNGU3NzUyMTE0
MTQzN2YzYWI3MmQ1NmE2MDY5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvZXdrX21haW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19tYWluLmNwcApAQCAtNzksNiArNzksMTEgQEAgaW50IGV3a19pbml0KHZvaWQpCiAg
ICAgfQogI2VuZGlmCiAKKyAgICBpZiAoIWVkamVfaW5pdCgpKSB7CisgICAgICAgIENSSVRJQ0FM
KCJjb3VsZCBub3QgaW5pdCBlZGplLiIpOworICAgICAgICBnb3RvIGVycm9yX2VkamU7CisgICAg
fQorCiAgICAgZ190eXBlX2luaXQoKTsKIAogICAgIGlmICghZWNvcmVfbWFpbl9sb29wX2dsaWJf
aW50ZWdyYXRlKCkpIHsKQEAgLTg5LDggKzk0LDEzIEBAIGludCBld2tfaW5pdCh2b2lkKQogICAg
IHJldHVybiArK19ld2tJbml0Q291bnQ7CiAKICNpZmRlZiBIQVZFX0VDT1JFX1gKK2Vycm9yX2Vk
amU6CisgICAgZWNvcmVfeF9zaHV0ZG93bigpOwogZXJyb3JfZWNvcmVfeDoKICAgICBlY29yZV9l
dmFzX3NodXRkb3duKCk7CisjZWxzZQorZXJyb3JfZWRqZToKKyAgICBlY29yZV9ldmFzX3NodXRk
b3duKCk7CiAjZW5kaWYKIGVycm9yX2Vjb3JlX2V2YXM6CiAgICAgZWNvcmVfc2h1dGRvd24oKTsK
QEAgLTExMCw2ICsxMjAsNyBAQCBpbnQgZXdrX3NodXRkb3duKHZvaWQpCiAgICAgaWYgKC0tX2V3
a0luaXRDb3VudCkKICAgICAgICAgcmV0dXJuIF9ld2tJbml0Q291bnQ7CiAKKyAgICBlZGplX3No
dXRkb3duKCk7CiAjaWZkZWYgSEFWRV9FQ09SRV9YCiAgICAgZWNvcmVfeF9zaHV0ZG93bigpOwog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2VmbC9XZWJQcm9j
ZXNzTWFpbkVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2VmbC9XZWJQcm9jZXNz
TWFpbkVmbC5jcHAKaW5kZXggNTg5YWE3MGZlZDQ2MTU1YmQ0YjM3OTRiMGE1MDc5MGU5YzE1YmE5
OS4uZDg2MDllYTYxNTE2YmRjNDkzNTljYWUxMTg0ZTQ0ZTAxOWE1NzIxNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9lZmwvV2ViUHJvY2Vzc01haW5FZmwuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvZWZsL1dlYlByb2Nlc3NNYWluRWZsLmNwcApAQCAt
MzEsNiArMzEsOCBAQAogI2luY2x1ZGUgIlByb3h5UmVzb2x2ZXJTb3VwLmgiCiAjaW5jbHVkZSAi
V0tCYXNlLmgiCiAjaW5jbHVkZSA8RWNvcmUuaD4KKyNpbmNsdWRlIDxFY29yZV9FdmFzLmg+Cisj
aW5jbHVkZSA8RWRqZS5oPgogI2luY2x1ZGUgPEVmcmVldC5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
UmVzb3VyY2VIYW5kbGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1J1bkxvb3AuaD4KQEAgLTY0LDYg
KzY2LDE5IEBAIFdLX0VYUE9SVCBpbnQgV2ViUHJvY2Vzc01haW5FZmwoaW50IGFyZ2MsIGNoYXIq
IGFyZ3ZbXSkKICAgICAgICAgcmV0dXJuIDE7CiAgICAgfQogCisgICAgaWYgKCFlY29yZV9ldmFz
X2luaXQoKSkgeworICAgICAgICBlY29yZV9zaHV0ZG93bigpOworICAgICAgICBlaW5hX3NodXRk
b3duKCk7CisgICAgICAgIHJldHVybiAxOworICAgIH0KKworICAgIGlmICghZWRqZV9pbml0KCkp
IHsKKyAgICAgICAgZWNvcmVfZXZhc19zaHV0ZG93bigpOworICAgICAgICBlY29yZV9zaHV0ZG93
bigpOworICAgICAgICBlaW5hX3NodXRkb3duKCk7CisgICAgICAgIHJldHVybiAxOworICAgIH0K
KwogI2lmIEVOQUJMRShHTElCX1NVUFBPUlQpCiAgICAgZ190eXBlX2luaXQoKTsKIApAQCAtMTA1
LDYgKzEyMCwxMSBAQCBXS19FWFBPUlQgaW50IFdlYlByb2Nlc3NNYWluRWZsKGludCBhcmdjLCBj
aGFyKiBhcmd2W10pCiAgICAgc291cF9jYWNoZV9kdW1wKHNvdXBDYWNoZSk7CiAgICAgZ19vYmpl
Y3RfdW5yZWYoc291cENhY2hlKTsKIAorICAgIGVkamVfc2h1dGRvd24oKTsKKyAgICBlY29yZV9l
dmFzX3NodXRkb3duKCk7CisgICAgZWNvcmVfc2h1dGRvd24oKTsKKyAgICBlaW5hX3NodXRkb3du
KCk7CisKICAgICByZXR1cm4gMDsKIAogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168681</attachid>
            <date>2012-10-15 04:58:43 -0700</date>
            <delta_ts>2012-10-22 04:59:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97173-20121015205734.patch</filename>
            <type>text/plain</type>
            <size>5566</size>
            <attacher name="Eunmi Lee">enmi.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxMjg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODUzNTgzNmI5ZDg3NDNh
ZDBiMDUzMThhY2I3OTcyYThkNDdkNzQ5Ni4uOGUyNzU2ZGI5ZjU4OTFjYWU5YjNiY2NhMzEzMTZh
NzFlNWY1NDJlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTEwLTE1ICBFdW5t
aSBMZWUgIDxldW5taTE1LmxlZUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIFJl
ZmFjdG9yaW5nIGluaXRpYWxpemF0aW9uIGFuZCBzaHV0ZG93biBjb2RlcyBvZiBFRkwgbGlicmFy
aWVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTcx
NzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1v
dmUgY29kZXMgdG8gaW5pdGlhbGl6ZSBhbmQgc2h1dGRvd24gdGhlIEVGTCBsaWJyYXJpZXMgZnJv
bQorICAgICAgICBSdW5Mb29wRWZsLmNwcC4gSW5pdGlhbGl6YXRpb24gYW5kIHNodXRkb3duIHdp
bGwgYmUgZG9uZSBpbiB0aGUKKyAgICAgICAgZXdrX21haW4uY3BwIGZvciB1aSBwcm9jZXNzIGFu
ZCBXZWJQcm9jZXNzTWFpbkVmbC5jcHAgZm9yIHdlYgorICAgICAgICBwcm9jZXNzLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cy4gVGhpcyBwYXRjaCBkb2Vzbid0IGNoYW5nZSBiZWhhdmlvci4KKwor
ICAgICAgICAqIHBsYXRmb3JtL2VmbC9SdW5Mb29wRWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJ1bkxvb3A6OlJ1bkxvb3ApOgorICAgICAgICAoV2ViQ29yZTo6UnVuTG9vcDo6flJ1bkxvb3Ap
OgorCiAyMDEyLTEwLTE0ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
U2ltcGxpZnkgdXNlciBjb250ZW50IGluIFdlYktpdDIgYnkgdXNpbmcgV2ViQ29yZTo6VXNlclN0
eWxlU2hlZXQgYW5kIFdlYkNvcmU6OlVzZXJTY3JpcHQgZGlyZWN0bHkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBl
NjRjNjAyNzNlMjY4YTFiYThiZTc0OTJjNDY5Njg2NDg3MjE5ZWRiLi5kYzliNTgwNjVjM2I0MTY0
NjE2NTQ5ZDA5ZDUxZGMwOThmMzFiNTViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIw
MTItMTAtMTUgIEV1bm1pIExlZSAgPGV1bm1pMTUubGVlQHNhbXN1bmcuY29tPgorCisgICAgICAg
IFtFRkxdW1dLMl0gUmVmYWN0b3JpbmcgaW5pdGlhbGl6YXRpb24gYW5kIHNodXRkb3duIGNvZGVz
IG9mIEVGTCBsaWJyYXJpZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05NzE3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEluaXRpYWxpemUgYW5kIHNodXRkb3duIHRoZSBFRkwgbGlicmFyaWVzIGluIHRo
ZSBld2tfbWFpbi5jcHAgZm9yIHVpCisgICAgICAgIHByb2Nlc3MgYW5kIFdlYlByb2Nlc3NNYWlu
RWZsLmNwcCBmb3Igd2ViIHByb2Nlc3MuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9l
d2tfbWFpbi5jcHA6CisgICAgICAgIChld2tfaW5pdCk6CisgICAgICAgIChld2tfc2h1dGRvd24p
OgorICAgICAgICAqIFdlYlByb2Nlc3MvZWZsL1dlYlByb2Nlc3NNYWluRWZsLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzc01haW5FZmwpOgorCiAyMDEyLTEwLTE0ICBBbmRlcnMgQ2Fy
bHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IHRoZSB3b3JsZC4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9SdW5Mb29wRWZsLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9SdW5Mb29wRWZsLmNwcAppbmRleCBmMjk5ZDhlY2Yy
NjgyNDBiZGQyNjY2YmE1MmE0NGJjY2JhMTllMjJkLi5mMmQzNDdjNTViYTk3MjE4NWVlMDBjN2Fk
MzMzYzBlY2E2MWU5YTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwv
UnVuTG9vcEVmbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1J1bkxvb3BF
ZmwuY3BwCkBAIC0yOCw5ICsyOCw2IEBACiAjaW5jbHVkZSAiUnVuTG9vcC5oIgogCiAjaW5jbHVk
ZSA8RWNvcmUuaD4KLSNpbmNsdWRlIDxFY29yZV9FdmFzLmg+Ci0jaW5jbHVkZSA8RWNvcmVfRmls
ZS5oPgotI2luY2x1ZGUgPEVkamUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVk
ZSA8d3RmL1Bhc3NPd25QdHIuaD4KIApAQCAtNDIsNDcgKzM5LDEyIEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIFJ1bkxvb3A6OlJ1bkxvb3AoKQogICAgIDogbV9pbml0RWZsKGZhbHNlKQogewotICAg
IGlmICghZWNvcmVfaW5pdCgpKSB7Ci0gICAgICAgIExPR19FUlJPUigiY291bGQgbm90IGluaXQg
ZWNvcmUuIik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAoIWVjb3JlX2V2YXNf
aW5pdCgpKSB7Ci0gICAgICAgIExPR19FUlJPUigiY291bGQgbm90IGluaXQgZWNvcmVfZXZhcy4i
KTsKLSAgICAgICAgZ290byBlcnJvckVjb3JlRXZhczsKLSAgICB9Ci0KLSAgICBpZiAoIWVjb3Jl
X2ZpbGVfaW5pdCgpKSB7Ci0gICAgICAgIExPR19FUlJPUigiY291bGQgbm90IGluaXQgZWNvcmVf
ZmlsZS4iKTsKLSAgICAgICAgZ290byBlcnJvckVjb3JlRmlsZTsKLSAgICB9Ci0KLSAgICBpZiAo
IWVkamVfaW5pdCgpKSB7Ci0gICAgICAgIExPR19FUlJPUigiY291bGQgbm90IGluaXQgZWRqZS4i
KTsKLSAgICAgICAgZ290byBlcnJvckVkamU7Ci0gICAgfQotCiAgICAgbV9waXBlID0gYWRvcHRQ
dHIoZWNvcmVfcGlwZV9hZGQod2FrZVVwRXZlbnQsIHRoaXMpKTsKICAgICBtX2luaXRFZmwgPSB0
cnVlOwotCi0gICAgcmV0dXJuOwotCi1lcnJvckVkamU6Ci0gICAgZWNvcmVfZmlsZV9zaHV0ZG93
bigpOwotZXJyb3JFY29yZUZpbGU6Ci0gICAgZWNvcmVfZXZhc19zaHV0ZG93bigpOwotZXJyb3JF
Y29yZUV2YXM6Ci0gICAgZWNvcmVfc2h1dGRvd24oKTsKIH0KIAogUnVuTG9vcDo6flJ1bkxvb3Ao
KQogewotICAgIGlmIChtX2luaXRFZmwpIHsKLSAgICAgICAgZWRqZV9zaHV0ZG93bigpOwotICAg
ICAgICBlY29yZV9maWxlX3NodXRkb3duKCk7Ci0gICAgICAgIGVjb3JlX2V2YXNfc2h1dGRvd24o
KTsKLSAgICAgICAgZWNvcmVfc2h1dGRvd24oKTsKLSAgICB9CiB9CiAKIHZvaWQgUnVuTG9vcDo6
cnVuKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19t
YWluLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19tYWluLmNwcApp
bmRleCAxN2UyYjFlZWE1ZDNjN2RjNzY5MWI5ZGRkZjcxY2FhZWFhY2Y2YTI4Li40MmY0YjBlOWJm
NGE0ZTc3NTIxMTQxNDM3ZjNhYjcyZDU2YTYwNjlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfbWFpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX21haW4uY3BwCkBAIC03OSw2ICs3OSwxMSBAQCBpbnQgZXdrX2lu
aXQodm9pZCkKICAgICB9CiAjZW5kaWYKIAorICAgIGlmICghZWRqZV9pbml0KCkpIHsKKyAgICAg
ICAgQ1JJVElDQUwoImNvdWxkIG5vdCBpbml0IGVkamUuIik7CisgICAgICAgIGdvdG8gZXJyb3Jf
ZWRqZTsKKyAgICB9CisKICAgICBnX3R5cGVfaW5pdCgpOwogCiAgICAgaWYgKCFlY29yZV9tYWlu
X2xvb3BfZ2xpYl9pbnRlZ3JhdGUoKSkgewpAQCAtODksOCArOTQsMTMgQEAgaW50IGV3a19pbml0
KHZvaWQpCiAgICAgcmV0dXJuICsrX2V3a0luaXRDb3VudDsKIAogI2lmZGVmIEhBVkVfRUNPUkVf
WAorZXJyb3JfZWRqZToKKyAgICBlY29yZV94X3NodXRkb3duKCk7CiBlcnJvcl9lY29yZV94Ogog
ICAgIGVjb3JlX2V2YXNfc2h1dGRvd24oKTsKKyNlbHNlCitlcnJvcl9lZGplOgorICAgIGVjb3Jl
X2V2YXNfc2h1dGRvd24oKTsKICNlbmRpZgogZXJyb3JfZWNvcmVfZXZhczoKICAgICBlY29yZV9z
aHV0ZG93bigpOwpAQCAtMTEwLDYgKzEyMCw3IEBAIGludCBld2tfc2h1dGRvd24odm9pZCkKICAg
ICBpZiAoLS1fZXdrSW5pdENvdW50KQogICAgICAgICByZXR1cm4gX2V3a0luaXRDb3VudDsKIAor
ICAgIGVkamVfc2h1dGRvd24oKTsKICNpZmRlZiBIQVZFX0VDT1JFX1gKICAgICBlY29yZV94X3No
dXRkb3duKCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
ZWZsL1dlYlByb2Nlc3NNYWluRWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvZWZs
L1dlYlByb2Nlc3NNYWluRWZsLmNwcAppbmRleCA1ODlhYTcwZmVkNDYxNTViZDRiMzc5NGIwYTUw
NzkwZTljMTViYTk5Li5kODYwOWVhNjE1MTZiZGM0OTM1OWNhZTExODRlNDRlMDE5YTU3MjE2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2VmbC9XZWJQcm9jZXNzTWFpbkVm
bC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9lZmwvV2ViUHJvY2Vzc01haW5F
ZmwuY3BwCkBAIC0zMSw2ICszMSw4IEBACiAjaW5jbHVkZSAiUHJveHlSZXNvbHZlclNvdXAuaCIK
ICNpbmNsdWRlICJXS0Jhc2UuaCIKICNpbmNsdWRlIDxFY29yZS5oPgorI2luY2x1ZGUgPEVjb3Jl
X0V2YXMuaD4KKyNpbmNsdWRlIDxFZGplLmg+CiAjaW5jbHVkZSA8RWZyZWV0Lmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9SZXNvdXJjZUhhbmRsZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUnVuTG9vcC5o
PgpAQCAtNjQsNiArNjYsMTkgQEAgV0tfRVhQT1JUIGludCBXZWJQcm9jZXNzTWFpbkVmbChpbnQg
YXJnYywgY2hhciogYXJndltdKQogICAgICAgICByZXR1cm4gMTsKICAgICB9CiAKKyAgICBpZiAo
IWVjb3JlX2V2YXNfaW5pdCgpKSB7CisgICAgICAgIGVjb3JlX3NodXRkb3duKCk7CisgICAgICAg
IGVpbmFfc2h1dGRvd24oKTsKKyAgICAgICAgcmV0dXJuIDE7CisgICAgfQorCisgICAgaWYgKCFl
ZGplX2luaXQoKSkgeworICAgICAgICBlY29yZV9ldmFzX3NodXRkb3duKCk7CisgICAgICAgIGVj
b3JlX3NodXRkb3duKCk7CisgICAgICAgIGVpbmFfc2h1dGRvd24oKTsKKyAgICAgICAgcmV0dXJu
IDE7CisgICAgfQorCiAjaWYgRU5BQkxFKEdMSUJfU1VQUE9SVCkKICAgICBnX3R5cGVfaW5pdCgp
OwogCkBAIC0xMDUsNiArMTIwLDExIEBAIFdLX0VYUE9SVCBpbnQgV2ViUHJvY2Vzc01haW5FZmwo
aW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKICAgICBzb3VwX2NhY2hlX2R1bXAoc291cENhY2hlKTsK
ICAgICBnX29iamVjdF91bnJlZihzb3VwQ2FjaGUpOwogCisgICAgZWRqZV9zaHV0ZG93bigpOwor
ICAgIGVjb3JlX2V2YXNfc2h1dGRvd24oKTsKKyAgICBlY29yZV9zaHV0ZG93bigpOworICAgIGVp
bmFfc2h1dGRvd24oKTsKKwogICAgIHJldHVybiAwOwogCiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169878</attachid>
            <date>2012-10-22 04:59:58 -0700</date>
            <delta_ts>2013-02-05 03:09:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97173-20121022205836.patch</filename>
            <type>text/plain</type>
            <size>5594</size>
            <attacher name="Eunmi Lee">enmi.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyMDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjhmZmY2NzhkNjcyZGQ2
ZGViOGI0NDkyNWE3YzhmZmNlYzhlMDAwMi4uZDI1MWQyNzIxODhkMWQwZmVkNDc4ODAzY2U3MmRl
YjIwMTMxMDU3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTEwLTIyICBFdW5t
aSBMZWUgIDxldW5taTE1LmxlZUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIFJl
ZmFjdG9yaW5nIGluaXRpYWxpemF0aW9uIGFuZCBzaHV0ZG93biBjb2RlcyBvZiBFRkwgbGlicmFy
aWVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTcx
NzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1v
dmUgY29kZXMgdG8gaW5pdGlhbGl6ZSBhbmQgc2h1dGRvd24gdGhlIEVGTCBsaWJyYXJpZXMgZnJv
bQorICAgICAgICBSdW5Mb29wRWZsLmNwcC4gSW5pdGlhbGl6YXRpb24gYW5kIHNodXRkb3duIHdp
bGwgYmUgZG9uZSBpbiB0aGUKKyAgICAgICAgZXdrX21haW4uY3BwIGZvciB1aSBwcm9jZXNzIGFu
ZCBXZWJQcm9jZXNzTWFpbkVmbC5jcHAgZm9yIHdlYgorICAgICAgICBwcm9jZXNzLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cy4gVGhpcyBwYXRjaCBkb2Vzbid0IGNoYW5nZSBiZWhhdmlvci4KKwor
ICAgICAgICAqIHBsYXRmb3JtL2VmbC9SdW5Mb29wRWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJ1bkxvb3A6OlJ1bkxvb3ApOgorICAgICAgICAoV2ViQ29yZTo6UnVuTG9vcDo6flJ1bkxvb3Ap
OgorCiAyMDEyLTEwLTIxICBTaGlueWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBTaGFkb3cgRE9NOiBOb2RlIHJlbW92YWwgZG9lc24n
dCByZWZsZWN0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDE0YWM1MjY1MjJlNTc4ZGIwMDZmYjgwNGY4MDNhNGI2
MjhhZTJlOTUuLjllYTQ1MTc0OTA5YmRhNTEzZmI3ZjUyYmI3M2NjZmU5YmRmZGI1MjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMi0xMC0yMiAgRXVubWkgTGVlICA8ZXVubWkxNS5s
ZWVAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0VGTF1bV0syXSBSZWZhY3RvcmluZyBpbml0aWFs
aXphdGlvbiBhbmQgc2h1dGRvd24gY29kZXMgb2YgRUZMIGxpYnJhcmllcy4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3MTczCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5pdGlhbGl6ZSBhbmQgc2h1dGRv
d24gdGhlIEVGTCBsaWJyYXJpZXMgaW4gdGhlIGV3a19tYWluLmNwcCBmb3IgdWkKKyAgICAgICAg
cHJvY2VzcyBhbmQgV2ViUHJvY2Vzc01haW5FZmwuY3BwIGZvciB3ZWIgcHJvY2Vzcy4KKworICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19tYWluLmNwcDoKKyAgICAgICAgKGV3a19pbml0
KToKKyAgICAgICAgKGV3a19zaHV0ZG93bik6CisgICAgICAgICogV2ViUHJvY2Vzcy9lZmwvV2Vi
UHJvY2Vzc01haW5FZmwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzTWFpbkVmbCk6
CisKIDIwMTItMTAtMjEgIEh5dW5nY2hhbiBLaW0gIDxoeXVuZ2NoYW4yLmtpbUBsZ2UuY29tPgog
CiAgICAgICAgIEFkZCBhIHNlcGFyYXRlIGZsYWcgZm9yIHJnYiBzd2l6emxpbmcgd2hldGhlciBp
dCBjYW4gYmUgbW9kaWZpZWQgb3Igbm90CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9lZmwvUnVuTG9vcEVmbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUnVu
TG9vcEVmbC5jcHAKaW5kZXggZjI5OWQ4ZWNmMjY4MjQwYmRkMjY2NmJhNTJhNDRiY2NiYTE5ZTIy
ZC4uZjJkMzQ3YzU1YmE5NzIxODVlZTAwYzdhZDMzM2MwZWNhNjFlOWE2NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1J1bkxvb3BFZmwuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2VmbC9SdW5Mb29wRWZsLmNwcApAQCAtMjgsOSArMjgsNiBAQAogI2lu
Y2x1ZGUgIlJ1bkxvb3AuaCIKIAogI2luY2x1ZGUgPEVjb3JlLmg+Ci0jaW5jbHVkZSA8RWNvcmVf
RXZhcy5oPgotI2luY2x1ZGUgPEVjb3JlX0ZpbGUuaD4KLSNpbmNsdWRlIDxFZGplLmg+CiAjaW5j
bHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKQEAgLTQy
LDQ3ICszOSwxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBSdW5Mb29wOjpSdW5Mb29wKCkKICAg
ICA6IG1faW5pdEVmbChmYWxzZSkKIHsKLSAgICBpZiAoIWVjb3JlX2luaXQoKSkgewotICAgICAg
ICBMT0dfRVJST1IoImNvdWxkIG5vdCBpbml0IGVjb3JlLiIpOwotICAgICAgICByZXR1cm47Ci0g
ICAgfQotCi0gICAgaWYgKCFlY29yZV9ldmFzX2luaXQoKSkgewotICAgICAgICBMT0dfRVJST1Io
ImNvdWxkIG5vdCBpbml0IGVjb3JlX2V2YXMuIik7Ci0gICAgICAgIGdvdG8gZXJyb3JFY29yZUV2
YXM7Ci0gICAgfQotCi0gICAgaWYgKCFlY29yZV9maWxlX2luaXQoKSkgewotICAgICAgICBMT0df
RVJST1IoImNvdWxkIG5vdCBpbml0IGVjb3JlX2ZpbGUuIik7Ci0gICAgICAgIGdvdG8gZXJyb3JF
Y29yZUZpbGU7Ci0gICAgfQotCi0gICAgaWYgKCFlZGplX2luaXQoKSkgewotICAgICAgICBMT0df
RVJST1IoImNvdWxkIG5vdCBpbml0IGVkamUuIik7Ci0gICAgICAgIGdvdG8gZXJyb3JFZGplOwot
ICAgIH0KLQogICAgIG1fcGlwZSA9IGFkb3B0UHRyKGVjb3JlX3BpcGVfYWRkKHdha2VVcEV2ZW50
LCB0aGlzKSk7CiAgICAgbV9pbml0RWZsID0gdHJ1ZTsKLQotICAgIHJldHVybjsKLQotZXJyb3JF
ZGplOgotICAgIGVjb3JlX2ZpbGVfc2h1dGRvd24oKTsKLWVycm9yRWNvcmVGaWxlOgotICAgIGVj
b3JlX2V2YXNfc2h1dGRvd24oKTsKLWVycm9yRWNvcmVFdmFzOgotICAgIGVjb3JlX3NodXRkb3du
KCk7CiB9CiAKIFJ1bkxvb3A6On5SdW5Mb29wKCkKIHsKLSAgICBpZiAobV9pbml0RWZsKSB7Ci0g
ICAgICAgIGVkamVfc2h1dGRvd24oKTsKLSAgICAgICAgZWNvcmVfZmlsZV9zaHV0ZG93bigpOwot
ICAgICAgICBlY29yZV9ldmFzX3NodXRkb3duKCk7Ci0gICAgICAgIGVjb3JlX3NodXRkb3duKCk7
Ci0gICAgfQogfQogCiB2b2lkIFJ1bkxvb3A6OnJ1bigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfbWFpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9ld2tfbWFpbi5jcHAKaW5kZXggMTdlMmIxZWVhNWQzYzdkYzc2OTFiOWRk
ZGY3MWNhYWVhYWNmNmEyOC4uNDJmNGIwZTliZjRhNGU3NzUyMTE0MTQzN2YzYWI3MmQ1NmE2MDY5
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX21haW4u
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19tYWluLmNwcApA
QCAtNzksNiArNzksMTEgQEAgaW50IGV3a19pbml0KHZvaWQpCiAgICAgfQogI2VuZGlmCiAKKyAg
ICBpZiAoIWVkamVfaW5pdCgpKSB7CisgICAgICAgIENSSVRJQ0FMKCJjb3VsZCBub3QgaW5pdCBl
ZGplLiIpOworICAgICAgICBnb3RvIGVycm9yX2VkamU7CisgICAgfQorCiAgICAgZ190eXBlX2lu
aXQoKTsKIAogICAgIGlmICghZWNvcmVfbWFpbl9sb29wX2dsaWJfaW50ZWdyYXRlKCkpIHsKQEAg
LTg5LDggKzk0LDEzIEBAIGludCBld2tfaW5pdCh2b2lkKQogICAgIHJldHVybiArK19ld2tJbml0
Q291bnQ7CiAKICNpZmRlZiBIQVZFX0VDT1JFX1gKK2Vycm9yX2VkamU6CisgICAgZWNvcmVfeF9z
aHV0ZG93bigpOwogZXJyb3JfZWNvcmVfeDoKICAgICBlY29yZV9ldmFzX3NodXRkb3duKCk7Cisj
ZWxzZQorZXJyb3JfZWRqZToKKyAgICBlY29yZV9ldmFzX3NodXRkb3duKCk7CiAjZW5kaWYKIGVy
cm9yX2Vjb3JlX2V2YXM6CiAgICAgZWNvcmVfc2h1dGRvd24oKTsKQEAgLTExMCw2ICsxMjAsNyBA
QCBpbnQgZXdrX3NodXRkb3duKHZvaWQpCiAgICAgaWYgKC0tX2V3a0luaXRDb3VudCkKICAgICAg
ICAgcmV0dXJuIF9ld2tJbml0Q291bnQ7CiAKKyAgICBlZGplX3NodXRkb3duKCk7CiAjaWZkZWYg
SEFWRV9FQ09SRV9YCiAgICAgZWNvcmVfeF9zaHV0ZG93bigpOwogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2VmbC9XZWJQcm9jZXNzTWFpbkVmbC5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2VmbC9XZWJQcm9jZXNzTWFpbkVmbC5jcHAKaW5kZXgg
NTg5YWE3MGZlZDQ2MTU1YmQ0YjM3OTRiMGE1MDc5MGU5YzE1YmE5OS4uZDg2MDllYTYxNTE2YmRj
NDkzNTljYWUxMTg0ZTQ0ZTAxOWE1NzIxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9lZmwvV2ViUHJvY2Vzc01haW5FZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvZWZsL1dlYlByb2Nlc3NNYWluRWZsLmNwcApAQCAtMzEsNiArMzEsOCBAQAogI2lu
Y2x1ZGUgIlByb3h5UmVzb2x2ZXJTb3VwLmgiCiAjaW5jbHVkZSAiV0tCYXNlLmgiCiAjaW5jbHVk
ZSA8RWNvcmUuaD4KKyNpbmNsdWRlIDxFY29yZV9FdmFzLmg+CisjaW5jbHVkZSA8RWRqZS5oPgog
I2luY2x1ZGUgPEVmcmVldC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VIYW5kbGUuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1J1bkxvb3AuaD4KQEAgLTY0LDYgKzY2LDE5IEBAIFdLX0VYUE9S
VCBpbnQgV2ViUHJvY2Vzc01haW5FZmwoaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKICAgICAgICAg
cmV0dXJuIDE7CiAgICAgfQogCisgICAgaWYgKCFlY29yZV9ldmFzX2luaXQoKSkgeworICAgICAg
ICBlY29yZV9zaHV0ZG93bigpOworICAgICAgICBlaW5hX3NodXRkb3duKCk7CisgICAgICAgIHJl
dHVybiAxOworICAgIH0KKworICAgIGlmICghZWRqZV9pbml0KCkpIHsKKyAgICAgICAgZWNvcmVf
ZXZhc19zaHV0ZG93bigpOworICAgICAgICBlY29yZV9zaHV0ZG93bigpOworICAgICAgICBlaW5h
X3NodXRkb3duKCk7CisgICAgICAgIHJldHVybiAxOworICAgIH0KKwogI2lmIEVOQUJMRShHTElC
X1NVUFBPUlQpCiAgICAgZ190eXBlX2luaXQoKTsKIApAQCAtMTA1LDYgKzEyMCwxMSBAQCBXS19F
WFBPUlQgaW50IFdlYlByb2Nlc3NNYWluRWZsKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCiAgICAg
c291cF9jYWNoZV9kdW1wKHNvdXBDYWNoZSk7CiAgICAgZ19vYmplY3RfdW5yZWYoc291cENhY2hl
KTsKIAorICAgIGVkamVfc2h1dGRvd24oKTsKKyAgICBlY29yZV9ldmFzX3NodXRkb3duKCk7Cisg
ICAgZWNvcmVfc2h1dGRvd24oKTsKKyAgICBlaW5hX3NodXRkb3duKCk7CisKICAgICByZXR1cm4g
MDsKIAogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186592</attachid>
            <date>2013-02-05 03:10:07 -0800</date>
            <delta_ts>2013-02-05 09:10:05 -0800</delta_ts>
            <desc>Rebased patch for landing</desc>
            <filename>bug-97173-20130205130804.patch</filename>
            <type>text/plain</type>
            <size>5932</size>
            <attacher name="Raphael Kubo da Costa (:rakuco)">rakuco</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxODgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGQwNGQwMmIwYmQ3MzMy
ZmI0N2Q4NGMzZGNjN2RkMzcwMDAzNWFiOS4uMjczOTkyZjE2ZjJiYjZhM2NkM2MxZDY1Y2ZmYmRh
ZmRkNDc0MWI5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEzLTAyLTA1ICBFdW5t
aSBMZWUgIDxldW5taTE1LmxlZUBzYW1zdW5nLmNvbT4gYW5kIFJhcGhhZWwgS3VibyBkYSBDb3N0
YSAgPHJhcGhhZWwua3Viby5kYS5jb3N0YUBpbnRlbC5jb20+CisKKyAgICAgICAgW0VGTF1bV0sy
XSBSZWZhY3RvcmluZyBpbml0aWFsaXphdGlvbiBhbmQgc2h1dGRvd24gY29kZXMgb2YgRUZMIGxp
YnJhcmllcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTk3MTczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgR3l1eW91bmcgS2ltLgorCisgICAgICAgIFJl
bW92ZSBjb2RlcyB0byBpbml0aWFsaXplIGFuZCBzaHV0ZG93biB0aGUgRUZMIGxpYnJhcmllcyBm
cm9tCisgICAgICAgIFJ1bkxvb3BFZmwuY3BwLiBJbml0aWFsaXphdGlvbiBhbmQgc2h1dGRvd24g
d2lsbCBiZSBkb25lIGluIHRoZQorICAgICAgICBld2tfbWFpbi5jcHAgZm9yIHVpIHByb2Nlc3Mg
YW5kIFdlYlByb2Nlc3NNYWluRWZsLmNwcCBmb3Igd2ViCisgICAgICAgIHByb2Nlc3MuCisKKyAg
ICAgICAgTm8gbmV3IHRlc3RzLiBUaGlzIHBhdGNoIGRvZXNuJ3QgY2hhbmdlIGJlaGF2aW9yLgor
CisgICAgICAgICogcGxhdGZvcm0vZWZsL1J1bkxvb3BFZmwuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UnVuTG9vcDo6UnVuTG9vcCk6CisgICAgICAgIChXZWJDb3JlOjpSdW5Mb29wOjp+UnVuTG9v
cCk6CisKIDIwMTMtMDItMDUgIEp1bGllbiBCcmlhbmNlYXUgIDxqYnJpYW5jZWF1QG5kcy5jb20+
CiAKICAgICAgICAgQnVpbGQgaXMgYnJva2VuIHNpbmNlIHIxNDE1NDMgZm9yIHBsYXRmb3JtcyB3
aXRob3V0IE9wZW5HTApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGM1NmJmNzUxZWMzNjg2YWM2Yjc0NGE2YTViY2Q3
ZmQ0ODg0MWVjZGEuLjY0MmQyNTkzZWZkNGZlZDA1ZWRkYzRjODdmOTIxMDQ0OTVkMTk2NDggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMy0wMi0wNSAgRXVubWkgTGVlICA8ZXVubWkx
NS5sZWVAc2Ftc3VuZy5jb20+IGFuZCBSYXBoYWVsIEt1Ym8gZGEgQ29zdGEgIDxyYXBoYWVsLmt1
Ym8uZGEuY29zdGFAaW50ZWwuY29tPgorCisgICAgICAgIFtFRkxdW1dLMl0gUmVmYWN0b3Jpbmcg
aW5pdGlhbGl6YXRpb24gYW5kIHNodXRkb3duIGNvZGVzIG9mIEVGTCBsaWJyYXJpZXMuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzE3MworCisgICAg
ICAgIFJldmlld2VkIGJ5IEd5dXlvdW5nIEtpbS4KKworICAgICAgICBJbml0aWFsaXplIGFuZCBz
aHV0ZG93biB0aGUgRUZMIGxpYnJhcmllcyBpbiB0aGUgZXdrX21haW4uY3BwIGZvcgorICAgICAg
ICBVSVByb2Nlc3MgYW5kIFdlYlByb2Nlc3NNYWluRWZsLmNwcCBmb3IgV2ViUHJvY2Vzcy4KKwor
ICAgICAgICBUaGlzIGFsbG93cyB1cyB0byBzaHV0IGRvd24gdGhlIGxpYnJhcmllcyBpbiBhIHBy
b3BlciB3YXksIHNpbmNlCisgICAgICAgIFJ1bkxvb3AgcGVyc2lzdCB1bnRpbCB0aGUgcHJvY2Vz
cyBleGl0cy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19tYWluLmNwcDoKKyAg
ICAgICAgKGV3a19pbml0KToKKyAgICAgICAgKGV3a19zaHV0ZG93bik6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9lZmwvV2ViUHJvY2Vzc01haW5FZmwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzTWFpbkVmbCk6CisKIDIwMTMtMDItMDQgIEd3YW5nIFlvb24gSHdhbmcgIDxyeXVtaWVs
QGNvbXBhbnkxMDAubmV0PgogCiAgICAgICAgIENvb3JkaW5hdGVkIEdyYXBoaWNzIDogZGlzY29u
bmVjdEN1c3RvbUZpbHRlclByb2dyYW0gZG9lcyBub3QgZG8gYW55dGhpbmcuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUnVuTG9vcEVmbC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9lZmwvUnVuTG9vcEVmbC5jcHAKaW5kZXggNTNlODA1YmNiODY2YmEyYzZl
OGU3Y2EzMzIxN2I3OTUwODEwOTM5OS4uMzMzZTI0ZWI0YTA5NTYwYjU2NmU1N2U1OTMyYjYyNTBl
Yjk5OThmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1J1bkxvb3BF
ZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9SdW5Mb29wRWZsLmNwcApA
QCAtMjgsOSArMjgsNiBAQAogI2luY2x1ZGUgIlJ1bkxvb3AuaCIKIAogI2luY2x1ZGUgPEVjb3Jl
Lmg+Ci0jaW5jbHVkZSA8RWNvcmVfRXZhcy5oPgotI2luY2x1ZGUgPEVjb3JlX0ZpbGUuaD4KLSNp
bmNsdWRlIDxFZGplLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAKQEAgLTQzLDQ3ICs0MCwxMiBAQCBSdW5Mb29wOjpSdW5Mb29wKCkKICAg
ICA6IG1faW5pdEVmbChmYWxzZSkKICAgICAsIG1fd2FrZVVwRXZlbnRSZXF1ZXN0ZWQoZmFsc2Up
CiB7Ci0gICAgaWYgKCFlY29yZV9pbml0KCkpIHsKLSAgICAgICAgTE9HX0VSUk9SKCJjb3VsZCBu
b3QgaW5pdCBlY29yZS4iKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmICghZWNv
cmVfZXZhc19pbml0KCkpIHsKLSAgICAgICAgTE9HX0VSUk9SKCJjb3VsZCBub3QgaW5pdCBlY29y
ZV9ldmFzLiIpOwotICAgICAgICBnb3RvIGVycm9yRWNvcmVFdmFzOwotICAgIH0KLQotICAgIGlm
ICghZWNvcmVfZmlsZV9pbml0KCkpIHsKLSAgICAgICAgTE9HX0VSUk9SKCJjb3VsZCBub3QgaW5p
dCBlY29yZV9maWxlLiIpOwotICAgICAgICBnb3RvIGVycm9yRWNvcmVGaWxlOwotICAgIH0KLQot
ICAgIGlmICghZWRqZV9pbml0KCkpIHsKLSAgICAgICAgTE9HX0VSUk9SKCJjb3VsZCBub3QgaW5p
dCBlZGplLiIpOwotICAgICAgICBnb3RvIGVycm9yRWRqZTsKLSAgICB9Ci0KICAgICBtX3BpcGUg
PSBhZG9wdFB0cihlY29yZV9waXBlX2FkZCh3YWtlVXBFdmVudCwgdGhpcykpOwogICAgIG1faW5p
dEVmbCA9IHRydWU7Ci0KLSAgICByZXR1cm47Ci0KLWVycm9yRWRqZToKLSAgICBlY29yZV9maWxl
X3NodXRkb3duKCk7Ci1lcnJvckVjb3JlRmlsZToKLSAgICBlY29yZV9ldmFzX3NodXRkb3duKCk7
Ci1lcnJvckVjb3JlRXZhczoKLSAgICBlY29yZV9zaHV0ZG93bigpOwogfQogCiBSdW5Mb29wOjp+
UnVuTG9vcCgpCiB7Ci0gICAgaWYgKG1faW5pdEVmbCkgewotICAgICAgICBlZGplX3NodXRkb3du
KCk7Ci0gICAgICAgIGVjb3JlX2ZpbGVfc2h1dGRvd24oKTsKLSAgICAgICAgZWNvcmVfZXZhc19z
aHV0ZG93bigpOwotICAgICAgICBlY29yZV9zaHV0ZG93bigpOwotICAgIH0KIH0KIAogdm9pZCBS
dW5Mb29wOjpydW4oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX21haW4uY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX21h
aW4uY3BwCmluZGV4IDJiMjE4OWRjNTc4NGZkOTkyZjhiZTZlMTE1M2M3YjI3N2NlZDk5NWYuLjc1
YTRhZjQzNWNiMjg0NGI4NmRlMzBlMDM4YTJlZjAzMGM1MDViMDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19tYWluLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfbWFpbi5jcHAKQEAgLTg1LDYgKzg1LDExIEBAIGlu
dCBld2tfaW5pdCh2b2lkKQogICAgIH0KICNlbmRpZgogCisgICAgaWYgKCFlZGplX2luaXQoKSkg
eworICAgICAgICBDUklUSUNBTCgiY291bGQgbm90IGluaXQgZWRqZS4iKTsKKyAgICAgICAgZ290
byBlcnJvcl9lZGplOworICAgIH0KKwogI2lmICFHTElCX0NIRUNLX1ZFUlNJT04oMiwgMzUsIDAp
CiAgICAgZ190eXBlX2luaXQoKTsKICNlbmRpZgpAQCAtOTYsOCArMTAxLDExIEBAIGludCBld2tf
aW5pdCh2b2lkKQogCiAgICAgcmV0dXJuICsrX2V3a0luaXRDb3VudDsKIAorZXJyb3JfZWRqZToK
ICNpZmRlZiBIQVZFX0VDT1JFX1gKKyAgICBlY29yZV94X3NodXRkb3duKCk7CiBlcnJvcl9lY29y
ZV94OgorI2Vsc2UKICAgICBlY29yZV9pbWZfc2h1dGRvd24oKTsKICNlbmRpZgogZXJyb3JfZWNv
cmVfaW1mOgpAQCAtMTIwLDYgKzEyOCw3IEBAIGludCBld2tfc2h1dGRvd24odm9pZCkKICAgICBp
ZiAoLS1fZXdrSW5pdENvdW50KQogICAgICAgICByZXR1cm4gX2V3a0luaXRDb3VudDsKIAorICAg
IGVkamVfc2h1dGRvd24oKTsKICNpZmRlZiBIQVZFX0VDT1JFX1gKICAgICBlY29yZV94X3NodXRk
b3duKCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvZWZs
L1dlYlByb2Nlc3NNYWluRWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvZWZsL1dl
YlByb2Nlc3NNYWluRWZsLmNwcAppbmRleCA1ZjQ4NjUwZGFlMjA2ZjU1ZTVmMTgzZWFmNjFlNDBh
MDkxOWIzZTllLi5iNTRmOWRiYTY4ZDEwZDQwYmE0ZTViZTM4YmUyZmE2YzExMTcxNDdlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2VmbC9XZWJQcm9jZXNzTWFpbkVmbC5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9lZmwvV2ViUHJvY2Vzc01haW5FZmwu
Y3BwCkBAIC0zMSw2ICszMSw4IEBACiAjaW5jbHVkZSAiUHJveHlSZXNvbHZlclNvdXAuaCIKICNp
bmNsdWRlICJXS0Jhc2UuaCIKICNpbmNsdWRlIDxFY29yZS5oPgorI2luY2x1ZGUgPEVjb3JlX0V2
YXMuaD4KKyNpbmNsdWRlIDxFZGplLmg+CiAjaW5jbHVkZSA8RWZyZWV0Lmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTmV0
d29ya2luZ0NvbnRleHQuaD4KQEAgLTg3LDYgKzg5LDI1IEBAIFdLX0VYUE9SVCBpbnQgV2ViUHJv
Y2Vzc01haW5FZmwoaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKICAgICB9CiAjZW5kaWYKIAorICAg
IGlmICghZWNvcmVfZXZhc19pbml0KCkpIHsKKyNpZmRlZiBIQVZFX0VDT1JFX1gKKyAgICAgICAg
ZWNvcmVfeF9zaHV0ZG93bigpOworI2VuZGlmCisgICAgICAgIGVjb3JlX3NodXRkb3duKCk7Cisg
ICAgICAgIGVpbmFfc2h1dGRvd24oKTsKKyAgICAgICAgcmV0dXJuIDE7CisgICAgfQorCisgICAg
aWYgKCFlZGplX2luaXQoKSkgeworICAgICAgICBlY29yZV9ldmFzX3NodXRkb3duKCk7CisjaWZk
ZWYgSEFWRV9FQ09SRV9YCisgICAgICAgIGVjb3JlX3hfc2h1dGRvd24oKTsKKyNlbmRpZgorICAg
ICAgICBlY29yZV9zaHV0ZG93bigpOworICAgICAgICBlaW5hX3NodXRkb3duKCk7CisgICAgICAg
IHJldHVybiAxOworICAgIH0KKwogI2lmICFHTElCX0NIRUNLX1ZFUlNJT04oMiwgMzUsIDApCiAg
ICAgZ190eXBlX2luaXQoKTsKICNlbmRpZgpAQCAtMTI3LDYgKzE0OCw4IEBAIFdLX0VYUE9SVCBp
bnQgV2ViUHJvY2Vzc01haW5FZmwoaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKICAgICBzb3VwX2Nh
Y2hlX2R1bXAoc291cENhY2hlKTsKICAgICBnX29iamVjdF91bnJlZihzb3VwQ2FjaGUpOwogCisg
ICAgZWRqZV9zaHV0ZG93bigpOworICAgIGVjb3JlX2V2YXNfc2h1dGRvd24oKTsKICAgICBlY29y
ZV94X3NodXRkb3duKCk7CiAgICAgZWNvcmVfc2h1dGRvd24oKTsKICAgICBlaW5hX3NodXRkb3du
KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186639</attachid>
            <date>2013-02-05 09:10:13 -0800</date>
            <delta_ts>2013-02-06 15:36:22 -0800</delta_ts>
            <desc>Up for review again...</desc>
            <filename>bug-97173-20130205190810.patch</filename>
            <type>text/plain</type>
            <size>5934</size>
            <attacher name="Raphael Kubo da Costa (:rakuco)">rakuco</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxODgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGQwNGQwMmIwYmQ3MzMy
ZmI0N2Q4NGMzZGNjN2RkMzcwMDAzNWFiOS4uOWVjMzU1MzQzYzk4MTI4ZWYxMDdkNDljMGQwNDVm
ZjFlNWRhNWM0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEzLTAyLTA1ICBFdW5t
aSBMZWUgIDxldW5taTE1LmxlZUBzYW1zdW5nLmNvbT4gYW5kIFJhcGhhZWwgS3VibyBkYSBDb3N0
YSAgPHJhcGhhZWwua3Viby5kYS5jb3N0YUBpbnRlbC5jb20+CisKKyAgICAgICAgW0VGTF1bV0sy
XSBSZWZhY3RvcmluZyBpbml0aWFsaXphdGlvbiBhbmQgc2h1dGRvd24gY29kZXMgb2YgRUZMIGxp
YnJhcmllcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTk3MTczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UmVtb3ZlIGNvZGVzIHRvIGluaXRpYWxpemUgYW5kIHNodXRkb3duIHRoZSBFRkwgbGlicmFyaWVz
IGZyb20KKyAgICAgICAgUnVuTG9vcEVmbC5jcHAuIEluaXRpYWxpemF0aW9uIGFuZCBzaHV0ZG93
biB3aWxsIGJlIGRvbmUgaW4gdGhlCisgICAgICAgIGV3a19tYWluLmNwcCBmb3IgdWkgcHJvY2Vz
cyBhbmQgV2ViUHJvY2Vzc01haW5FZmwuY3BwIGZvciB3ZWIKKyAgICAgICAgcHJvY2Vzcy4KKwor
ICAgICAgICBObyBuZXcgdGVzdHMuIFRoaXMgcGF0Y2ggZG9lc24ndCBjaGFuZ2UgYmVoYXZpb3Iu
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvUnVuTG9vcEVmbC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSdW5Mb29wOjpSdW5Mb29wKToKKyAgICAgICAgKFdlYkNvcmU6OlJ1bkxvb3A6On5SdW5M
b29wKToKKwogMjAxMy0wMi0wNSAgSnVsaWVuIEJyaWFuY2VhdSAgPGpicmlhbmNlYXVAbmRzLmNv
bT4KIAogICAgICAgICBCdWlsZCBpcyBicm9rZW4gc2luY2UgcjE0MTU0MyBmb3IgcGxhdGZvcm1z
IHdpdGhvdXQgT3BlbkdMCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZWM5MzMxMjAxY2U3MjJlOGQ4NDg4MjAyNDcx
Yzc2NmRmYzExOTE3OC4uOWNkNDg3ZTQ0OTRiMTRiNmMzNTM3Y2MwMmQ1NWMzNWVmZjlkNDQxMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTAyLTA1ICBFdW5taSBMZWUgIDxldW5t
aTE1LmxlZUBzYW1zdW5nLmNvbT4gYW5kIFJhcGhhZWwgS3VibyBkYSBDb3N0YSAgPHJhcGhhZWwu
a3Viby5kYS5jb3N0YUBpbnRlbC5jb20+CisKKyAgICAgICAgW0VGTF1bV0syXSBSZWZhY3Rvcmlu
ZyBpbml0aWFsaXphdGlvbiBhbmQgc2h1dGRvd24gY29kZXMgb2YgRUZMIGxpYnJhcmllcy4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3MTczCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5pdGlhbGl6ZSBh
bmQgc2h1dGRvd24gdGhlIEVGTCBsaWJyYXJpZXMgaW4gdGhlIGV3a19tYWluLmNwcCBmb3IKKyAg
ICAgICAgVUlQcm9jZXNzIGFuZCBXZWJQcm9jZXNzTWFpbkVmbC5jcHAgZm9yIFdlYlByb2Nlc3Mu
CisKKyAgICAgICAgVGhpcyBhbGxvd3MgdXMgdG8gc2h1dCBkb3duIHRoZSBsaWJyYXJpZXMgaW4g
YSBwcm9wZXIgd2F5LCBzaW5jZQorICAgICAgICBSdW5Mb29wIHBlcnNpc3QgdW50aWwgdGhlIHBy
b2Nlc3MgZXhpdHMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfbWFpbi5jcHA6
CisgICAgICAgIChld2tfaW5pdCk6CisgICAgICAgIChld2tfc2h1dGRvd24pOgorICAgICAgICAq
IFdlYlByb2Nlc3MvZWZsL1dlYlByb2Nlc3NNYWluRWZsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJvY2Vzc01haW5FZmwpOgorCiAyMDEzLTAyLTA1ICBTaW1vbiBIYXVzbWFubiAgPHNpbW9u
LmhhdXNtYW5uQGRpZ2lhLmNvbT4KIAogICAgICAgICBbUXRdW1dLMl0gUmVwbGFjZSBtb3JlIHVz
ZXMgb2YgV2ViUGFnZVByb3h5IHdpdGggV0tQYWdlIGluIFFRdWlja1dlYlZpZXcKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9SdW5Mb29wRWZsLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2VmbC9SdW5Mb29wRWZsLmNwcAppbmRleCA1M2U4MDViY2I4NjZiYTJj
NmU4ZTdjYTMzMjE3Yjc5NTA4MTA5Mzk5Li4zMzNlMjRlYjRhMDk1NjBiNTY2ZTU3ZTU5MzJiNjI1
MGViOTk5OGYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUnVuTG9v
cEVmbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1J1bkxvb3BFZmwuY3Bw
CkBAIC0yOCw5ICsyOCw2IEBACiAjaW5jbHVkZSAiUnVuTG9vcC5oIgogCiAjaW5jbHVkZSA8RWNv
cmUuaD4KLSNpbmNsdWRlIDxFY29yZV9FdmFzLmg+Ci0jaW5jbHVkZSA8RWNvcmVfRmlsZS5oPgot
I2luY2x1ZGUgPEVkamUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1Bhc3NPd25QdHIuaD4KIApAQCAtNDMsNDcgKzQwLDEyIEBAIFJ1bkxvb3A6OlJ1bkxvb3AoKQog
ICAgIDogbV9pbml0RWZsKGZhbHNlKQogICAgICwgbV93YWtlVXBFdmVudFJlcXVlc3RlZChmYWxz
ZSkKIHsKLSAgICBpZiAoIWVjb3JlX2luaXQoKSkgewotICAgICAgICBMT0dfRVJST1IoImNvdWxk
IG5vdCBpbml0IGVjb3JlLiIpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKCFl
Y29yZV9ldmFzX2luaXQoKSkgewotICAgICAgICBMT0dfRVJST1IoImNvdWxkIG5vdCBpbml0IGVj
b3JlX2V2YXMuIik7Ci0gICAgICAgIGdvdG8gZXJyb3JFY29yZUV2YXM7Ci0gICAgfQotCi0gICAg
aWYgKCFlY29yZV9maWxlX2luaXQoKSkgewotICAgICAgICBMT0dfRVJST1IoImNvdWxkIG5vdCBp
bml0IGVjb3JlX2ZpbGUuIik7Ci0gICAgICAgIGdvdG8gZXJyb3JFY29yZUZpbGU7Ci0gICAgfQot
Ci0gICAgaWYgKCFlZGplX2luaXQoKSkgewotICAgICAgICBMT0dfRVJST1IoImNvdWxkIG5vdCBp
bml0IGVkamUuIik7Ci0gICAgICAgIGdvdG8gZXJyb3JFZGplOwotICAgIH0KLQogICAgIG1fcGlw
ZSA9IGFkb3B0UHRyKGVjb3JlX3BpcGVfYWRkKHdha2VVcEV2ZW50LCB0aGlzKSk7CiAgICAgbV9p
bml0RWZsID0gdHJ1ZTsKLQotICAgIHJldHVybjsKLQotZXJyb3JFZGplOgotICAgIGVjb3JlX2Zp
bGVfc2h1dGRvd24oKTsKLWVycm9yRWNvcmVGaWxlOgotICAgIGVjb3JlX2V2YXNfc2h1dGRvd24o
KTsKLWVycm9yRWNvcmVFdmFzOgotICAgIGVjb3JlX3NodXRkb3duKCk7CiB9CiAKIFJ1bkxvb3A6
On5SdW5Mb29wKCkKIHsKLSAgICBpZiAobV9pbml0RWZsKSB7Ci0gICAgICAgIGVkamVfc2h1dGRv
d24oKTsKLSAgICAgICAgZWNvcmVfZmlsZV9zaHV0ZG93bigpOwotICAgICAgICBlY29yZV9ldmFz
X3NodXRkb3duKCk7Ci0gICAgICAgIGVjb3JlX3NodXRkb3duKCk7Ci0gICAgfQogfQogCiB2b2lk
IFJ1bkxvb3A6OnJ1bigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfbWFpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tf
bWFpbi5jcHAKaW5kZXggMmIyMTg5ZGM1Nzg0ZmQ5OTJmOGJlNmUxMTUzYzdiMjc3Y2VkOTk1Zi4u
NzVhNGFmNDM1Y2IyODQ0Yjg2ZGUzMGUwMzhhMmVmMDMwYzUwNWIwMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX21haW4uY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19tYWluLmNwcApAQCAtODUsNiArODUsMTEgQEAg
aW50IGV3a19pbml0KHZvaWQpCiAgICAgfQogI2VuZGlmCiAKKyAgICBpZiAoIWVkamVfaW5pdCgp
KSB7CisgICAgICAgIENSSVRJQ0FMKCJjb3VsZCBub3QgaW5pdCBlZGplLiIpOworICAgICAgICBn
b3RvIGVycm9yX2VkamU7CisgICAgfQorCiAjaWYgIUdMSUJfQ0hFQ0tfVkVSU0lPTigyLCAzNSwg
MCkKICAgICBnX3R5cGVfaW5pdCgpOwogI2VuZGlmCkBAIC05Niw4ICsxMDEsMTEgQEAgaW50IGV3
a19pbml0KHZvaWQpCiAKICAgICByZXR1cm4gKytfZXdrSW5pdENvdW50OwogCitlcnJvcl9lZGpl
OgogI2lmZGVmIEhBVkVfRUNPUkVfWAorICAgIGVjb3JlX3hfc2h1dGRvd24oKTsKIGVycm9yX2Vj
b3JlX3g6CisjZWxzZQogICAgIGVjb3JlX2ltZl9zaHV0ZG93bigpOwogI2VuZGlmCiBlcnJvcl9l
Y29yZV9pbWY6CkBAIC0xMjAsNiArMTI4LDcgQEAgaW50IGV3a19zaHV0ZG93bih2b2lkKQogICAg
IGlmICgtLV9ld2tJbml0Q291bnQpCiAgICAgICAgIHJldHVybiBfZXdrSW5pdENvdW50OwogCisg
ICAgZWRqZV9zaHV0ZG93bigpOwogI2lmZGVmIEhBVkVfRUNPUkVfWAogICAgIGVjb3JlX3hfc2h1
dGRvd24oKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9l
ZmwvV2ViUHJvY2Vzc01haW5FZmwuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9lZmwv
V2ViUHJvY2Vzc01haW5FZmwuY3BwCmluZGV4IDVmNDg2NTBkYWUyMDZmNTVlNWYxODNlYWY2MWU0
MGEwOTE5YjNlOWUuLmI1NGY5ZGJhNjhkMTBkNDBiYTRlNWJlMzhiZTJmYTZjMTExNzE0N2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvZWZsL1dlYlByb2Nlc3NNYWluRWZs
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2VmbC9XZWJQcm9jZXNzTWFpbkVm
bC5jcHAKQEAgLTMxLDYgKzMxLDggQEAKICNpbmNsdWRlICJQcm94eVJlc29sdmVyU291cC5oIgog
I2luY2x1ZGUgIldLQmFzZS5oIgogI2luY2x1ZGUgPEVjb3JlLmg+CisjaW5jbHVkZSA8RWNvcmVf
RXZhcy5oPgorI2luY2x1ZGUgPEVkamUuaD4KICNpbmNsdWRlIDxFZnJlZXQuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9O
ZXR3b3JraW5nQ29udGV4dC5oPgpAQCAtODcsNiArODksMjUgQEAgV0tfRVhQT1JUIGludCBXZWJQ
cm9jZXNzTWFpbkVmbChpbnQgYXJnYywgY2hhciogYXJndltdKQogICAgIH0KICNlbmRpZgogCisg
ICAgaWYgKCFlY29yZV9ldmFzX2luaXQoKSkgeworI2lmZGVmIEhBVkVfRUNPUkVfWAorICAgICAg
ICBlY29yZV94X3NodXRkb3duKCk7CisjZW5kaWYKKyAgICAgICAgZWNvcmVfc2h1dGRvd24oKTsK
KyAgICAgICAgZWluYV9zaHV0ZG93bigpOworICAgICAgICByZXR1cm4gMTsKKyAgICB9CisKKyAg
ICBpZiAoIWVkamVfaW5pdCgpKSB7CisgICAgICAgIGVjb3JlX2V2YXNfc2h1dGRvd24oKTsKKyNp
ZmRlZiBIQVZFX0VDT1JFX1gKKyAgICAgICAgZWNvcmVfeF9zaHV0ZG93bigpOworI2VuZGlmCisg
ICAgICAgIGVjb3JlX3NodXRkb3duKCk7CisgICAgICAgIGVpbmFfc2h1dGRvd24oKTsKKyAgICAg
ICAgcmV0dXJuIDE7CisgICAgfQorCiAjaWYgIUdMSUJfQ0hFQ0tfVkVSU0lPTigyLCAzNSwgMCkK
ICAgICBnX3R5cGVfaW5pdCgpOwogI2VuZGlmCkBAIC0xMjcsNiArMTQ4LDggQEAgV0tfRVhQT1JU
IGludCBXZWJQcm9jZXNzTWFpbkVmbChpbnQgYXJnYywgY2hhciogYXJndltdKQogICAgIHNvdXBf
Y2FjaGVfZHVtcChzb3VwQ2FjaGUpOwogICAgIGdfb2JqZWN0X3VucmVmKHNvdXBDYWNoZSk7CiAK
KyAgICBlZGplX3NodXRkb3duKCk7CisgICAgZWNvcmVfZXZhc19zaHV0ZG93bigpOwogICAgIGVj
b3JlX3hfc2h1dGRvd24oKTsKICAgICBlY29yZV9zaHV0ZG93bigpOwogICAgIGVpbmFfc2h1dGRv
d24oKTsK
</data>
<flag name="review"
          id="206162"
          type_id="1"
          status="+"
          setter="kenneth"
    />
          </attachment>
      

    </bug>

</bugzilla>