<?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>117008</bug_id>
          
          <creation_ts>2013-05-29 16:08:51 -0700</creation_ts>
          <short_desc>[GTK] add support for subtitles on webkitGTK</short_desc>
          <delta_ts>2013-09-04 10:38:08 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</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>119978</dependson>
    
    <dependson>120629</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Danilo de Paula">danilo.eu</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eflews.bot</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mrobinson</cc>
    
    <cc>rakuco</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>895249</commentid>
    <comment_count>0</comment_count>
    <who name="Danilo de Paula">danilo.eu</who>
    <bug_when>2013-05-29 16:08:51 -0700</bug_when>
    <thetext>There&apos;s no way to enable subtitles support on webkit2gtk.

Subtitle support is a feature already supported by webcore that can be enabled by WebPreferences-&gt;shouldDisplaySubtitles();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>895250</commentid>
    <comment_count>1</comment_count>
      <attachid>203283</attachid>
    <who name="Danilo de Paula">danilo.eu</who>
    <bug_when>2013-05-29 16:10:05 -0700</bug_when>
    <thetext>Created attachment 203283
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>895252</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-29 16:11:45 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>895255</commentid>
    <comment_count>3</comment_count>
      <attachid>203285</attachid>
    <who name="Danilo de Paula">danilo.eu</who>
    <bug_when>2013-05-29 16:13:53 -0700</bug_when>
    <thetext>Created attachment 203285
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>895260</commentid>
    <comment_count>4</comment_count>
      <attachid>203286</attachid>
    <who name="Danilo de Paula">danilo.eu</who>
    <bug_when>2013-05-29 16:20:08 -0700</bug_when>
    <thetext>Created attachment 203286
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>895262</commentid>
    <comment_count>5</comment_count>
      <attachid>203286</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2013-05-29 16:22:50 -0700</bug_when>
    <thetext>Comment on attachment 203286
Patch

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

In principle I&apos;m OK with this setting, I can think of browsers letting users disable subtitles even if the site wants to show them, in particular in cases in which the built-in controls (which should have a cc button that would enable/disable subtitles AFAIK) are not used, but we have been taking an approach of only adding stuff that API users are actually using, do you have a use case for this setting already?

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp:1134
&gt; +

Missing *

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp:1136
&gt; +     * Since: 2.3

Should be 2.2

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp:1143
&gt; +            FALSE,

Any particular reason why we should not turn it on by default? I think working by default would be better.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp:2842
&gt; +    bool currentValue = priv-&gt;preferences-&gt;shouldDisplaySubtitles();
&gt; +    if (currentValue == enabled)

No reason to create a variable just for this check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>917107</commentid>
    <comment_count>6</comment_count>
    <who name="Danilo de Paula">danilo.eu</who>
    <bug_when>2013-08-14 06:59:03 -0700</bug_when>
    <thetext>The goal of this patch changed to &quot;Adding support to &lt;video&gt;&lt;track&gt; subtitles on webkit2gtk&quot; since it&apos;s not only about enable/disable the methods.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>917109</commentid>
    <comment_count>7</comment_count>
      <attachid>208724</attachid>
    <who name="Danilo de Paula">danilo.eu</who>
    <bug_when>2013-08-14 07:05:02 -0700</bug_when>
    <thetext>Created attachment 208724
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>917111</commentid>
    <comment_count>8</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-08-14 07:32:01 -0700</bug_when>
    <thetext>Is it really useful to have subtitles disabled?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>918080</commentid>
    <comment_count>9</comment_count>
      <attachid>208946</attachid>
    <who name="Danilo de Paula">danilo.eu</who>
    <bug_when>2013-08-16 12:48:45 -0700</bug_when>
    <thetext>Created attachment 208946
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>918106</commentid>
    <comment_count>10</comment_count>
      <attachid>208946</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-08-16 13:59:07 -0700</bug_when>
    <thetext>Comment on attachment 208946
Patch

Attachment 208946 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/1471594</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>918194</commentid>
    <comment_count>11</comment_count>
      <attachid>208946</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-08-16 21:00:07 -0700</bug_when>
    <thetext>Comment on attachment 208946
Patch

Attachment 208946 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/1430428</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>918420</commentid>
    <comment_count>12</comment_count>
    <who name="Danilo de Paula">danilo.eu</who>
    <bug_when>2013-08-18 05:49:44 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 208946 [details])
&gt; Attachment 208946 [details] did not pass efl-ews (efl):
&gt; Output: http://webkit-queues.appspot.com/results/1430428(In reply to comment #11)
&gt; (From update of attachment 208946 [details])
&gt; Attachment 208946 [details] did not pass efl-ews (efl):
&gt; Output: http://webkit-queues.appspot.com/results/1430428


This build issue should be fixed by https://bugs.webkit.org/show_bug.cgi?id=119978</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>918422</commentid>
    <comment_count>13</comment_count>
    <who name="Danilo de Paula">danilo.eu</who>
    <bug_when>2013-08-18 05:52:23 -0700</bug_when>
    <thetext>*** Bug 117649 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>918427</commentid>
    <comment_count>14</comment_count>
      <attachid>209030</attachid>
    <who name="Danilo de Paula">danilo.eu</who>
    <bug_when>2013-08-18 07:04:56 -0700</bug_when>
    <thetext>Created attachment 209030
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>918428</commentid>
    <comment_count>15</comment_count>
      <attachid>209030</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-08-18 07:10:04 -0700</bug_when>
    <thetext>Comment on attachment 209030
Patch

Attachment 209030 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/1511093</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>918429</commentid>
    <comment_count>16</comment_count>
      <attachid>209030</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-08-18 07:13:02 -0700</bug_when>
    <thetext>Comment on attachment 209030
Patch

Attachment 209030 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/1478479</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>918435</commentid>
    <comment_count>17</comment_count>
      <attachid>209030</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-08-18 07:14:38 -0700</bug_when>
    <thetext>Comment on attachment 209030
Patch

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

&gt; Source/WebCore/css/mediaControlsGtk.css:227
&gt; +    background-image: url(&apos;data:image/svg+xml,&lt;svg id=&quot;svg7384&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; height=&quot;16&quot; width=&quot;16&quot; version=&quot;1.1&quot; xmlns:cc=&quot;http://creativecommons.org/ns#&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot;&gt;&lt;metadata id=&quot;metadata90&quot;&gt;&lt;rdf:RDF&gt;&lt;cc:Work rdf:about=&quot;&quot;&gt;&lt;dc:format&gt;image/svg+xml&lt;/dc:format&gt;&lt;dc:type rdf:resource=&quot;http://purl.org/dc/dcmitype/StillImage&quot;/&gt;&lt;dc:title&gt;Gnome Symbolic Icon Theme&lt;/dc:title&gt;&lt;/cc:Work&gt;&lt;/rdf:RDF&gt;&lt;/metadata&gt;&lt;g id=&quot;layer9&quot; transform=&quot;translate(-101,-357)&quot;&gt;&lt;path id=&quot;path12148&quot; style=&quot;block-progression:tb;color:#bebebe;direction:ltr;text-indent:0;text-align:start;enable-background:accumulate;text-transform:none;&quot; fill=&quot;#bebebe&quot; d=&quot;m104.75,357.06c-2.0602,0-3.75,1.6898-3.75,3.75v4.4375c0,2.0602,1.6898,3.75,3.75,3.75h4.9375l3.75,2.6562,1.5938,1.125v-1.9688l-0.0313-2.5c1.1106-0.59715,1.9688-1.6526,1.9688-3.0625v-4.4375c0-2.0602-1.6898-3.75-3.75-3.75h-8.4688zm0,2,8.4688,0c0.9868,0,1.75,0.7632,1.75,1.75v4.4375c0,0.86273-0.63508,1.541-1.125,1.625l-0.84,0.12v0.84375,1.0312l-2.4062-1.6875-0.25-0.1875h-0.3125-5.2812c-0.9868,0-1.75-0.7632-1.75-1.75v-4.4375c0-0.9868,0.7632-1.75,1.75-1.75z&quot;/&gt;&lt;/g&gt;&lt;/svg&gt;&apos;);

Are other ports putting the icon in the CSS itself?

&gt; Source/WebCore/css/mediaControlsGtk.css:232
&gt; +    position: absolute;

Absolute positioning?

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp:1155
&gt; +    WebKitSettings* settings = WEBKIT_SETTINGS(g_object_new(WEBKIT_TYPE_SETTINGS, NULL));
&gt; +    settings-&gt;priv-&gt;preferences-&gt;setShouldDisplaySubtitles(TRUE);
&gt; +    return settings;

It probably makes sense to do this in webKitSettingsConstructed instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>918438</commentid>
    <comment_count>18</comment_count>
    <who name="Danilo de Paula">danilo.eu</who>
    <bug_when>2013-08-18 07:25:26 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 209030 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=209030&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/css/mediaControlsGtk.css:227
&gt; &gt; +    background-image: url(&apos;data:image/svg+xml,&lt;svg id=&quot;svg7384&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; height=&quot;16&quot; width=&quot;16&quot; version=&quot;1.1&quot; xmlns:cc=&quot;http://creativecommons.org/ns#&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot;&gt;&lt;metadata id=&quot;metadata90&quot;&gt;&lt;rdf:RDF&gt;&lt;cc:Work rdf:about=&quot;&quot;&gt;&lt;dc:format&gt;image/svg+xml&lt;/dc:format&gt;&lt;dc:type rdf:resource=&quot;http://purl.org/dc/dcmitype/StillImage&quot;/&gt;&lt;dc:title&gt;Gnome Symbolic Icon Theme&lt;/dc:title&gt;&lt;/cc:Work&gt;&lt;/rdf:RDF&gt;&lt;/metadata&gt;&lt;g id=&quot;layer9&quot; transform=&quot;translate(-101,-357)&quot;&gt;&lt;path id=&quot;path12148&quot; style=&quot;block-progression:tb;color:#bebebe;direction:ltr;text-indent:0;text-align:start;enable-background:accumulate;text-transform:none;&quot; fill=&quot;#bebebe&quot; d=&quot;m104.75,357.06c-2.0602,0-3.75,1.6898-3.75,3.75v4.4375c0,2.0602,1.6898,3.75,3.75,3.75h4.9375l3.75,2.6562,1.5938,1.125v-1.9688l-0.0313-2.5c1.1106-0.59715,1.9688-1.6526,1.9688-3.0625v-4.4375c0-2.0602-1.6898-3.75-3.75-3.75h-8.4688zm0,2,8.4688,0c0.9868,0,1.75,0.7632,1.75,1.75v4.4375c0,0.86273-0.63508,1.541-1.125,1.625l-0.84,0.12v0.84375,1.0312l-2.4062-1.6875-0.25-0.1875h-0.3125-5.2812c-0.9868,0-1.75-0.7632-1.75-1.75v-4.4375c0-0.9868,0.7632-1.75,1.75-1.75z&quot;/&gt;&lt;/g&gt;&lt;/svg&gt;&apos;);
&gt; 
&gt; Are other ports putting the icon in the CSS itself?

As far as I know only apple is doing that.
I would love to use a Gtk themed image, but there&apos;s no gtk images related to subtitling. The SVG I&apos;m using is a stripped version of a chat image inside Gtk code.

&gt; 
&gt; &gt; Source/WebCore/css/mediaControlsGtk.css:232
&gt; &gt; +    position: absolute;
&gt; 
&gt; Absolute positioning?
Well, yes. We&apos;re using the same approach for the volume slider.

&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp:1155
&gt; &gt; +    WebKitSettings* settings = WEBKIT_SETTINGS(g_object_new(WEBKIT_TYPE_SETTINGS, NULL));
&gt; &gt; +    settings-&gt;priv-&gt;preferences-&gt;setShouldDisplaySubtitles(TRUE);
&gt; &gt; +    return settings;
&gt; 
&gt; It probably makes sense to do this in webKitSettingsConstructed instead.

I will push a new patch fixing that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>918439</commentid>
    <comment_count>19</comment_count>
      <attachid>209033</attachid>
    <who name="Danilo de Paula">danilo.eu</who>
    <bug_when>2013-08-18 07:29:37 -0700</bug_when>
    <thetext>Created attachment 209033
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>918440</commentid>
    <comment_count>20</comment_count>
      <attachid>209033</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-08-18 07:59:31 -0700</bug_when>
    <thetext>Comment on attachment 209033
Patch

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

Looks good, but please consider fixing a few nits before landing...

&gt; Source/WebCore/html/shadow/MediaControlsGtk.cpp:270
&gt; +    if (m_closedCaptionsContainer) {

Maybe an early return here instead?

&gt; Source/WebCore/html/shadow/MediaControlsGtk.cpp:272
&gt; +        if (m_closedCaptionsContainer-&gt;isShowing())
&gt; +            hideClosedCaptionTrackList();

Ditto.

&gt; Source/WebCore/html/shadow/MediaControlsGtk.cpp:291
&gt; +    m_closedCaptionsContainer-&gt;show();
&gt; +
&gt; +    m_panel-&gt;setInlineStyleProperty(CSSPropertyPointerEvents, CSSValueNone);

You can probably remove this empty line.

&gt; Source/WebCore/html/shadow/MediaControlsGtk.cpp:301
&gt; +    m_closedCaptionsContainer-&gt;hide();
&gt; +
&gt; +    m_panel-&gt;removeInlineStyleProperty(CSSPropertyPointerEvents);

Ditto.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp:147
&gt; +    prefs-&gt;setShouldDisplaySubtitles(TRUE);
&gt;      ExperimentalFeatures features;

On the other hand, this probably deserves an empty newline. :)

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp:1136
&gt;              readWriteConstructParamFlags));
&gt; -
&gt;  }

I think this change is left over.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>918622</commentid>
    <comment_count>21</comment_count>
      <attachid>209082</attachid>
    <who name="Danilo de Paula">danilo.eu</who>
    <bug_when>2013-08-19 06:40:35 -0700</bug_when>
    <thetext>Created attachment 209082
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>918624</commentid>
    <comment_count>22</comment_count>
      <attachid>209082</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-08-19 06:49:14 -0700</bug_when>
    <thetext>Comment on attachment 209082
Patch

Do we also need to update pixel results for tests that use the media player?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919398</commentid>
    <comment_count>23</comment_count>
    <who name="Danilo de Paula">danilo.eu</who>
    <bug_when>2013-08-21 06:32:50 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; (From update of attachment 209082 [details])
&gt; Do we also need to update pixel results for tests that use the media player?

As far as I could see, the pixel tests do not include the captions/subtitles button. So the player shouldn&apos;t change.

However, might be a good idea to activate the tests on media/video-controls-captions-trackmenu.html instead of media/video-controls-captions.html

I can change that when I start with the missing bits so the new tests can pass.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919399</commentid>
    <comment_count>24</comment_count>
      <attachid>209082</attachid>
    <who name="Danilo de Paula">danilo.eu</who>
    <bug_when>2013-08-21 06:33:20 -0700</bug_when>
    <thetext>Comment on attachment 209082
Patch

asking for r+ and cq+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919409</commentid>
    <comment_count>25</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-08-21 07:42:14 -0700</bug_when>
    <thetext>(In reply to comment #23)

&gt; I can change that when I start with the missing bits so the new tests can pass.

What&apos;s still missing in the implementation?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919475</commentid>
    <comment_count>26</comment_count>
    <who name="Danilo de Paula">danilo.eu</who>
    <bug_when>2013-08-21 09:36:35 -0700</bug_when>
    <thetext>(In reply to comment #25)
&gt; (In reply to comment #23)
&gt; 
&gt; &gt; I can change that when I start with the missing bits so the new tests can pass.
&gt; 
&gt; What&apos;s still missing in the implementation?

Right now if you click on the CC button you need to select an option so the menu can close. Apple solved this by capturing all events on the whole document and closing the dialog when the user clicks anywhere.

Implementing this EventHandler is already on my task list for the next week. But since the subtitling support was totally disable on webkit2gtk, I imagined that it was ok to split that and push it separately.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>920350</commentid>
    <comment_count>27</comment_count>
      <attachid>209487</attachid>
    <who name="Danilo de Paula">danilo.eu</who>
    <bug_when>2013-08-23 12:07:17 -0700</bug_when>
    <thetext>Created attachment 209487
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>920362</commentid>
    <comment_count>28</comment_count>
      <attachid>209487</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-08-23 12:26:35 -0700</bug_when>
    <thetext>Comment on attachment 209487
Patch

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

&gt; Source/WebCore/html/shadow/MediaControlsGtk.cpp:46
&gt; +        return listener-&gt;type() == GObjectEventListenerType
&gt; +            ? static_cast&lt;const MediaControlsGtkEventListener*&gt;(listener)
&gt; +            : 0;

This should really be one line.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp:146
&gt; +    prefs-&gt;setShouldDisplaySubtitles(TRUE);

TRUE -&gt; true

&gt; LayoutTests/platform/gtk/TestExpectations:793
&gt; +webkit.org/b/101670 media/video-controls-captions-trackmenu.html [ Failure Pass ]
&gt; +webkit.org/b/101670 media/video-controls-captions-trackmenu-sorted.html [ Pass ]
&gt; +webkit.org/b/101670 media/video-controls-captions-trackmenu-localized.html [ Pass ]
&gt; +webkit.org/b/101670 media/video-controls-captions-trackmenu-hide-on-click.html [ Pass ]
&gt; +webkit.org/b/101670 media/video-controls-captions-trackmenu-hide-on-click-outside.html [ Pass ]

I believe that marking them as passing here is like marking them flaky. Are these flaky?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>920375</commentid>
    <comment_count>29</comment_count>
      <attachid>209494</attachid>
    <who name="Danilo de Paula">danilo.eu</who>
    <bug_when>2013-08-23 12:47:44 -0700</bug_when>
    <thetext>Created attachment 209494
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>920999</commentid>
    <comment_count>30</comment_count>
      <attachid>209644</attachid>
    <who name="Danilo de Paula">danilo.eu</who>
    <bug_when>2013-08-26 06:37:10 -0700</bug_when>
    <thetext>Created attachment 209644
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>921000</commentid>
    <comment_count>31</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-26 06:40:06 -0700</bug_when>
    <thetext>Attachment 209644 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/platform/gtk/TestExpectations&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/css/mediaControlsGtk.css&apos;, u&apos;Source/WebCore/html/shadow/MediaControlElements.cpp&apos;, u&apos;Source/WebCore/html/shadow/MediaControlElements.h&apos;, u&apos;Source/WebCore/html/shadow/MediaControlsGtk.cpp&apos;, u&apos;Source/WebCore/html/shadow/MediaControlsGtk.h&apos;, u&apos;Source/WebCore/page/CaptionUserPreferences.cpp&apos;, u&apos;Source/WebCore/platform/gtk/LocalizedStringsGtk.cpp&apos;, u&apos;Source/WebCore/platform/gtk/RenderThemeGtk.h&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp&apos;]&quot; exit_code: 1
LayoutTests/platform/gtk/TestExpectations:1212:  expecting &quot;[&quot;, &quot;#&quot;, or end of line instead of &quot;[Failure&quot;  [test/expectations] [5]
Total errors found: 1 in 13 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>921003</commentid>
    <comment_count>32</comment_count>
      <attachid>209647</attachid>
    <who name="Danilo de Paula">danilo.eu</who>
    <bug_when>2013-08-26 06:45:12 -0700</bug_when>
    <thetext>Created attachment 209647
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>922097</commentid>
    <comment_count>33</comment_count>
      <attachid>209902</attachid>
    <who name="Danilo de Paula">danilo.eu</who>
    <bug_when>2013-08-28 10:51:26 -0700</bug_when>
    <thetext>Created attachment 209902
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>922101</commentid>
    <comment_count>34</comment_count>
      <attachid>209902</attachid>
    <who name="Danilo de Paula">danilo.eu</who>
    <bug_when>2013-08-28 10:53:52 -0700</bug_when>
    <thetext>Comment on attachment 209902
Patch

the latest patch fix a small problem with the event handler blocking clicks on on the menu.

Since the feature wasn&apos;t accepted upstream yet, I sending it inside this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>922595</commentid>
    <comment_count>35</comment_count>
      <attachid>209902</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2013-08-29 12:11:15 -0700</bug_when>
    <thetext>Comment on attachment 209902
Patch

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

&gt; Source/WebCore/platform/gtk/LocalizedStringsGtk.cpp:793
&gt; -    return String::fromUTF8(C_(&quot;Subtitles&quot;, &quot;Menu section heading for subtitles&quot;));
&gt; +    return String::fromUTF8(_(&quot;Subtitles&quot;));

I think you should keep the context string, just put it in the proper place (first argument).

&gt; Source/WebCore/platform/gtk/LocalizedStringsGtk.cpp:798
&gt; -    return String::fromUTF8(C_(&quot;Off&quot;, &quot;Menu item label for the track that represents disabling closed captions&quot;));
&gt; +    return String::fromUTF8(_(&quot;Off&quot;));

ditto.

&gt; Source/WebCore/platform/gtk/LocalizedStringsGtk.cpp:803
&gt; -    return String::fromUTF8(C_(&quot;No label&quot;, &quot;Menu item label for a closed captions track that has no other name&quot;));
&gt; +    return String::fromUTF8(_(&quot;No label&quot;));

ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923176</commentid>
    <comment_count>36</comment_count>
      <attachid>210159</attachid>
    <who name="Danilo de Paula">danilo.eu</who>
    <bug_when>2013-08-30 14:11:32 -0700</bug_when>
    <thetext>Created attachment 210159
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923179</commentid>
    <comment_count>37</comment_count>
    <who name="Danilo de Paula">danilo.eu</who>
    <bug_when>2013-08-30 14:17:22 -0700</bug_when>
    <thetext>(In reply to comment #35)
&gt; (From update of attachment 209902 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=209902&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/gtk/LocalizedStringsGtk.cpp:793
&gt; &gt; -    return String::fromUTF8(C_(&quot;Subtitles&quot;, &quot;Menu section heading for subtitles&quot;));
&gt; &gt; +    return String::fromUTF8(_(&quot;Subtitles&quot;));
&gt; 
&gt; I think you should keep the context string, just put it in the proper place (first argument).
&gt; 
&gt; &gt; Source/WebCore/platform/gtk/LocalizedStringsGtk.cpp:798
&gt; &gt; -    return String::fromUTF8(C_(&quot;Off&quot;, &quot;Menu item label for the track that represents disabling closed captions&quot;));
&gt; &gt; +    return String::fromUTF8(_(&quot;Off&quot;));
&gt; 
&gt; ditto.
&gt; 
&gt; &gt; Source/WebCore/platform/gtk/LocalizedStringsGtk.cpp:803
&gt; &gt; -    return String::fromUTF8(C_(&quot;No label&quot;, &quot;Menu item label for a closed captions track that has no other name&quot;));
&gt; &gt; +    return String::fromUTF8(_(&quot;No label&quot;));
&gt; 
&gt; ditto.


Thanks for the comments kov...
Fixed all those things...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923180</commentid>
    <comment_count>38</comment_count>
      <attachid>210159</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2013-08-30 14:21:23 -0700</bug_when>
    <thetext>Comment on attachment 210159
Patch

Attachment 210159 did not pass gtk-wk2-ews (gtk-wk2):
Output: http://webkit-queues.appspot.com/results/1627908</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923184</commentid>
    <comment_count>39</comment_count>
      <attachid>210159</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2013-08-30 14:42:51 -0700</bug_when>
    <thetext>Comment on attachment 210159
Patch

Attachment 210159 did not pass gtk-ews (gtk):
Output: http://webkit-queues.appspot.com/results/1624962</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923687</commentid>
    <comment_count>40</comment_count>
      <attachid>210281</attachid>
    <who name="Danilo de Paula">danilo.eu</who>
    <bug_when>2013-09-02 06:48:25 -0700</bug_when>
    <thetext>Created attachment 210281
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923694</commentid>
    <comment_count>41</comment_count>
    <who name="Danilo de Paula">danilo.eu</who>
    <bug_when>2013-09-02 07:16:59 -0700</bug_when>
    <thetext>(In reply to comment #40)
&gt; Created an attachment (id=210281) [details]
&gt; Patch

Changing document()-&gt; to document().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923934</commentid>
    <comment_count>42</comment_count>
      <attachid>210348</attachid>
    <who name="Danilo de Paula">danilo.eu</who>
    <bug_when>2013-09-03 03:37:45 -0700</bug_when>
    <thetext>Created attachment 210348
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923935</commentid>
    <comment_count>43</comment_count>
    <who name="Danilo de Paula">danilo.eu</who>
    <bug_when>2013-09-03 03:40:32 -0700</bug_when>
    <thetext>(In reply to comment #42)
&gt; Created an attachment (id=210348) [details]
&gt; Patch

Removed the shouldDisplaySubtitles part from WebSettings since it tries to force webkit2 to use subtitles.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>924135</commentid>
    <comment_count>44</comment_count>
      <attachid>210396</attachid>
    <who name="Danilo de Paula">danilo.eu</who>
    <bug_when>2013-09-03 12:03:58 -0700</bug_when>
    <thetext>Created attachment 210396
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>924136</commentid>
    <comment_count>45</comment_count>
      <attachid>210396</attachid>
    <who name="Danilo de Paula">danilo.eu</who>
    <bug_when>2013-09-03 12:05:40 -0700</bug_when>
    <thetext>Comment on attachment 210396
Patch

This version should work on webkit1 and webkit2, &quot;Off&quot; and &quot;Auto&quot; buttons included.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>924152</commentid>
    <comment_count>46</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2013-09-03 12:28:23 -0700</bug_when>
    <thetext>Danilo and I were worried about the addition of the off and auto menu items to the core code, Eric says it seems fine to him, so I&apos;m good with that =)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>924501</commentid>
    <comment_count>47</comment_count>
      <attachid>210396</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-04 10:38:02 -0700</bug_when>
    <thetext>Comment on attachment 210396
Patch

Clearing flags on attachment: 210396

Committed r155048: &lt;http://trac.webkit.org/changeset/155048&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>924502</commentid>
    <comment_count>48</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-04 10:38:08 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>203283</attachid>
            <date>2013-05-29 16:10:05 -0700</date>
            <delta_ts>2013-05-29 16:13:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117008-20130529200842.patch</filename>
            <type>text/plain</type>
            <size>6980</size>
            <attacher name="Danilo de Paula">danilo.eu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUwOTA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMjUzY2FmZTgzNzQyYjlh
ODViNDRmY2E2ZGEwYjYzZTVlZWEzNmE3My4uZDNiMzgwM2RmODAzY2E5NDM4YmEwZjUxOTI0NGVk
NDk4MzhhZTA0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEzLTA1LTI5ICBEYW5p
bG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgor
CisgICAgICAgIFtXSzJdW0dUS10gYWRkIG5ldyBtZXRob2RzIG9uIFdlYktpdFNldHRpbmdzIHRv
IGVuYWJsZS9kaXNhYmxlIHN1YnRpdGxlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTE3MDA4CisKKyAgICAgICAgVmlkZW8gVHJhY2tzIFsxXSBpcyBh
IGZlYXR1cmUgYWxyZWFkeSBzdXBwb3J0ZWQgYnkgd2ViY29yZSwgYW5kCisgICAgICAgIGl0IGlz
IGRpc2FibGVkIGJ5IGRlZmF1bHQuCisKKyAgICAgICAgVGhpcyBjb21taXQgYWRkcyBXZWJraXQy
R1RLIGEgd2F5IHRvIGVuYWJsZSB0aGlzIGZlYXR1cmUgb24gd2Vic2V0dGluZ3MuCisKKyAgICAg
ICAgWzFdIC0gaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMS9XRC1odG1sNS0yMDExMDExMy92aWRl
by5odG1sI3RoZS10cmFjay1lbGVtZW50CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5jcHA6
CisgICAgICAgICh3ZWJLaXRTZXR0aW5nc1NldFByb3BlcnR5KToKKyAgICAgICAgKHdlYktpdFNl
dHRpbmdzR2V0UHJvcGVydHkpOgorICAgICAgICAod2Via2l0X3NldHRpbmdzX2NsYXNzX2luaXQp
OgorICAgICAgICAod2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfc3VidGl0bGVzKToKKyAgICAg
ICAgKHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3N1YnRpdGxlcyk6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2d0ay90ZXN0cy9UZXN0V2ViS2l0U2V0dGluZ3MuY3BwOgorICAgICAgICAodGVzdFdlYktpdFNl
dHRpbmdzKToKKwogMjAxMy0wNS0yOSAgTWFyY2VsbyBMaXJhICA8bWFyY2Vsby5saXJhQG9wZW5i
b3NzYS5vcmc+CiAKICAgICAgICAgW1dLMl1bQ29vcmRpbmF0ZWRHcmFwaGljc11bRUZMXSBXS1Zp
ZXdVc2VyVmlld3BvcnRUb0NvbnRlbnRzKCkgZnVuY3Rpb24gZG9lc24ndCBkbyB3aGF0IGl0IHNh
eXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNl
dHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRp
bmdzLmNwcAppbmRleCA0Y2U4NDQyYTE1OTNmNDFjMDIxNzgwMmFlZjE0ZmMwZTQ3OWJiZWFlLi4x
YWU1OWQzZThlZDlhMmUwYTdiMjAxZGE0YjA0ZTFjN2M4Mzc3MTRjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuY3BwCkBAIC0xMzQs
NyArMTM0LDggQEAgZW51bSB7CiAgICAgUFJPUF9VU0VSX0FHRU5ULAogICAgIFBST1BfRU5BQkxF
X1NNT09USF9TQ1JPTExJTkcsCiAgICAgUFJPUF9FTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFT
LAotICAgIFBST1BfRU5BQkxFX1dSSVRFX0NPTlNPTEVfTUVTU0FHRVNfVE9fU1RET1VUCisgICAg
UFJPUF9FTkFCTEVfV1JJVEVfQ09OU09MRV9NRVNTQUdFU19UT19TVERPVVQsCisgICAgUFJPUF9F
TkFCTEVfU1VCVElUTEVTCiB9OwogCiBzdGF0aWMgdm9pZCB3ZWJLaXRTZXR0aW5nc1NldFByb3Bl
cnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcElkLCBjb25zdCBHVmFsdWUqIHZhbHVlLCBH
UGFyYW1TcGVjKiBwYXJhbVNwZWMpCkBAIC0yODMsNiArMjg0LDkgQEAgc3RhdGljIHZvaWQgd2Vi
S2l0U2V0dGluZ3NTZXRQcm9wZXJ0eShHT2JqZWN0KiBvYmplY3QsIGd1aW50IHByb3BJZCwgY29u
c3QgR1ZhbHUKICAgICBjYXNlIFBST1BfRU5BQkxFX1dSSVRFX0NPTlNPTEVfTUVTU0FHRVNfVE9f
U1RET1VUOgogICAgICAgICB3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV93cml0ZV9jb25zb2xl
X21lc3NhZ2VzX3RvX3N0ZG91dChzZXR0aW5ncywgZ192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSkp
OwogICAgICAgICBicmVhazsKKyAgICBjYXNlIFBST1BfRU5BQkxFX1NVQlRJVExFUzoKKyAgICAg
ICAgd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfc3VidGl0bGVzKHNldHRpbmdzLCBnX3ZhbHVl
X2dldF9ib29sZWFuKHZhbHVlKSk7CisgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAg
ICAgIEdfT0JKRUNUX1dBUk5fSU5WQUxJRF9QUk9QRVJUWV9JRChvYmplY3QsIHByb3BJZCwgcGFy
YW1TcGVjKTsKICAgICAgICAgYnJlYWs7CkBAIC00MjksNiArNDMzLDkgQEAgc3RhdGljIHZvaWQg
d2ViS2l0U2V0dGluZ3NHZXRQcm9wZXJ0eShHT2JqZWN0KiBvYmplY3QsIGd1aW50IHByb3BJZCwg
R1ZhbHVlKiB2YWwKICAgICBjYXNlIFBST1BfRU5BQkxFX1dSSVRFX0NPTlNPTEVfTUVTU0FHRVNf
VE9fU1RET1VUOgogICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCB3ZWJraXRfc2V0
dGluZ3NfZ2V0X2VuYWJsZV93cml0ZV9jb25zb2xlX21lc3NhZ2VzX3RvX3N0ZG91dChzZXR0aW5n
cykpOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIFBST1BfRU5BQkxFX1NVQlRJVExFUzoKKyAg
ICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgd2Via2l0X3NldHRpbmdzX2dldF9lbmFi
bGVfc3VidGl0bGVzKHNldHRpbmdzKSk7CisgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAg
ICAgICAgIEdfT0JKRUNUX1dBUk5fSU5WQUxJRF9QUk9QRVJUWV9JRChvYmplY3QsIHByb3BJZCwg
cGFyYW1TcGVjKTsKICAgICAgICAgYnJlYWs7CkBAIC0xMTIwLDYgKzExMjcsMjEgQEAgc3RhdGlj
IHZvaWQgd2Via2l0X3NldHRpbmdzX2NsYXNzX2luaXQoV2ViS2l0U2V0dGluZ3NDbGFzcyoga2xh
c3MpCiAgICAgICAgICAgICBGQUxTRSwKICAgICAgICAgICAgIHJlYWRXcml0ZUNvbnN0cnVjdFBh
cmFtRmxhZ3MpKTsKIAorICAgIC8qKgorICAgICAqIFdlYktpdFNldHRpbmdzOmVuYWJsZS1zdWJ0
aXRsZXM6CisgICAgICoKKyAgICAgKiBFbmFibGUgb3IgZGlzYWJsZSBzaG93aW5nIHRoZSBzdWJ0
aXRsZSB0cmFjayBmb3IgSFRNTCB2aWRlby4KKworICAgICAqCisgICAgICogU2luY2U6IDIuMwor
ICAgICAqLworICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ09iamVjdENsYXNz
LAorICAgICAgICBQUk9QX0VOQUJMRV9TVUJUSVRMRVMsCisgICAgICAgIGdfcGFyYW1fc3BlY19i
b29sZWFuKCJlbmFibGUtc3VidGl0bGVzIiwKKyAgICAgICAgICAgIF8oIkRpc3BsYXlpbmcgc3Vi
dGl0bGUgdHJhY2tzIiksCisgICAgICAgICAgICBfKCJXaGV0aGVyIHRvIGRpc3BsYXkgc3VidGl0
bGVzIiksCisgICAgICAgICAgICBGQUxTRSwKKyAgICAgICAgICAgIHJlYWRXcml0ZUNvbnN0cnVj
dFBhcmFtRmxhZ3MpKTsKIH0KIAogV2ViUHJlZmVyZW5jZXMqIHdlYmtpdFNldHRpbmdzR2V0UHJl
ZmVyZW5jZXMoV2ViS2l0U2V0dGluZ3MqIHNldHRpbmdzKQpAQCAtMjc4MywzICsyODA1LDQzIEBA
IHZvaWQgd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfd3JpdGVfY29uc29sZV9tZXNzYWdlc190
b19zdGRvdXQoV2ViS2l0U2V0dGluZ3MqCiAgICAgcHJpdi0+cHJlZmVyZW5jZXMtPnNldExvZ3NQ
YWdlTWVzc2FnZXNUb1N5c3RlbUNvbnNvbGVFbmFibGVkKGVuYWJsZWQpOwogICAgIGdfb2JqZWN0
X25vdGlmeShHX09CSkVDVChzZXR0aW5ncyksICJlbmFibGUtd3JpdGUtY29uc29sZS1tZXNzYWdl
cy10by1zdGRvdXQiKTsKIH0KKworLyoqCisgKiB3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9z
dWJ0aXRsZXM6CisgKiBAc2V0dGluZ3M6IGEgI1dlYktpdFNldHRpbmdzCisgKgorICogR2V0IHRo
ZSAjV2ViS2l0U2V0dGluZ3M6ZW5hYmxlLXN1YnRpdGxlcyBwcm9wZXJ0eS4KKyAqCisgKiBSZXR1
cm5zOiAlVFJVRSBpZiBzdWJ0aXRsZXMgYXJlIGFsbG93ZWQgdG8gYmUgZGlzcGxheWVkLCBvciAl
RkFMU0UKKyAqIG90aGVyd2lzZS4KKyAqCisgKiBTaW5jZTogMi4yCisgKi8KK2dib29sZWFuIHdl
YmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3N1YnRpdGxlcyhXZWJLaXRTZXR0aW5ncyogc2V0dGlu
Z3MpCit7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1NFVFRJTkdTKHNldHRp
bmdzKSwgRkFMU0UpOworCisgICAgcmV0dXJuIHNldHRpbmdzLT5wcml2LT5wcmVmZXJlbmNlcy0+
c2hvdWxkRGlzcGxheVN1YnRpdGxlcygpOworfQorCisvKioKKyAqIHdlYmtpdF9zZXR0aW5nc19z
ZXRfZW5hYmxlX3N1YnRpdGxlczoKKyAqIEBzZXR0aW5nczogYSAjV2ViS2l0U2V0dGluZ3MKKyAq
IEBlbmFibGVkOiBWYWx1ZSB0byBiZSBzZXQKKyAqCisgKiBTZXQgdGhlICNXZWJLaXRTZXR0aW5n
czplbmFibGUtc3VidGl0bGVzIHByb3BlcnR5LgorICoKKyAqIFNpbmNlOiAyLjIKKyAqLwordm9p
ZCB3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9zdWJ0aXRsZXMoV2ViS2l0U2V0dGluZ3MqIHNl
dHRpbmdzLCBnYm9vbGVhbiBlbmFibGVkKQoreworICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lU
X0lTX1NFVFRJTkdTKHNldHRpbmdzKSk7CisKKyAgICBXZWJLaXRTZXR0aW5nc1ByaXZhdGUqIHBy
aXYgPSBzZXR0aW5ncy0+cHJpdjsKKyAgICBib29sIGN1cnJlbnRWYWx1ZSA9IHByaXYtPnByZWZl
cmVuY2VzLT5zaG91bGREaXNwbGF5U3VidGl0bGVzKCk7CisgICAgaWYgKGN1cnJlbnRWYWx1ZSA9
PSBlbmFibGVkKQorICAgICAgICByZXR1cm47CisKKyAgICBwcml2LT5wcmVmZXJlbmNlcy0+c2V0
U2hvdWxkRGlzcGxheVN1YnRpdGxlcyhlbmFibGVkKTsKKyAgICBnX29iamVjdF9ub3RpZnkoR19P
QkpFQ1Qoc2V0dGluZ3MpLCAiZW5hYmxlLXN1YnRpdGxlcyIpOworfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmgKaW5kZXggYTkwNGQwZWI2
N2JiNjBkZjg3MzJhOTc4NmU3YzAwNWRkYTg0ZTllZS4uOTg0ZWJhZDkzZTI2NjUwY2M3MTU2N2Ey
NWFkZTMxZWM4NzA2YmUzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0U2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRTZXR0aW5ncy5oCkBAIC0zOTMsNiArMzkzLDEzIEBAIFdFQktJVF9BUEkgdm9p
ZAogd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfd3JpdGVfY29uc29sZV9tZXNzYWdlc190b19z
dGRvdXQgICAgKFdlYktpdFNldHRpbmdzICpzZXR0aW5ncywKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYm9vbGVhbiAgICAg
ICAgZW5hYmxlZCk7CiAKK1dFQktJVF9BUEkgZ2Jvb2xlYW4KK3dlYmtpdF9zZXR0aW5nc19nZXRf
ZW5hYmxlX3N1YnRpdGxlcyAgICAgICAgICAgICAgICAgICAgICAgICAgIChXZWJLaXRTZXR0aW5n
cyAqc2V0dGluZ3MpOworCitXRUJLSVRfQVBJIHZvaWQKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5h
YmxlX3N1YnRpdGxlcyAgICAgICAgICAgICAgICAgICAgICAgICAgIChXZWJLaXRTZXR0aW5ncyAq
c2V0dGluZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZ2Jvb2xlYW4gICAgICAgIGVuYWJsZWQpOworCiBHX0VORF9ERUNM
UwogCiAjZW5kaWYgLyogV2ViS2l0U2V0dGluZ3NfaCAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvVGVzdFdlYktpdFNldHRpbmdzLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL1Rlc3RXZWJLaXRTZXR0aW5ncy5j
cHAKaW5kZXggMWVlMzg0M2Y5ZDQ4NWFkNGI4ZjMxYzkzZTdjYTJjOGRmMzU0ODYzNC4uMTViNDQw
ZjY5NTk4ZjkyZTBjZjY1ZGM4Y2I3OWExNDI0MzEwZWUzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvVGVzdFdlYktpdFNldHRpbmdzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy9UZXN0V2ViS2l0U2V0dGlu
Z3MuY3BwCkBAIC0yNTgsNiArMjU4LDExIEBAIHN0YXRpYyB2b2lkIHRlc3RXZWJLaXRTZXR0aW5n
cyhUZXN0KiwgZ2NvbnN0cG9pbnRlcikKICAgICB3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV93
cml0ZV9jb25zb2xlX21lc3NhZ2VzX3RvX3N0ZG91dChzZXR0aW5ncywgVFJVRSk7CiAgICAgZ19h
c3NlcnQod2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfd3JpdGVfY29uc29sZV9tZXNzYWdlc190
b19zdGRvdXQoc2V0dGluZ3MpKTsKIAorICAgIC8vIEJ5IGRlZmF1bHQsIGRpc3BsYXlpbmcgc3Vi
dGl0bGVzIGlzIGRpc2FibGVkLgorICAgIGdfYXNzZXJ0KCF3ZWJraXRfc2V0dGluZ3NfZ2V0X2Vu
YWJsZV9zdWJ0aXRsZXMoc2V0dGluZ3MpKTsKKyAgICB3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJs
ZV9zdWJ0aXRsZXMoc2V0dGluZ3MsIFRSVUUpOworICAgIGdfYXNzZXJ0KHdlYmtpdF9zZXR0aW5n
c19nZXRfZW5hYmxlX3N1YnRpdGxlcyhzZXR0aW5ncykpOworCiAgICAgZ19vYmplY3RfdW5yZWYo
R19PQkpFQ1Qoc2V0dGluZ3MpKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>203285</attachid>
            <date>2013-05-29 16:13:53 -0700</date>
            <delta_ts>2013-05-29 16:19:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117008-20130529201230.patch</filename>
            <type>text/plain</type>
            <size>6980</size>
            <attacher name="Danilo de Paula">danilo.eu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUwOTA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMjUzY2FmZTgzNzQyYjlh
ODViNDRmY2E2ZGEwYjYzZTVlZWEzNmE3My4uZDNiMzgwM2RmODAzY2E5NDM4YmEwZjUxOTI0NGVk
NDk4MzhhZTA0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEzLTA1LTI5ICBEYW5p
bG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgor
CisgICAgICAgIFtXSzJdW0dUS10gYWRkIG5ldyBtZXRob2RzIG9uIFdlYktpdFNldHRpbmdzIHRv
IGVuYWJsZS9kaXNhYmxlIHN1YnRpdGxlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTE3MDA4CisKKyAgICAgICAgVmlkZW8gVHJhY2tzIFsxXSBpcyBh
IGZlYXR1cmUgYWxyZWFkeSBzdXBwb3J0ZWQgYnkgd2ViY29yZSwgYW5kCisgICAgICAgIGl0IGlz
IGRpc2FibGVkIGJ5IGRlZmF1bHQuCisKKyAgICAgICAgVGhpcyBjb21taXQgYWRkcyBXZWJraXQy
R1RLIGEgd2F5IHRvIGVuYWJsZSB0aGlzIGZlYXR1cmUgb24gd2Vic2V0dGluZ3MuCisKKyAgICAg
ICAgWzFdIC0gaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMS9XRC1odG1sNS0yMDExMDExMy92aWRl
by5odG1sI3RoZS10cmFjay1lbGVtZW50CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5jcHA6
CisgICAgICAgICh3ZWJLaXRTZXR0aW5nc1NldFByb3BlcnR5KToKKyAgICAgICAgKHdlYktpdFNl
dHRpbmdzR2V0UHJvcGVydHkpOgorICAgICAgICAod2Via2l0X3NldHRpbmdzX2NsYXNzX2luaXQp
OgorICAgICAgICAod2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfc3VidGl0bGVzKToKKyAgICAg
ICAgKHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3N1YnRpdGxlcyk6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2d0ay90ZXN0cy9UZXN0V2ViS2l0U2V0dGluZ3MuY3BwOgorICAgICAgICAodGVzdFdlYktpdFNl
dHRpbmdzKToKKwogMjAxMy0wNS0yOSAgTWFyY2VsbyBMaXJhICA8bWFyY2Vsby5saXJhQG9wZW5i
b3NzYS5vcmc+CiAKICAgICAgICAgW1dLMl1bQ29vcmRpbmF0ZWRHcmFwaGljc11bRUZMXSBXS1Zp
ZXdVc2VyVmlld3BvcnRUb0NvbnRlbnRzKCkgZnVuY3Rpb24gZG9lc24ndCBkbyB3aGF0IGl0IHNh
eXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNl
dHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRp
bmdzLmNwcAppbmRleCA0Y2U4NDQyYTE1OTNmNDFjMDIxNzgwMmFlZjE0ZmMwZTQ3OWJiZWFlLi43
MjM5NWU3Y2M1MDJjMjFlOTQ5MzkxMGJiOTRjNTFhOWE0NTNjYjMyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuY3BwCkBAIC0xMzQs
NyArMTM0LDggQEAgZW51bSB7CiAgICAgUFJPUF9VU0VSX0FHRU5ULAogICAgIFBST1BfRU5BQkxF
X1NNT09USF9TQ1JPTExJTkcsCiAgICAgUFJPUF9FTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFT
LAotICAgIFBST1BfRU5BQkxFX1dSSVRFX0NPTlNPTEVfTUVTU0FHRVNfVE9fU1RET1VUCisgICAg
UFJPUF9FTkFCTEVfV1JJVEVfQ09OU09MRV9NRVNTQUdFU19UT19TVERPVVQsCisgICAgUFJPUF9F
TkFCTEVfU1VCVElUTEVTCiB9OwogCiBzdGF0aWMgdm9pZCB3ZWJLaXRTZXR0aW5nc1NldFByb3Bl
cnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcElkLCBjb25zdCBHVmFsdWUqIHZhbHVlLCBH
UGFyYW1TcGVjKiBwYXJhbVNwZWMpCkBAIC0yODMsNiArMjg0LDkgQEAgc3RhdGljIHZvaWQgd2Vi
S2l0U2V0dGluZ3NTZXRQcm9wZXJ0eShHT2JqZWN0KiBvYmplY3QsIGd1aW50IHByb3BJZCwgY29u
c3QgR1ZhbHUKICAgICBjYXNlIFBST1BfRU5BQkxFX1dSSVRFX0NPTlNPTEVfTUVTU0FHRVNfVE9f
U1RET1VUOgogICAgICAgICB3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV93cml0ZV9jb25zb2xl
X21lc3NhZ2VzX3RvX3N0ZG91dChzZXR0aW5ncywgZ192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSkp
OwogICAgICAgICBicmVhazsKKyAgICBjYXNlIFBST1BfRU5BQkxFX1NVQlRJVExFUzoKKyAgICAg
ICAgd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfc3VidGl0bGVzKHNldHRpbmdzLCBnX3ZhbHVl
X2dldF9ib29sZWFuKHZhbHVlKSk7CisgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAg
ICAgIEdfT0JKRUNUX1dBUk5fSU5WQUxJRF9QUk9QRVJUWV9JRChvYmplY3QsIHByb3BJZCwgcGFy
YW1TcGVjKTsKICAgICAgICAgYnJlYWs7CkBAIC00MjksNiArNDMzLDkgQEAgc3RhdGljIHZvaWQg
d2ViS2l0U2V0dGluZ3NHZXRQcm9wZXJ0eShHT2JqZWN0KiBvYmplY3QsIGd1aW50IHByb3BJZCwg
R1ZhbHVlKiB2YWwKICAgICBjYXNlIFBST1BfRU5BQkxFX1dSSVRFX0NPTlNPTEVfTUVTU0FHRVNf
VE9fU1RET1VUOgogICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCB3ZWJraXRfc2V0
dGluZ3NfZ2V0X2VuYWJsZV93cml0ZV9jb25zb2xlX21lc3NhZ2VzX3RvX3N0ZG91dChzZXR0aW5n
cykpOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIFBST1BfRU5BQkxFX1NVQlRJVExFUzoKKyAg
ICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgd2Via2l0X3NldHRpbmdzX2dldF9lbmFi
bGVfc3VidGl0bGVzKHNldHRpbmdzKSk7CisgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAg
ICAgICAgIEdfT0JKRUNUX1dBUk5fSU5WQUxJRF9QUk9QRVJUWV9JRChvYmplY3QsIHByb3BJZCwg
cGFyYW1TcGVjKTsKICAgICAgICAgYnJlYWs7CkBAIC0xMTIwLDYgKzExMjcsMjEgQEAgc3RhdGlj
IHZvaWQgd2Via2l0X3NldHRpbmdzX2NsYXNzX2luaXQoV2ViS2l0U2V0dGluZ3NDbGFzcyoga2xh
c3MpCiAgICAgICAgICAgICBGQUxTRSwKICAgICAgICAgICAgIHJlYWRXcml0ZUNvbnN0cnVjdFBh
cmFtRmxhZ3MpKTsKIAorICAgIC8qKgorICAgICAqIFdlYktpdFNldHRpbmdzOmVuYWJsZS1zdWJ0
aXRsZXM6CisgICAgICoKKyAgICAgKiBFbmFibGUgb3IgZGlzYWJsZSBzaG93aW5nIHRoZSBzdWJ0
aXRsZSB0cmFjayBmb3IgSFRNTCB2aWRlby4KKworICAgICAqCisgICAgICogU2luY2U6IDIuMwor
ICAgICAqLworICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ09iamVjdENsYXNz
LAorICAgICAgICBQUk9QX0VOQUJMRV9TVUJUSVRMRVMsCisgICAgICAgIGdfcGFyYW1fc3BlY19i
b29sZWFuKCJlbmFibGUtc3VidGl0bGVzIiwKKyAgICAgICAgICAgIF8oIkRpc3BsYXlpbmcgc3Vi
dGl0bGUgdHJhY2tzIiksCisgICAgICAgICAgICBfKCJXaGV0aGVyIHRvIGRpc3BsYXkgc3VidGl0
bGVzIiksCisgICAgICAgICAgICBGQUxTRSwKKyAgICAgICAgICAgIHJlYWRXcml0ZUNvbnN0cnVj
dFBhcmFtRmxhZ3MpKTsKIH0KIAogV2ViUHJlZmVyZW5jZXMqIHdlYmtpdFNldHRpbmdzR2V0UHJl
ZmVyZW5jZXMoV2ViS2l0U2V0dGluZ3MqIHNldHRpbmdzKQpAQCAtMjc4MywzICsyODA1LDQzIEBA
IHZvaWQgd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfd3JpdGVfY29uc29sZV9tZXNzYWdlc190
b19zdGRvdXQoV2ViS2l0U2V0dGluZ3MqCiAgICAgcHJpdi0+cHJlZmVyZW5jZXMtPnNldExvZ3NQ
YWdlTWVzc2FnZXNUb1N5c3RlbUNvbnNvbGVFbmFibGVkKGVuYWJsZWQpOwogICAgIGdfb2JqZWN0
X25vdGlmeShHX09CSkVDVChzZXR0aW5ncyksICJlbmFibGUtd3JpdGUtY29uc29sZS1tZXNzYWdl
cy10by1zdGRvdXQiKTsKIH0KKworLyoqCisgKiB3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9z
dWJ0aXRsZXM6CisgKiBAc2V0dGluZ3M6IGEgI1dlYktpdFNldHRpbmdzCisgKgorICogR2V0IHRo
ZSAjV2ViS2l0U2V0dGluZ3M6ZW5hYmxlLXN1YnRpdGxlcyBwcm9wZXJ0eS4KKyAqCisgKiBSZXR1
cm5zOiAlVFJVRSBpZiBzdWJ0aXRsZXMgYXJlIGFsbG93ZWQgdG8gYmUgZGlzcGxheWVkLCBvciAl
RkFMU0UKKyAqIG90aGVyd2lzZS4KKyAqCisgKiBTaW5jZTogMi4zCisgKi8KK2dib29sZWFuIHdl
YmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3N1YnRpdGxlcyhXZWJLaXRTZXR0aW5ncyogc2V0dGlu
Z3MpCit7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1NFVFRJTkdTKHNldHRp
bmdzKSwgRkFMU0UpOworCisgICAgcmV0dXJuIHNldHRpbmdzLT5wcml2LT5wcmVmZXJlbmNlcy0+
c2hvdWxkRGlzcGxheVN1YnRpdGxlcygpOworfQorCisvKioKKyAqIHdlYmtpdF9zZXR0aW5nc19z
ZXRfZW5hYmxlX3N1YnRpdGxlczoKKyAqIEBzZXR0aW5nczogYSAjV2ViS2l0U2V0dGluZ3MKKyAq
IEBlbmFibGVkOiBWYWx1ZSB0byBiZSBzZXQKKyAqCisgKiBTZXQgdGhlICNXZWJLaXRTZXR0aW5n
czplbmFibGUtc3VidGl0bGVzIHByb3BlcnR5LgorICoKKyAqIFNpbmNlOiAyLjMKKyAqLwordm9p
ZCB3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9zdWJ0aXRsZXMoV2ViS2l0U2V0dGluZ3MqIHNl
dHRpbmdzLCBnYm9vbGVhbiBlbmFibGVkKQoreworICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lU
X0lTX1NFVFRJTkdTKHNldHRpbmdzKSk7CisKKyAgICBXZWJLaXRTZXR0aW5nc1ByaXZhdGUqIHBy
aXYgPSBzZXR0aW5ncy0+cHJpdjsKKyAgICBib29sIGN1cnJlbnRWYWx1ZSA9IHByaXYtPnByZWZl
cmVuY2VzLT5zaG91bGREaXNwbGF5U3VidGl0bGVzKCk7CisgICAgaWYgKGN1cnJlbnRWYWx1ZSA9
PSBlbmFibGVkKQorICAgICAgICByZXR1cm47CisKKyAgICBwcml2LT5wcmVmZXJlbmNlcy0+c2V0
U2hvdWxkRGlzcGxheVN1YnRpdGxlcyhlbmFibGVkKTsKKyAgICBnX29iamVjdF9ub3RpZnkoR19P
QkpFQ1Qoc2V0dGluZ3MpLCAiZW5hYmxlLXN1YnRpdGxlcyIpOworfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmgKaW5kZXggYTkwNGQwZWI2
N2JiNjBkZjg3MzJhOTc4NmU3YzAwNWRkYTg0ZTllZS4uOTg0ZWJhZDkzZTI2NjUwY2M3MTU2N2Ey
NWFkZTMxZWM4NzA2YmUzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0U2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRTZXR0aW5ncy5oCkBAIC0zOTMsNiArMzkzLDEzIEBAIFdFQktJVF9BUEkgdm9p
ZAogd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfd3JpdGVfY29uc29sZV9tZXNzYWdlc190b19z
dGRvdXQgICAgKFdlYktpdFNldHRpbmdzICpzZXR0aW5ncywKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYm9vbGVhbiAgICAg
ICAgZW5hYmxlZCk7CiAKK1dFQktJVF9BUEkgZ2Jvb2xlYW4KK3dlYmtpdF9zZXR0aW5nc19nZXRf
ZW5hYmxlX3N1YnRpdGxlcyAgICAgICAgICAgICAgICAgICAgICAgICAgIChXZWJLaXRTZXR0aW5n
cyAqc2V0dGluZ3MpOworCitXRUJLSVRfQVBJIHZvaWQKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5h
YmxlX3N1YnRpdGxlcyAgICAgICAgICAgICAgICAgICAgICAgICAgIChXZWJLaXRTZXR0aW5ncyAq
c2V0dGluZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZ2Jvb2xlYW4gICAgICAgIGVuYWJsZWQpOworCiBHX0VORF9ERUNM
UwogCiAjZW5kaWYgLyogV2ViS2l0U2V0dGluZ3NfaCAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvVGVzdFdlYktpdFNldHRpbmdzLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL1Rlc3RXZWJLaXRTZXR0aW5ncy5j
cHAKaW5kZXggMWVlMzg0M2Y5ZDQ4NWFkNGI4ZjMxYzkzZTdjYTJjOGRmMzU0ODYzNC4uMTViNDQw
ZjY5NTk4ZjkyZTBjZjY1ZGM4Y2I3OWExNDI0MzEwZWUzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvVGVzdFdlYktpdFNldHRpbmdzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy9UZXN0V2ViS2l0U2V0dGlu
Z3MuY3BwCkBAIC0yNTgsNiArMjU4LDExIEBAIHN0YXRpYyB2b2lkIHRlc3RXZWJLaXRTZXR0aW5n
cyhUZXN0KiwgZ2NvbnN0cG9pbnRlcikKICAgICB3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV93
cml0ZV9jb25zb2xlX21lc3NhZ2VzX3RvX3N0ZG91dChzZXR0aW5ncywgVFJVRSk7CiAgICAgZ19h
c3NlcnQod2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfd3JpdGVfY29uc29sZV9tZXNzYWdlc190
b19zdGRvdXQoc2V0dGluZ3MpKTsKIAorICAgIC8vIEJ5IGRlZmF1bHQsIGRpc3BsYXlpbmcgc3Vi
dGl0bGVzIGlzIGRpc2FibGVkLgorICAgIGdfYXNzZXJ0KCF3ZWJraXRfc2V0dGluZ3NfZ2V0X2Vu
YWJsZV9zdWJ0aXRsZXMoc2V0dGluZ3MpKTsKKyAgICB3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJs
ZV9zdWJ0aXRsZXMoc2V0dGluZ3MsIFRSVUUpOworICAgIGdfYXNzZXJ0KHdlYmtpdF9zZXR0aW5n
c19nZXRfZW5hYmxlX3N1YnRpdGxlcyhzZXR0aW5ncykpOworCiAgICAgZ19vYmplY3RfdW5yZWYo
R19PQkpFQ1Qoc2V0dGluZ3MpKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>203286</attachid>
            <date>2013-05-29 16:20:08 -0700</date>
            <delta_ts>2013-08-14 07:04:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117008-20130529201844.patch</filename>
            <type>text/plain</type>
            <size>7773</size>
            <attacher name="Danilo de Paula">danilo.eu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUwOTA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMjUzY2FmZTgzNzQyYjlh
ODViNDRmY2E2ZGEwYjYzZTVlZWEzNmE3My4uMzNiNmFjZGRiMWMyYjY0Zjk1YjdmNTQ3YzNmMTRk
ZDVlZTA1MDFhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEzLTA1LTI5ICBEYW5p
bG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgor
CisgICAgICAgIFtXSzJdW0dUS10gYWRkIG5ldyBtZXRob2RzIG9uIFdlYktpdFNldHRpbmdzIHRv
IGVuYWJsZS9kaXNhYmxlIHN1YnRpdGxlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTE3MDA4CisKKyAgICAgICAgVmlkZW8gVHJhY2tzIFsxXSBpcyBh
IGZlYXR1cmUgYWxyZWFkeSBzdXBwb3J0ZWQgYnkgd2ViY29yZSwgYW5kCisgICAgICAgIGl0IGlz
IGRpc2FibGVkIGJ5IGRlZmF1bHQuCisKKyAgICAgICAgVGhpcyBjb21taXQgYWRkcyBXZWJraXQy
R1RLIGEgd2F5IHRvIGVuYWJsZSB0aGlzIGZlYXR1cmUgb24gd2Vic2V0dGluZ3MuCisKKyAgICAg
ICAgWzFdIC0gaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMS9XRC1odG1sNS0yMDExMDExMy92aWRl
by5odG1sI3RoZS10cmFjay1lbGVtZW50CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5jcHA6
CisgICAgICAgICh3ZWJLaXRTZXR0aW5nc1NldFByb3BlcnR5KToKKyAgICAgICAgKHdlYktpdFNl
dHRpbmdzR2V0UHJvcGVydHkpOgorICAgICAgICAod2Via2l0X3NldHRpbmdzX2NsYXNzX2luaXQp
OgorICAgICAgICAod2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfc3VidGl0bGVzKToKKyAgICAg
ICAgKHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3N1YnRpdGxlcyk6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2d0ay9kb2NzL3dlYmtpdDJndGstc2VjdGlvbnMudHh0OgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvZ3RrL3Rlc3RzL1Rlc3RXZWJLaXRTZXR0aW5ncy5jcHA6CisgICAgICAgICh0ZXN0V2ViS2l0
U2V0dGluZ3MpOgorCiAyMDEzLTA1LTI5ICBNYXJjZWxvIExpcmEgIDxtYXJjZWxvLmxpcmFAb3Bl
bmJvc3NhLm9yZz4KIAogICAgICAgICBbV0syXVtDb29yZGluYXRlZEdyYXBoaWNzXVtFRkxdIFdL
Vmlld1VzZXJWaWV3cG9ydFRvQ29udGVudHMoKSBmdW5jdGlvbiBkb2Vzbid0IGRvIHdoYXQgaXQg
c2F5cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
U2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0
dGluZ3MuY3BwCmluZGV4IDRjZTg0NDJhMTU5M2Y0MWMwMjE3ODAyYWVmMTRmYzBlNDc5YmJlYWUu
LjcyMzk1ZTdjYzUwMmMyMWU5NDkzOTEwYmI5NGM1MWE5YTQ1M2NiMzIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5jcHAKQEAgLTEz
NCw3ICsxMzQsOCBAQCBlbnVtIHsKICAgICBQUk9QX1VTRVJfQUdFTlQsCiAgICAgUFJPUF9FTkFC
TEVfU01PT1RIX1NDUk9MTElORywKICAgICBQUk9QX0VOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5W
QVMsCi0gICAgUFJPUF9FTkFCTEVfV1JJVEVfQ09OU09MRV9NRVNTQUdFU19UT19TVERPVVQKKyAg
ICBQUk9QX0VOQUJMRV9XUklURV9DT05TT0xFX01FU1NBR0VTX1RPX1NURE9VVCwKKyAgICBQUk9Q
X0VOQUJMRV9TVUJUSVRMRVMKIH07CiAKIHN0YXRpYyB2b2lkIHdlYktpdFNldHRpbmdzU2V0UHJv
cGVydHkoR09iamVjdCogb2JqZWN0LCBndWludCBwcm9wSWQsIGNvbnN0IEdWYWx1ZSogdmFsdWUs
IEdQYXJhbVNwZWMqIHBhcmFtU3BlYykKQEAgLTI4Myw2ICsyODQsOSBAQCBzdGF0aWMgdm9pZCB3
ZWJLaXRTZXR0aW5nc1NldFByb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcElkLCBj
b25zdCBHVmFsdQogICAgIGNhc2UgUFJPUF9FTkFCTEVfV1JJVEVfQ09OU09MRV9NRVNTQUdFU19U
T19TVERPVVQ6CiAgICAgICAgIHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3dyaXRlX2NvbnNv
bGVfbWVzc2FnZXNfdG9fc3Rkb3V0KHNldHRpbmdzLCBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVl
KSk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgUFJPUF9FTkFCTEVfU1VCVElUTEVTOgorICAg
ICAgICB3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9zdWJ0aXRsZXMoc2V0dGluZ3MsIGdfdmFs
dWVfZ2V0X2Jvb2xlYW4odmFsdWUpKTsKKyAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAg
ICAgICAgR19PQkpFQ1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lEKG9iamVjdCwgcHJvcElkLCBw
YXJhbVNwZWMpOwogICAgICAgICBicmVhazsKQEAgLTQyOSw2ICs0MzMsOSBAQCBzdGF0aWMgdm9p
ZCB3ZWJLaXRTZXR0aW5nc0dldFByb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcElk
LCBHVmFsdWUqIHZhbAogICAgIGNhc2UgUFJPUF9FTkFCTEVfV1JJVEVfQ09OU09MRV9NRVNTQUdF
U19UT19TVERPVVQ6CiAgICAgICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHdlYmtpdF9z
ZXR0aW5nc19nZXRfZW5hYmxlX3dyaXRlX2NvbnNvbGVfbWVzc2FnZXNfdG9fc3Rkb3V0KHNldHRp
bmdzKSk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgUFJPUF9FTkFCTEVfU1VCVElUTEVTOgor
ICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCB3ZWJraXRfc2V0dGluZ3NfZ2V0X2Vu
YWJsZV9zdWJ0aXRsZXMoc2V0dGluZ3MpKTsKKyAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoK
ICAgICAgICAgR19PQkpFQ1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lEKG9iamVjdCwgcHJvcElk
LCBwYXJhbVNwZWMpOwogICAgICAgICBicmVhazsKQEAgLTExMjAsNiArMTEyNywyMSBAQCBzdGF0
aWMgdm9pZCB3ZWJraXRfc2V0dGluZ3NfY2xhc3NfaW5pdChXZWJLaXRTZXR0aW5nc0NsYXNzKiBr
bGFzcykKICAgICAgICAgICAgIEZBTFNFLAogICAgICAgICAgICAgcmVhZFdyaXRlQ29uc3RydWN0
UGFyYW1GbGFncykpOwogCisgICAgLyoqCisgICAgICogV2ViS2l0U2V0dGluZ3M6ZW5hYmxlLXN1
YnRpdGxlczoKKyAgICAgKgorICAgICAqIEVuYWJsZSBvciBkaXNhYmxlIHNob3dpbmcgdGhlIHN1
YnRpdGxlIHRyYWNrIGZvciBIVE1MIHZpZGVvLgorCisgICAgICoKKyAgICAgKiBTaW5jZTogMi4z
CisgICAgICovCisgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnT2JqZWN0Q2xh
c3MsCisgICAgICAgIFBST1BfRU5BQkxFX1NVQlRJVExFUywKKyAgICAgICAgZ19wYXJhbV9zcGVj
X2Jvb2xlYW4oImVuYWJsZS1zdWJ0aXRsZXMiLAorICAgICAgICAgICAgXygiRGlzcGxheWluZyBz
dWJ0aXRsZSB0cmFja3MiKSwKKyAgICAgICAgICAgIF8oIldoZXRoZXIgdG8gZGlzcGxheSBzdWJ0
aXRsZXMiKSwKKyAgICAgICAgICAgIEZBTFNFLAorICAgICAgICAgICAgcmVhZFdyaXRlQ29uc3Ry
dWN0UGFyYW1GbGFncykpOwogfQogCiBXZWJQcmVmZXJlbmNlcyogd2Via2l0U2V0dGluZ3NHZXRQ
cmVmZXJlbmNlcyhXZWJLaXRTZXR0aW5ncyogc2V0dGluZ3MpCkBAIC0yNzgzLDMgKzI4MDUsNDMg
QEAgdm9pZCB3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV93cml0ZV9jb25zb2xlX21lc3NhZ2Vz
X3RvX3N0ZG91dChXZWJLaXRTZXR0aW5ncyoKICAgICBwcml2LT5wcmVmZXJlbmNlcy0+c2V0TG9n
c1BhZ2VNZXNzYWdlc1RvU3lzdGVtQ29uc29sZUVuYWJsZWQoZW5hYmxlZCk7CiAgICAgZ19vYmpl
Y3Rfbm90aWZ5KEdfT0JKRUNUKHNldHRpbmdzKSwgImVuYWJsZS13cml0ZS1jb25zb2xlLW1lc3Nh
Z2VzLXRvLXN0ZG91dCIpOwogfQorCisvKioKKyAqIHdlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxl
X3N1YnRpdGxlczoKKyAqIEBzZXR0aW5nczogYSAjV2ViS2l0U2V0dGluZ3MKKyAqCisgKiBHZXQg
dGhlICNXZWJLaXRTZXR0aW5nczplbmFibGUtc3VidGl0bGVzIHByb3BlcnR5LgorICoKKyAqIFJl
dHVybnM6ICVUUlVFIGlmIHN1YnRpdGxlcyBhcmUgYWxsb3dlZCB0byBiZSBkaXNwbGF5ZWQsIG9y
ICVGQUxTRQorICogb3RoZXJ3aXNlLgorICoKKyAqIFNpbmNlOiAyLjMKKyAqLworZ2Jvb2xlYW4g
d2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfc3VidGl0bGVzKFdlYktpdFNldHRpbmdzKiBzZXR0
aW5ncykKK3sKKyAgICBnX3JldHVybl92YWxfaWZfZmFpbChXRUJLSVRfSVNfU0VUVElOR1Moc2V0
dGluZ3MpLCBGQUxTRSk7CisKKyAgICByZXR1cm4gc2V0dGluZ3MtPnByaXYtPnByZWZlcmVuY2Vz
LT5zaG91bGREaXNwbGF5U3VidGl0bGVzKCk7Cit9CisKKy8qKgorICogd2Via2l0X3NldHRpbmdz
X3NldF9lbmFibGVfc3VidGl0bGVzOgorICogQHNldHRpbmdzOiBhICNXZWJLaXRTZXR0aW5ncwor
ICogQGVuYWJsZWQ6IFZhbHVlIHRvIGJlIHNldAorICoKKyAqIFNldCB0aGUgI1dlYktpdFNldHRp
bmdzOmVuYWJsZS1zdWJ0aXRsZXMgcHJvcGVydHkuCisgKgorICogU2luY2U6IDIuMworICovCit2
b2lkIHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3N1YnRpdGxlcyhXZWJLaXRTZXR0aW5ncyog
c2V0dGluZ3MsIGdib29sZWFuIGVuYWJsZWQpCit7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJL
SVRfSVNfU0VUVElOR1Moc2V0dGluZ3MpKTsKKworICAgIFdlYktpdFNldHRpbmdzUHJpdmF0ZSog
cHJpdiA9IHNldHRpbmdzLT5wcml2OworICAgIGJvb2wgY3VycmVudFZhbHVlID0gcHJpdi0+cHJl
ZmVyZW5jZXMtPnNob3VsZERpc3BsYXlTdWJ0aXRsZXMoKTsKKyAgICBpZiAoY3VycmVudFZhbHVl
ID09IGVuYWJsZWQpCisgICAgICAgIHJldHVybjsKKworICAgIHByaXYtPnByZWZlcmVuY2VzLT5z
ZXRTaG91bGREaXNwbGF5U3VidGl0bGVzKGVuYWJsZWQpOworICAgIGdfb2JqZWN0X25vdGlmeShH
X09CSkVDVChzZXR0aW5ncyksICJlbmFibGUtc3VidGl0bGVzIik7Cit9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuaAppbmRleCBhOTA0ZDBl
YjY3YmI2MGRmODczMmE5Nzg2ZTdjMDA1ZGRhODRlOWVlLi45ODRlYmFkOTNlMjY2NTBjYzcxNTY3
YTI1YWRlMzFlYzg3MDZiZTMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdFNldHRpbmdzLmgKQEAgLTM5Myw2ICszOTMsMTMgQEAgV0VCS0lUX0FQSSB2
b2lkCiB3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV93cml0ZV9jb25zb2xlX21lc3NhZ2VzX3Rv
X3N0ZG91dCAgICAoV2ViS2l0U2V0dGluZ3MgKnNldHRpbmdzLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdib29sZWFuICAg
ICAgICBlbmFibGVkKTsKIAorV0VCS0lUX0FQSSBnYm9vbGVhbgord2Via2l0X3NldHRpbmdzX2dl
dF9lbmFibGVfc3VidGl0bGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgKFdlYktpdFNldHRp
bmdzICpzZXR0aW5ncyk7CisKK1dFQktJVF9BUEkgdm9pZAord2Via2l0X3NldHRpbmdzX3NldF9l
bmFibGVfc3VidGl0bGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgKFdlYktpdFNldHRpbmdz
ICpzZXR0aW5ncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBnYm9vbGVhbiAgICAgICAgZW5hYmxlZCk7CisKIEdfRU5EX0RF
Q0xTCiAKICNlbmRpZiAvKiBXZWJLaXRTZXR0aW5nc19oICovCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstc2VjdGlvbnMudHh0IGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLXNlY3Rpb25z
LnR4dAppbmRleCBmMjgwYzYyZGYyOWYyNmIzMjI2MmNkYWRmMmU4ZGEzM2MxZDliOTkwLi5hYzBh
YjY1MWVhYThhODI4YzgzYjNhMzViMTc5NzZmODFhYTRhYWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstc2VjdGlvbnMudHh0Cisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay1zZWN0
aW9ucy50eHQKQEAgLTMyMSw2ICszMjEsOCBAQCB3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9h
Y2NlbGVyYXRlZF8yZF9jYW52YXMKIHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX2FjY2VsZXJh
dGVkXzJkX2NhbnZhcwogd2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfd3JpdGVfY29uc29sZV9t
ZXNzYWdlc190b19zdGRvdXQKIHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3dyaXRlX2NvbnNv
bGVfbWVzc2FnZXNfdG9fc3Rkb3V0Cit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9zdWJ0aXRs
ZXMKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3N1YnRpdGxlcwogCiA8U1VCU0VDVElPTiBT
dGFuZGFyZD4KIFdlYktpdFNldHRpbmdzQ2xhc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL1Rlc3RXZWJLaXRTZXR0aW5ncy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy9UZXN0V2ViS2l0U2V0dGluZ3MuY3BwCmlu
ZGV4IDFlZTM4NDNmOWQ0ODVhZDRiOGYzMWM5M2U3Y2EyYzhkZjM1NDg2MzQuLjE1YjQ0MGY2OTU5
OGY5MmUwY2Y2NWRjOGNiNzlhMTQyNDMxMGVlM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL1Rlc3RXZWJLaXRTZXR0aW5ncy5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvVGVzdFdlYktpdFNldHRpbmdzLmNw
cApAQCAtMjU4LDYgKzI1OCwxMSBAQCBzdGF0aWMgdm9pZCB0ZXN0V2ViS2l0U2V0dGluZ3MoVGVz
dCosIGdjb25zdHBvaW50ZXIpCiAgICAgd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfd3JpdGVf
Y29uc29sZV9tZXNzYWdlc190b19zdGRvdXQoc2V0dGluZ3MsIFRSVUUpOwogICAgIGdfYXNzZXJ0
KHdlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3dyaXRlX2NvbnNvbGVfbWVzc2FnZXNfdG9fc3Rk
b3V0KHNldHRpbmdzKSk7CiAKKyAgICAvLyBCeSBkZWZhdWx0LCBkaXNwbGF5aW5nIHN1YnRpdGxl
cyBpcyBkaXNhYmxlZC4KKyAgICBnX2Fzc2VydCghd2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVf
c3VidGl0bGVzKHNldHRpbmdzKSk7CisgICAgd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfc3Vi
dGl0bGVzKHNldHRpbmdzLCBUUlVFKTsKKyAgICBnX2Fzc2VydCh3ZWJraXRfc2V0dGluZ3NfZ2V0
X2VuYWJsZV9zdWJ0aXRsZXMoc2V0dGluZ3MpKTsKKwogICAgIGdfb2JqZWN0X3VucmVmKEdfT0JK
RUNUKHNldHRpbmdzKSk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>208724</attachid>
            <date>2013-08-14 07:05:02 -0700</date>
            <delta_ts>2013-08-16 12:48:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117008-20130814170500.patch</filename>
            <type>text/plain</type>
            <size>21055</size>
            <attacher name="Danilo de Paula">danilo.eu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUzNjg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWYxMThmYmVhZDRmZDky
NWNhZWZjOGRkNjNkYTQ4YmU5ZTgzYTM2Yi4uNDljMTI0YjRjYTU1OGM5NzdkNjNkZDAxMjY0ZWI0
ZThhN2RhMzEyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEzLTA4LTE0ICBEYW5p
bG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgor
CisgICAgICAgIFtXSzJdW0dUS10gYWRkIHN1cHBvcnQgZm9yIHN1YnRpdGxlcyBvbiB3ZWJraXQy
R1RLCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTcw
MDgKKworICAgICAgICBCeSBhY3RpdmF0aW5nIHN1YnRpdGxlcyBzdXBwb3J0IG9uIHdlYmtpdDJH
VEssIHRoZSB2aWRlbyBwbGF5ZXIKKyAgICAgICAgcmVjb2duaXplcyBhbmQgdXNlIHRleHQgPHRy
YWNrcz4gaW5zaWRlIDx2aWRlbz4gZWxlbWVudHMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBjc3MvbWVkaWFDb250cm9sc0d0ay5jc3M6CisgICAg
ICAgIChhdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10b2dnbGUtY2xvc2VkLWNhcHRpb25z
LWJ1dHRvbiwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdG9nZ2xlLWNsb3NlZC1jYXB0
aW9ucy1idXR0b24pOgorICAgICAgICAodmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY2xv
c2VkLWNhcHRpb25zLWNvbnRhaW5lcik6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1tZWRpYS1j
b250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCk6CisgICAgICAgICh2aWRlbzo6LXdl
YmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBoMyk6CisgICAg
ICAgICh2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2st
bGlzdCB1bCk6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQt
Y2FwdGlvbnMtdHJhY2stbGlzdCBsaSk6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1tZWRpYS1j
b250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBsaS5zZWxlY3RlZCk6CisgICAgICAg
ICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50OjpNZWRpYUNv
bnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50OjpkZWZhdWx0
RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50
cy5oOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0d0azo6TWVkaWFDb250cm9sc0d0ayk6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzR3RrOjppbml0aWFsaXplQ29udHJvbHMpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0d0azo6c2V0TWVkaWFDb250cm9sbGVyKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbHNHdGs6OnRvZ2dsZUNsb3NlZENhcHRpb25UcmFja0xp
c3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0d0azo6c2hvd0Nsb3NlZENhcHRp
b25UcmFja0xpc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0d0azo6aGlkZUNs
b3NlZENhcHRpb25UcmFja0xpc3QpOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJv
bHNHdGsuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGsuaDoKKwogMjAx
My0wOC0wMiAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgogCiAgICAg
ICAgIEludHJvZHVjZSB0b1NWR01hc2tFbGVtZW50KCksIGFuZCB1c2UgaXQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRl
eCBkYzIxZTg2NzRkMWNlMTMwY2ZhZWY1ZTc1NmNmNDM3N2FlZjExZmQ1Li5lZjZjNWMxM2JkYzIz
ZmE3MTE2ZGZiNDllMTNiOWMyMzcxYjM3OWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAK
KzIwMTMtMDgtMTQgIERhbmlsbyBDZXNhciBMZW1lcyBkZSBQYXVsYSAgPGRhbmlsby5jZXNhckBj
b2xsYWJvcmEuY28udWs+CisKKyAgICAgICAgW1dLMl1bR1RLXSBhZGQgc3VwcG9ydCBmb3Igc3Vi
dGl0bGVzIG9uIHdlYmtpdDJHVEsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTExNzAwOAorCisgICAgICAgIEJ5IGFjdGl2YXRpbmcgc3VidGl0bGVzIHN1
cHBvcnQgb24gd2Via2l0MkdUSywgdGhlIHZpZGVvIHBsYXllcgorICAgICAgICByZWNvZ25pemVz
IGFuZCB1c2UgdGV4dCA8dHJhY2tzPiBpbnNpZGUgPHZpZGVvPiBlbGVtZW50cy4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFNldHRpbmdzLmNwcDoKKyAgICAgICAgKHdlYktpdFNldHRpbmdzU2V0UHJvcGVy
dHkpOgorICAgICAgICAod2ViS2l0U2V0dGluZ3NHZXRQcm9wZXJ0eSk6CisgICAgICAgICh3ZWJr
aXRfc2V0dGluZ3NfY2xhc3NfaW5pdCk6CisgICAgICAgICh3ZWJraXRfc2V0dGluZ3NfbmV3KToK
KyAgICAgICAgKHdlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3N1YnRpdGxlcyk6CisgICAgICAg
ICh3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9zdWJ0aXRsZXMpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9n
dGsvZG9jcy93ZWJraXQyZ3RrLXNlY3Rpb25zLnR4dDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2d0ay90ZXN0cy9UZXN0V2ViS2l0U2V0dGluZ3MuY3BwOgorICAgICAgICAodGVzdFdlYktpdFNl
dHRpbmdzKToKKwogMjAxMy0wOC0wMiAgR2F2aW4gQmFycmFjbG91Z2ggIDxiYXJyYWNsb3VnaEBh
cHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIG5vLWFyZ3VtZW50cyBjb25zdHJ1Y3RvciB0byBQ
cm9wZXJ0eVNsb3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9tZWRpYUNvbnRyb2xz
R3RrLmNzcyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9tZWRpYUNvbnRyb2xzR3RrLmNzcwppbmRleCA1
NzI5ZDQ1ODcyMWEwZDgyMWYwOTBiY2UzZTJmZWJiYzIzMzI4YmQ3Li5hOWEwZjAwZDJmMzBhOWI0
NGUxODQ5NDYyZjVmY2Q0NzAxZjUwMGVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
bWVkaWFDb250cm9sc0d0ay5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL21lZGlhQ29udHJv
bHNHdGsuY3NzCkBAIC0yMjIsNiArMjIyLDcwIEBAIGF1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRy
b2xzLXRvZ2dsZS1jbG9zZWQtY2FwdGlvbnMtYnV0dG9uLCB2aWRlbzo6LXdlYmtpdC1tZWRpCiAg
ICAgaGVpZ2h0OiAzMHB4OwogICAgIGxpbmUtaGVpZ2h0OiAzMHB4OwogICAgIG1hcmdpbjogMCA5
cHggMCAtN3B4OworICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsKKyAgICBiYWNrZ3Jv
dW5kLXBvc2l0aW9uOmNlbnRlcjsKKyAgICBvcGFjaXR5OiAwLjU7CisgICAgYmFja2dyb3VuZC1p
bWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyBpZD0ic3ZnNzM4NCIgeG1sbnM6cmRm
PSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIiB4bWxucz0iaHR0
cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTYiIHdpZHRoPSIxNiIgdmVyc2lvbj0i
MS4xIiB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiB4bWxuczpkYz0i
aHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPjxtZXRhZGF0YSBpZD0ibWV0YWRhdGE5
MCI+PHJkZjpSREY+PGNjOldvcmsgcmRmOmFib3V0PSIiPjxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3ht
bDwvZGM6Zm9ybWF0PjxkYzp0eXBlIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2Rj
bWl0eXBlL1N0aWxsSW1hZ2UiLz48ZGM6dGl0bGU+R25vbWUgU3ltYm9saWMgSWNvbiBUaGVtZTwv
ZGM6dGl0bGU+PC9jYzpXb3JrPjwvcmRmOlJERj48L21ldGFkYXRhPjxnIGlkPSJsYXllcjkiIHRy
YW5zZm9ybT0idHJhbnNsYXRlKC0xMDEsLTM1NykiPjxwYXRoIGlkPSJwYXRoMTIxNDgiIHN0eWxl
PSJibG9jay1wcm9ncmVzc2lvbjp0Yjtjb2xvcjojYmViZWJlO2RpcmVjdGlvbjpsdHI7dGV4dC1p
bmRlbnQ6MDt0ZXh0LWFsaWduOnN0YXJ0O2VuYWJsZS1iYWNrZ3JvdW5kOmFjY3VtdWxhdGU7dGV4
dC10cmFuc2Zvcm06bm9uZTsiIGZpbGw9IiNiZWJlYmUiIGQ9Im0xMDQuNzUsMzU3LjA2Yy0yLjA2
MDIsMC0zLjc1LDEuNjg5OC0zLjc1LDMuNzV2NC40Mzc1YzAsMi4wNjAyLDEuNjg5OCwzLjc1LDMu
NzUsMy43NWg0LjkzNzVsMy43NSwyLjY1NjIsMS41OTM4LDEuMTI1di0xLjk2ODhsLTAuMDMxMy0y
LjVjMS4xMTA2LTAuNTk3MTUsMS45Njg4LTEuNjUyNiwxLjk2ODgtMy4wNjI1di00LjQzNzVjMC0y
LjA2MDItMS42ODk4LTMuNzUtMy43NS0zLjc1aC04LjQ2ODh6bTAsMiw4LjQ2ODgsMGMwLjk4Njgs
MCwxLjc1LDAuNzYzMiwxLjc1LDEuNzV2NC40Mzc1YzAsMC44NjI3My0wLjYzNTA4LDEuNTQxLTEu
MTI1LDEuNjI1bC0wLjg0LDAuMTJ2MC44NDM3NSwxLjAzMTJsLTIuNDA2Mi0xLjY4NzUtMC4yNS0w
LjE4NzVoLTAuMzEyNS01LjI4MTJjLTAuOTg2OCwwLTEuNzUtMC43NjMyLTEuNzUtMS43NXYtNC40
Mzc1YzAtMC45ODY4LDAuNzYzMi0xLjc1LDEuNzUtMS43NXoiLz48L2c+PC9zdmc+Jyk7Cit9CisK
K3ZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWNsb3NlZC1jYXB0aW9ucy1jb250YWluZXIg
eworICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbWVkaWEtY2xvc2VkLWNhcHRpb25zLWNvbnRhaW5l
cjsKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgZGlzcGxheTogYmxvY2s7CisgICAgcmln
aHQ6IDM4cHg7CisgICAgYm90dG9tOiAzNXB4OworICAgIG1heC13aWR0aDogLXdlYmtpdC1jYWxj
KDEwMCUgLSA0OHB4KTsgLyogcmlnaHQgKyAxMHB4ICovCisgICAgbWF4LWhlaWdodDogLXdlYmtp
dC1jYWxjKDEwMCUgLSAzNXB4KTsgLyogYm90dG9tICsgMTBweCAqLworICAgIG92ZXJmbG93LXg6
IGhpZGRlbjsKKyAgICBvdmVyZmxvdy15OiBhdXRvOworICAgIGJhY2tncm91bmQtY29sb3I6IHJn
YmEoMjAsIDIwLCAyMCwgMC44KTsKKyAgICBib3JkZXItcmFkaXVzOiAxMHB4OworICAgIGN1cnNv
cjogZGVmYXVsdDsKKyAgICB6LWluZGV4OiAyOworfQorCit2aWRlbzo6LXdlYmtpdC1tZWRpYS1j
b250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCB7CisgICAgZGlzcGxheTogYmxvY2s7
CisgICAgZm9udC1mYW1pbHk6ICJIZWx2ZXRpY2EgQm9sZCIsIEhlbHZldGljYTsKKyAgICBmb250
LXNpemU6IDEwcHQ7CisgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKK30KKwordmlkZW86
Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY2xvc2VkLWNhcHRpb25zLXRyYWNrLWxpc3QgaDMgewor
ICAgIG1hcmdpbjogMXB4IDMwcHg7CisgICAgY29sb3I6ICM3NTc1NzU7CisgICAgdGV4dC1zaGFk
b3c6IDAgMXB4IDAgYmxhY2s7CisgICAgcGFkZGluZy10b3A6IDBweDsKKyAgICBmb250LXdlaWdo
dDogYm9sZDsKKyAgICBmb250LXNpemU6IDEwcHQ7Cit9CisKK3ZpZGVvOjotd2Via2l0LW1lZGlh
LWNvbnRyb2xzLWNsb3NlZC1jYXB0aW9ucy10cmFjay1saXN0IHVsIHsKKyAgICBsaXN0LXN0eWxl
LXR5cGU6IG5vbmU7CisgICAgbWFyZ2luOiAwIDAgNHB4IDA7CisgICAgcGFkZGluZzogMDsKKyAg
ICBmb250LXdlaWdodDogYm9sZDsKK30KKwordmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMt
Y2xvc2VkLWNhcHRpb25zLXRyYWNrLWxpc3QgbGkgeworICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsK
KyAgICBjb2xvcjogd2hpdGU7CisgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsKKyAgICB0ZXh0
LXNoYWRvdzogMCAxcHggMCBibGFjazsKKyAgICBtYXJnaW46IDA7CisgICAgcGFkZGluZy1sZWZ0
OiAzN3B4OworICAgIHBhZGRpbmctcmlnaHQ6IDM1cHg7CisgICAgcGFkZGluZy10b3A6IDAuMTVl
bTsKKyAgICBwYWRkaW5nLWJvdHRvbTogMC4yZW07CisgICAgYm94LXNpemluZzogYm9yZGVyLWJv
eDsKKyAgICBvdmVyZmxvdzogaGlkZGVuOworICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CisgICAg
dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CisgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEo
MCwgMCwgMCwgMCk7CisgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwg
MCk7Cit9Cit2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJh
Y2stbGlzdCBsaS5zZWxlY3RlZCB7CisgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzAsIDIz
MCwgMjMwLCAwLjE1KTsKIH0KIAogYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtZnVsbHNj
cmVlbi1idXR0b24sIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWZ1bGxzY3JlZW4tYnV0
dG9uIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJv
bEVsZW1lbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVs
ZW1lbnRzLmNwcAppbmRleCA1ODVmZTQzOWQzMGY2MWVjODk4MWVjOTg3YjBjZDFlZmM5MWQ2MDMz
Li43MzIwZDYzZTIyNmZmNjc4YTI0ZmQ2OGQwYWJiMTA5YWUyM2M3OTFiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCkBAIC02
NzYsMTEgKzY3NiwxMSBAQCBjb25zdCBBdG9taWNTdHJpbmcmIE1lZGlhQ29udHJvbFJldHVyblRv
UmVhbHRpbWVCdXR0b25FbGVtZW50OjpzaGFkb3dQc2V1ZG9JZCgpCiAKIE1lZGlhQ29udHJvbFRv
Z2dsZUNsb3NlZENhcHRpb25zQnV0dG9uRWxlbWVudDo6TWVkaWFDb250cm9sVG9nZ2xlQ2xvc2Vk
Q2FwdGlvbnNCdXR0b25FbGVtZW50KERvY3VtZW50KiBkb2N1bWVudCwgTWVkaWFDb250cm9scyog
Y29udHJvbHMpCiAgICAgOiBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQoZG9jdW1lbnQsIE1lZGlh
U2hvd0Nsb3NlZENhcHRpb25zQnV0dG9uKQotI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0o
V0lOKQorI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShHVEsp
CiAgICAgLCBtX2NvbnRyb2xzKGNvbnRyb2xzKQogI2VuZGlmCiB7Ci0jaWYgIVBMQVRGT1JNKE1B
QykgJiYgIVBMQVRGT1JNKFdJTikKKyNpZiAhUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oV0lO
KSB8fCBQTEFURk9STShHVEspCiAgICAgVU5VU0VEX1BBUkFNKGNvbnRyb2xzKTsKICNlbmRpZgog
fQpAQCAtNzEwLDcgKzcxMCw3IEBAIHZvaWQgTWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlv
bnNCdXR0b25FbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBlCiAgICAgICAgIC8v
IFVJLiBOb3QgYWxsIHBvcnRzIG1heSB3YW50IHRoZSBjbG9zZWQgY2FwdGlvbnMgYnV0dG9uIHRv
IHRvZ2dsZSBhIGxpc3Qgb2YgdHJhY2tzLCBzbwogICAgICAgICAvLyB3ZSBoYXZlIHRvIHVzZSAj
aWYuCiAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDE4NzcKLSNpZiAhUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oV0lOKQorI2lmICFQTEFURk9S
TShNQUMpICYmICFQTEFURk9STShXSU4pICYmICFQTEFURk9STShHVEspCiAgICAgICAgIG1lZGlh
Q29udHJvbGxlcigpLT5zZXRDbG9zZWRDYXB0aW9uc1Zpc2libGUoIW1lZGlhQ29udHJvbGxlcigp
LT5jbG9zZWRDYXB0aW9uc1Zpc2libGUoKSk7CiAgICAgICAgIHNldENoZWNrZWQobWVkaWFDb250
cm9sbGVyKCktPmNsb3NlZENhcHRpb25zVmlzaWJsZSgpKTsKICAgICAgICAgdXBkYXRlRGlzcGxh
eVR5cGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29u
dHJvbEVsZW1lbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xF
bGVtZW50cy5oCmluZGV4IDY4MjYyZDM3N2QxMjZmOGIyZGE0YTNlOGFlODg1M2YxY2ZmODhlZmQu
LjM2OGE1ODFmNTkwYTQ1MzYwYzQ1ZGI0ZTU1NzQ3NTc0ZTlhYmQxZjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaApAQCAtMjgwLDcg
KzI4MCw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIHNoYWRv
d1BzZXVkb0lkKCkgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGRlZmF1bHRFdmVu
dEhhbmRsZXIoRXZlbnQqKSBPVkVSUklERTsKIAotI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZP
Uk0oV0lOKQorI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShH
VEspCiAgICAgTWVkaWFDb250cm9scyogbV9jb250cm9sczsKICNlbmRpZgogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sc0d0ay5jcHAKaW5kZXggNWVlYzA4
N2U5MGIzMTI0NTlmY2ZkOTY4OTljMDlhYjNlODgxOGZlZS4uOTBhZmM4OGNmNGM4MzBiZDM3Mzk0
ZTIxMmU1ODM5ZDgwZjZiZWI1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvTWVkaWFDb250cm9sc0d0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
TWVkaWFDb250cm9sc0d0ay5jcHAKQEAgLTM3LDYgKzM3LDggQEAgTWVkaWFDb250cm9sc0d0azo6
TWVkaWFDb250cm9sc0d0ayhEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBNZWRpYUNvbnRyb2xz
KGRvY3VtZW50KQogICAgICwgbV9kdXJhdGlvbkRpc3BsYXkoMCkKICAgICAsIG1fZW5jbG9zdXJl
KDApCisgICAgLCBtX2Nsb3NlZENhcHRpb25zVHJhY2tMaXN0KDApCisgICAgLCBtX2Nsb3NlZENh
cHRpb25zQ29udGFpbmVyKDApCiB7CiB9CiAKQEAgLTkxLDExICs5MywyNCBAQCBib29sIE1lZGlh
Q29udHJvbHNHdGs6OmluaXRpYWxpemVDb250cm9scyhEb2N1bWVudCogZG9jdW1lbnQpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAogICAgIGlmIChkb2N1bWVudC0+cGFnZSgpLT50aGVtZSgpLT5z
dXBwb3J0c0Nsb3NlZENhcHRpb25pbmcoKSkgeworICAgICAgICBSZWZQdHI8TWVkaWFDb250cm9s
Q2xvc2VkQ2FwdGlvbnNDb250YWluZXJFbGVtZW50PiBjbG9zZWRDYXB0aW9uc0NvbnRhaW5lciA9
IE1lZGlhQ29udHJvbENsb3NlZENhcHRpb25zQ29udGFpbmVyRWxlbWVudDo6Y3JlYXRlKGRvY3Vt
ZW50KTsKKworICAgICAgICBSZWZQdHI8TWVkaWFDb250cm9sQ2xvc2VkQ2FwdGlvbnNUcmFja0xp
c3RFbGVtZW50PiBjbG9zZWRDYXB0aW9uc1RyYWNrTGlzdCA9IE1lZGlhQ29udHJvbENsb3NlZENh
cHRpb25zVHJhY2tMaXN0RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50LCB0aGlzKTsKKyAgICAgICAg
bV9jbG9zZWRDYXB0aW9uc1RyYWNrTGlzdCA9IGNsb3NlZENhcHRpb25zVHJhY2tMaXN0LmdldCgp
OworICAgICAgICBjbG9zZWRDYXB0aW9uc0NvbnRhaW5lci0+YXBwZW5kQ2hpbGQoY2xvc2VkQ2Fw
dGlvbnNUcmFja0xpc3QucmVsZWFzZSgpLCBleGNlcHRpb25Db2RlLCBBdHRhY2hMYXppbHkpOwor
ICAgICAgICBpZiAoZXhjZXB0aW9uQ29kZSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKwog
ICAgICAgICBSZWZQdHI8TWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVt
ZW50PiB0b2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbiA9IE1lZGlhQ29udHJvbFRvZ2dsZUNsb3Nl
ZENhcHRpb25zQnV0dG9uRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50LCB0aGlzKTsKICAgICAgICAg
bV90b2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbiA9IHRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9u
LmdldCgpOwogICAgICAgICBwYW5lbC0+YXBwZW5kQ2hpbGQodG9nZ2xlQ2xvc2VkQ2FwdGlvbnNC
dXR0b24ucmVsZWFzZSgpLCBleGNlcHRpb25Db2RlLCBBdHRhY2hMYXppbHkpOwogICAgICAgICBp
ZiAoZXhjZXB0aW9uQ29kZSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBt
X2Nsb3NlZENhcHRpb25zQ29udGFpbmVyID0gY2xvc2VkQ2FwdGlvbnNDb250YWluZXIuZ2V0KCk7
CisgICAgICAgIGFwcGVuZENoaWxkKGNsb3NlZENhcHRpb25zQ29udGFpbmVyLnJlbGVhc2UoKSwg
ZXhjZXB0aW9uQ29kZSwgQXR0YWNoTGF6aWx5KTsKKyAgICAgICAgaWYgKGV4Y2VwdGlvbkNvZGUp
CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCiAgICAgUmVmUHRyPE1lZGlhQ29u
dHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50PiBmdWxsc2NyZWVuQnV0dG9uID0gTWVkaWFDb250
cm9sRnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCk7CkBAIC0xNDcsNiAr
MTYyLDEwIEBAIHZvaWQgTWVkaWFDb250cm9sc0d0azo6c2V0TWVkaWFDb250cm9sbGVyKE1lZGlh
Q29udHJvbGxlckludGVyZmFjZSogY29udHJvbGxlcikKICAgICAgICAgbV9kdXJhdGlvbkRpc3Bs
YXktPnNldE1lZGlhQ29udHJvbGxlcihjb250cm9sbGVyKTsKICAgICBpZiAobV9lbmNsb3N1cmUp
CiAgICAgICAgIG1fZW5jbG9zdXJlLT5zZXRNZWRpYUNvbnRyb2xsZXIoY29udHJvbGxlcik7Cisg
ICAgaWYgKG1fY2xvc2VkQ2FwdGlvbnNDb250YWluZXIpCisgICAgICAgIG1fY2xvc2VkQ2FwdGlv
bnNDb250YWluZXItPnNldE1lZGlhQ29udHJvbGxlcihjb250cm9sbGVyKTsKKyAgICBpZiAobV9j
bG9zZWRDYXB0aW9uc1RyYWNrTGlzdCkKKyAgICAgICAgbV9jbG9zZWRDYXB0aW9uc1RyYWNrTGlz
dC0+c2V0TWVkaWFDb250cm9sbGVyKGNvbnRyb2xsZXIpOwogfQogCiB2b2lkIE1lZGlhQ29udHJv
bHNHdGs6OnJlc2V0KCkKQEAgLTIyNyw2ICsyNDYsNDQgQEAgdm9pZCBNZWRpYUNvbnRyb2xzR3Rr
OjpjcmVhdGVUZXh0VHJhY2tEaXNwbGF5KCkKIH0KICNlbmRpZgogCit2b2lkIE1lZGlhQ29udHJv
bHNHdGs6OnRvZ2dsZUNsb3NlZENhcHRpb25UcmFja0xpc3QoKQoreworICAgIGlmICghbV9tZWRp
YUNvbnRyb2xsZXItPmhhc0Nsb3NlZENhcHRpb25zKCkpCisgICAgICAgIHJldHVybjsKKworICAg
IGlmIChtX2Nsb3NlZENhcHRpb25zQ29udGFpbmVyKSB7CisgICAgICAgIGlmIChtX2Nsb3NlZENh
cHRpb25zQ29udGFpbmVyLT5pc1Nob3dpbmcoKSkKKyAgICAgICAgICAgIGhpZGVDbG9zZWRDYXB0
aW9uVHJhY2tMaXN0KCk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgaWYgKG1fY2xvc2Vk
Q2FwdGlvbnNUcmFja0xpc3QpCisgICAgICAgICAgICAgICAgbV9jbG9zZWRDYXB0aW9uc1RyYWNr
TGlzdC0+dXBkYXRlRGlzcGxheSgpOworCisgICAgICAgICAgICBzaG93Q2xvc2VkQ2FwdGlvblRy
YWNrTGlzdCgpOworICAgICAgICB9CisgICAgfQorfQorCit2b2lkIE1lZGlhQ29udHJvbHNHdGs6
OnNob3dDbG9zZWRDYXB0aW9uVHJhY2tMaXN0KCkKK3sKKyAgICBtX3ZvbHVtZVNsaWRlckNvbnRh
aW5lci0+aGlkZSgpOworCisgICAgaWYgKCFtX2Nsb3NlZENhcHRpb25zQ29udGFpbmVyIHx8IG1f
Y2xvc2VkQ2FwdGlvbnNDb250YWluZXItPmlzU2hvd2luZygpKQorICAgICAgICByZXR1cm47CisK
KyAgICBtX2Nsb3NlZENhcHRpb25zQ29udGFpbmVyLT5zaG93KCk7CisKKyAgICBtX3BhbmVsLT5z
ZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5UG9pbnRlckV2ZW50cywgQ1NTVmFsdWVO
b25lKTsKIH0KIAordm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpoaWRlQ2xvc2VkQ2FwdGlvblRyYWNr
TGlzdCgpCit7CisgICAgaWYgKCFtX2Nsb3NlZENhcHRpb25zQ29udGFpbmVyIHx8ICFtX2Nsb3Nl
ZENhcHRpb25zQ29udGFpbmVyLT5pc1Nob3dpbmcoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
bV9jbG9zZWRDYXB0aW9uc0NvbnRhaW5lci0+aGlkZSgpOworCisgICAgbV9wYW5lbC0+cmVtb3Zl
SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVBvaW50ZXJFdmVudHMpOworfQorCit9CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJv
bHNHdGsuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuaApp
bmRleCBmNzA5OTY0ODQ4ZWI5YjQ0OTg3OTI1YTk1Mzc4OTNkYjFjZTg4MDI1Li45NThkMDk0NmE5
OTY4NzQwZjJkZmQ2Y2IwOTRlZmFlM2M4ZjRmZWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzR3RrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9zaGFkb3cvTWVkaWFDb250cm9sc0d0ay5oCkBAIC00Niw2ICs0Niw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIGNoYW5nZWRNdXRlKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUN1
cnJlbnRUaW1lRGlzcGxheSgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzaG93Vm9sdW1l
U2xpZGVyKCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHRvZ2dsZUNsb3NlZENhcHRpb25U
cmFja0xpc3QoKSBPVkVSUklERTsKIAogI2lmIEVOQUJMRShWSURFT19UUkFDSykKICAgICB2b2lk
IGNyZWF0ZVRleHRUcmFja0Rpc3BsYXkoKSBPVkVSUklERTsKQEAgLTU1LDExICs1NiwxNSBAQCBw
cm90ZWN0ZWQ6CiAgICAgZXhwbGljaXQgTWVkaWFDb250cm9sc0d0ayhEb2N1bWVudCopOwogCiAg
ICAgYm9vbCBpbml0aWFsaXplQ29udHJvbHMoRG9jdW1lbnQqKTsKKyAgICB2b2lkIHNob3dDbG9z
ZWRDYXB0aW9uVHJhY2tMaXN0KCk7CisgICAgdm9pZCBoaWRlQ2xvc2VkQ2FwdGlvblRyYWNrTGlz
dCgpOwogCiBwcml2YXRlOgogICAgIE1lZGlhQ29udHJvbFRpbWVSZW1haW5pbmdEaXNwbGF5RWxl
bWVudCogbV9kdXJhdGlvbkRpc3BsYXk7CiAgICAgTWVkaWFDb250cm9sUGFuZWxFbmNsb3N1cmVF
bGVtZW50KiBtX2VuY2xvc3VyZTsKICAgICBNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJDb250YWlu
ZXJFbGVtZW50KiBtX3ZvbHVtZVNsaWRlckNvbnRhaW5lcjsKKyAgICBNZWRpYUNvbnRyb2xDbG9z
ZWRDYXB0aW9uc1RyYWNrTGlzdEVsZW1lbnQqIG1fY2xvc2VkQ2FwdGlvbnNUcmFja0xpc3Q7Cisg
ICAgTWVkaWFDb250cm9sQ2xvc2VkQ2FwdGlvbnNDb250YWluZXJFbGVtZW50KiBtX2Nsb3NlZENh
cHRpb25zQ29udGFpbmVyOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsv
UmVuZGVyVGhlbWVHdGsuaAppbmRleCBhOGM5NzM1YzcwNzM1MzZiM2EyMjkyZTg2MDRhNDc2ZTcy
YjU3M2QwLi41ZTUzNDc2NDA5NWE4MTAwNzBiZGJkNmZhMzYyZWViZjM2Y2RhMTEwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGsuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGsuaApAQCAtODcsNiArODcs
NyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKFZJREVPKQogICAgIHZpcnR1YWwgU3RyaW5nIGV4dHJh
TWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKTsKICAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXRNZWRp
YUNvbnRyb2xzQ3VycmVudFRpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9uKSBj
b25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNDbG9zZWRDYXB0aW9uaW5nKCkgY29uc3Qg
T1ZFUlJJREUgeyByZXR1cm4gdHJ1ZTsgfQogCiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQog
ICAgIHZpcnR1YWwgU3RyaW5nIGV4dHJhRnVsbFNjcmVlblN0eWxlU2hlZXQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmNwcAppbmRl
eCA1M2E1NDdhMWZiNGZmMzU5YjA3Njg0NThhNzE0NTQ0Yzc1MDM3YzNiLi5mMmMyM2Q2ZmNkODVh
NjhhNzg1NWYxMDhkZTkxYzcxZDZhOTFjYTgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuY3BwCkBAIC0xMzUsNyArMTM1LDggQEAg
ZW51bSB7CiAgICAgUFJPUF9VU0VSX0FHRU5ULAogICAgIFBST1BfRU5BQkxFX1NNT09USF9TQ1JP
TExJTkcsCiAgICAgUFJPUF9FTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTLAotICAgIFBST1Bf
RU5BQkxFX1dSSVRFX0NPTlNPTEVfTUVTU0FHRVNfVE9fU1RET1VUCisgICAgUFJPUF9FTkFCTEVf
V1JJVEVfQ09OU09MRV9NRVNTQUdFU19UT19TVERPVVQsCisgICAgUFJPUF9FTkFCTEVfU1VCVElU
TEVTCiB9OwogCiBzdGF0aWMgdm9pZCB3ZWJLaXRTZXR0aW5nc0NvbnN0cnVjdGVkKEdPYmplY3Qq
IG9iamVjdCkKQEAgLTI5NSw2ICsyOTYsOSBAQCBzdGF0aWMgdm9pZCB3ZWJLaXRTZXR0aW5nc1Nl
dFByb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcElkLCBjb25zdCBHVmFsdQogICAg
IGNhc2UgUFJPUF9FTkFCTEVfV1JJVEVfQ09OU09MRV9NRVNTQUdFU19UT19TVERPVVQ6CiAgICAg
ICAgIHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3dyaXRlX2NvbnNvbGVfbWVzc2FnZXNfdG9f
c3Rkb3V0KHNldHRpbmdzLCBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKSk7CiAgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgUFJPUF9FTkFCTEVfU1VCVElUTEVTOgorICAgICAgICB3ZWJraXRfc2V0
dGluZ3Nfc2V0X2VuYWJsZV9zdWJ0aXRsZXMoc2V0dGluZ3MsIGdfdmFsdWVfZ2V0X2Jvb2xlYW4o
dmFsdWUpKTsKKyAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgR19PQkpFQ1Rf
V0FSTl9JTlZBTElEX1BST1BFUlRZX0lEKG9iamVjdCwgcHJvcElkLCBwYXJhbVNwZWMpOwogICAg
ICAgICBicmVhazsKQEAgLTQ0MSw2ICs0NDUsOSBAQCBzdGF0aWMgdm9pZCB3ZWJLaXRTZXR0aW5n
c0dldFByb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcElkLCBHVmFsdWUqIHZhbAog
ICAgIGNhc2UgUFJPUF9FTkFCTEVfV1JJVEVfQ09OU09MRV9NRVNTQUdFU19UT19TVERPVVQ6CiAg
ICAgICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHdlYmtpdF9zZXR0aW5nc19nZXRfZW5h
YmxlX3dyaXRlX2NvbnNvbGVfbWVzc2FnZXNfdG9fc3Rkb3V0KHNldHRpbmdzKSk7CiAgICAgICAg
IGJyZWFrOworICAgIGNhc2UgUFJPUF9FTkFCTEVfU1VCVElUTEVTOgorICAgICAgICBnX3ZhbHVl
X3NldF9ib29sZWFuKHZhbHVlLCB3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9zdWJ0aXRsZXMo
c2V0dGluZ3MpKTsKKyAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgR19PQkpF
Q1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lEKG9iamVjdCwgcHJvcElkLCBwYXJhbVNwZWMpOwog
ICAgICAgICBicmVhazsKQEAgLTExMzMsNiArMTE0MCwyMCBAQCBzdGF0aWMgdm9pZCB3ZWJraXRf
c2V0dGluZ3NfY2xhc3NfaW5pdChXZWJLaXRTZXR0aW5nc0NsYXNzKiBrbGFzcykKICAgICAgICAg
ICAgIEZBTFNFLAogICAgICAgICAgICAgcmVhZFdyaXRlQ29uc3RydWN0UGFyYW1GbGFncykpOwog
CisgICAgLyoqCisgICAgICogV2ViS2l0U2V0dGluZ3M6ZW5hYmxlLXN1YnRpdGxlczoKKyAgICAg
KgorICAgICAqIEVuYWJsZSBvciBkaXNhYmxlIHNob3dpbmcgdGhlIHN1YnRpdGxlIHRyYWNrIGZv
ciBIVE1MIHZpZGVvLgorICAgICAqCisgICAgICogU2luY2U6IDIuMworICAgICAqLworICAgIGdf
b2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ09iamVjdENsYXNzLAorICAgICAgICBQUk9Q
X0VOQUJMRV9TVUJUSVRMRVMsCisgICAgICAgIGdfcGFyYW1fc3BlY19ib29sZWFuKCJlbmFibGUt
c3VidGl0bGVzIiwKKyAgICAgICAgICAgIF8oIkVuYWJsZSBzdWJ0aXRsZSB0cmFja3MiKSwKKyAg
ICAgICAgICAgIF8oIldoZXRoZXIgdG8gZGlzcGxheSBzdWJ0aXRsZXMiKSwKKyAgICAgICAgICAg
IFRSVUUsCisgICAgICAgICAgICByZWFkV3JpdGVDb25zdHJ1Y3RQYXJhbUZsYWdzKSk7CiB9CiAK
IFdlYlByZWZlcmVuY2VzKiB3ZWJraXRTZXR0aW5nc0dldFByZWZlcmVuY2VzKFdlYktpdFNldHRp
bmdzKiBzZXR0aW5ncykKQEAgLTExNTEsNyArMTE3MiwxMCBAQCBXZWJQcmVmZXJlbmNlcyogd2Vi
a2l0U2V0dGluZ3NHZXRQcmVmZXJlbmNlcyhXZWJLaXRTZXR0aW5ncyogc2V0dGluZ3MpCiAgKi8K
IFdlYktpdFNldHRpbmdzKiB3ZWJraXRfc2V0dGluZ3NfbmV3KCkKIHsKLSAgICByZXR1cm4gV0VC
S0lUX1NFVFRJTkdTKGdfb2JqZWN0X25ldyhXRUJLSVRfVFlQRV9TRVRUSU5HUywgTlVMTCkpOwor
ICAgIFdlYktpdFNldHRpbmdzKiBzZXR0aW5ncyA9IFdFQktJVF9TRVRUSU5HUyhnX29iamVjdF9u
ZXcoV0VCS0lUX1RZUEVfU0VUVElOR1MsIE5VTEwpKTsKKyAgICBzZXR0aW5ncy0+cHJpdi0+cHJl
ZmVyZW5jZXMtPnNldFNob3VsZERpc3BsYXlTdWJ0aXRsZXMoVFJVRSk7CisKKyAgICByZXR1cm4g
c2V0dGluZ3M7CiB9CiAKIC8qKgpAQCAtMjc5NiwzICsyODIwLDQyIEBAIHZvaWQgd2Via2l0X3Nl
dHRpbmdzX3NldF9lbmFibGVfd3JpdGVfY29uc29sZV9tZXNzYWdlc190b19zdGRvdXQoV2ViS2l0
U2V0dGluZ3MqCiAgICAgcHJpdi0+cHJlZmVyZW5jZXMtPnNldExvZ3NQYWdlTWVzc2FnZXNUb1N5
c3RlbUNvbnNvbGVFbmFibGVkKGVuYWJsZWQpOwogICAgIGdfb2JqZWN0X25vdGlmeShHX09CSkVD
VChzZXR0aW5ncyksICJlbmFibGUtd3JpdGUtY29uc29sZS1tZXNzYWdlcy10by1zdGRvdXQiKTsK
IH0KKworLyoqCisgKiB3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9zdWJ0aXRsZXM6CisgKiBA
c2V0dGluZ3M6IGEgI1dlYktpdFNldHRpbmdzCisgKgorICogR2V0IHRoZSAjV2ViS2l0U2V0dGlu
Z3M6ZW5hYmxlLXN1YnRpdGxlcyBwcm9wZXJ0eS4KKyAqCisgKiBSZXR1cm5zOiAlVFJVRSBpZiBz
dWJ0aXRsZXMgYXJlIGFsbG93ZWQgdG8gYmUgZGlzcGxheWVkLCBvciAlRkFMU0UKKyAqIG90aGVy
d2lzZS4KKyAqCisgKiBTaW5jZTogMi4zCisgKi8KK2dib29sZWFuIHdlYmtpdF9zZXR0aW5nc19n
ZXRfZW5hYmxlX3N1YnRpdGxlcyhXZWJLaXRTZXR0aW5ncyogc2V0dGluZ3MpCit7CisgICAgZ19y
ZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1NFVFRJTkdTKHNldHRpbmdzKSwgRkFMU0UpOwor
CisgICAgcmV0dXJuIHNldHRpbmdzLT5wcml2LT5wcmVmZXJlbmNlcy0+c2hvdWxkRGlzcGxheVN1
YnRpdGxlcygpOworfQorCisvKioKKyAqIHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3N1YnRp
dGxlczoKKyAqIEBzZXR0aW5nczogYSAjV2ViS2l0U2V0dGluZ3MKKyAqIEBlbmFibGVkOiBWYWx1
ZSB0byBiZSBzZXQKKyAqCisgKiBTZXQgdGhlICNXZWJLaXRTZXR0aW5nczplbmFibGUtc3VidGl0
bGVzIHByb3BlcnR5LgorICoKKyAqIFNpbmNlOiAyLjMKKyAqLwordm9pZCB3ZWJraXRfc2V0dGlu
Z3Nfc2V0X2VuYWJsZV9zdWJ0aXRsZXMoV2ViS2l0U2V0dGluZ3MqIHNldHRpbmdzLCBnYm9vbGVh
biBlbmFibGVkKQoreworICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0lTX1NFVFRJTkdTKHNl
dHRpbmdzKSk7CisKKyAgICBXZWJLaXRTZXR0aW5nc1ByaXZhdGUqIHByaXYgPSBzZXR0aW5ncy0+
cHJpdjsKKyAgICBpZiAocHJpdi0+cHJlZmVyZW5jZXMtPnNob3VsZERpc3BsYXlTdWJ0aXRsZXMo
KSA9PSBlbmFibGVkKQorICAgICAgICByZXR1cm47CisKKyAgICBwcml2LT5wcmVmZXJlbmNlcy0+
c2V0U2hvdWxkRGlzcGxheVN1YnRpdGxlcyhlbmFibGVkKTsKKyAgICBnX29iamVjdF9ub3RpZnko
R19PQkpFQ1Qoc2V0dGluZ3MpLCAiZW5hYmxlLXN1YnRpdGxlcyIpOworfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuaCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmgKaW5kZXggYTkwNGQw
ZWI2N2JiNjBkZjg3MzJhOTc4NmU3YzAwNWRkYTg0ZTllZS4uOTg0ZWJhZDkzZTI2NjUwY2M3MTU2
N2EyNWFkZTMxZWM4NzA2YmUzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5oCkBAIC0zOTMsNiArMzkzLDEzIEBAIFdFQktJVF9BUEkg
dm9pZAogd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfd3JpdGVfY29uc29sZV9tZXNzYWdlc190
b19zdGRvdXQgICAgKFdlYktpdFNldHRpbmdzICpzZXR0aW5ncywKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYm9vbGVhbiAg
ICAgICAgZW5hYmxlZCk7CiAKK1dFQktJVF9BUEkgZ2Jvb2xlYW4KK3dlYmtpdF9zZXR0aW5nc19n
ZXRfZW5hYmxlX3N1YnRpdGxlcyAgICAgICAgICAgICAgICAgICAgICAgICAgIChXZWJLaXRTZXR0
aW5ncyAqc2V0dGluZ3MpOworCitXRUJLSVRfQVBJIHZvaWQKK3dlYmtpdF9zZXR0aW5nc19zZXRf
ZW5hYmxlX3N1YnRpdGxlcyAgICAgICAgICAgICAgICAgICAgICAgICAgIChXZWJLaXRTZXR0aW5n
cyAqc2V0dGluZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZ2Jvb2xlYW4gICAgICAgIGVuYWJsZWQpOworCiBHX0VORF9E
RUNMUwogCiAjZW5kaWYgLyogV2ViS2l0U2V0dGluZ3NfaCAqLwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLXNlY3Rpb25zLnR4dCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay1zZWN0aW9u
cy50eHQKaW5kZXggZjI4MGM2MmRmMjlmMjZiMzIyNjJjZGFkZjJlOGRhMzNjMWQ5Yjk5MC4uYWMw
YWI2NTFlYWE4YTgyOGM4M2IzYTM1YjE3OTc2ZjgxYWE0YWFkNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLXNlY3Rpb25zLnR4dAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstc2Vj
dGlvbnMudHh0CkBAIC0zMjEsNiArMzIxLDggQEAgd2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVf
YWNjZWxlcmF0ZWRfMmRfY2FudmFzCiB3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9hY2NlbGVy
YXRlZF8yZF9jYW52YXMKIHdlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3dyaXRlX2NvbnNvbGVf
bWVzc2FnZXNfdG9fc3Rkb3V0CiB3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV93cml0ZV9jb25z
b2xlX21lc3NhZ2VzX3RvX3N0ZG91dAord2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfc3VidGl0
bGVzCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9zdWJ0aXRsZXMKIAogPFNVQlNFQ1RJT04g
U3RhbmRhcmQ+CiBXZWJLaXRTZXR0aW5nc0NsYXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy9UZXN0V2ViS2l0U2V0dGluZ3MuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvVGVzdFdlYktpdFNldHRpbmdzLmNwcApp
bmRleCAxZWUzODQzZjlkNDg1YWQ0YjhmMzFjOTNlN2NhMmM4ZGYzNTQ4NjM0Li4xNWI0NDBmNjk1
OThmOTJlMGNmNjVkYzhjYjc5YTE0MjQzMTBlZTNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy9UZXN0V2ViS2l0U2V0dGluZ3MuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL1Rlc3RXZWJLaXRTZXR0aW5ncy5j
cHAKQEAgLTI1OCw2ICsyNTgsMTEgQEAgc3RhdGljIHZvaWQgdGVzdFdlYktpdFNldHRpbmdzKFRl
c3QqLCBnY29uc3Rwb2ludGVyKQogICAgIHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3dyaXRl
X2NvbnNvbGVfbWVzc2FnZXNfdG9fc3Rkb3V0KHNldHRpbmdzLCBUUlVFKTsKICAgICBnX2Fzc2Vy
dCh3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV93cml0ZV9jb25zb2xlX21lc3NhZ2VzX3RvX3N0
ZG91dChzZXR0aW5ncykpOwogCisgICAgLy8gQnkgZGVmYXVsdCwgZGlzcGxheWluZyBzdWJ0aXRs
ZXMgaXMgZGlzYWJsZWQuCisgICAgZ19hc3NlcnQoIXdlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxl
X3N1YnRpdGxlcyhzZXR0aW5ncykpOworICAgIHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3N1
YnRpdGxlcyhzZXR0aW5ncywgVFJVRSk7CisgICAgZ19hc3NlcnQod2Via2l0X3NldHRpbmdzX2dl
dF9lbmFibGVfc3VidGl0bGVzKHNldHRpbmdzKSk7CisKICAgICBnX29iamVjdF91bnJlZihHX09C
SkVDVChzZXR0aW5ncykpOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>208946</attachid>
            <date>2013-08-16 12:48:45 -0700</date>
            <delta_ts>2013-08-18 07:04:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117008-20130816224842.patch</filename>
            <type>text/plain</type>
            <size>17332</size>
            <attacher name="Danilo de Paula">danilo.eu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0MDQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTJhZTIwNjQ0MjlhZjI2
OGU2Njc0ZDQ4M2IzNjE5YjJlNjBmZjdiOS4uNDZmOWE0YjA1OTk2ODg1ZjVjNTczNDE2M2JiMTI1
ZTQ5MGM2ZWQwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEzLTA4LTE1ICBEYW5p
bG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgor
CisgICAgICAgIFtXSzJdW0dUS10gYWRkIHN1cHBvcnQgZm9yIHN1YnRpdGxlcyBvbiB3ZWJraXQy
R1RLCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTcw
MDgKKworICAgICAgICBCeSBhY3RpdmF0aW5nIHN1YnRpdGxlcyBzdXBwb3J0IG9uIHdlYmtpdDJH
VEssIHRoZSB2aWRlbyBwbGF5ZXIKKyAgICAgICAgcmVjb2duaXplcyBhbmQgdXNlIHRleHQgPHRy
YWNrcz4gaW5zaWRlIDx2aWRlbz4gZWxlbWVudHMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBjc3MvbWVkaWFDb250cm9sc0d0ay5jc3M6CisgICAg
ICAgIChhdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10b2dnbGUtY2xvc2VkLWNhcHRpb25z
LWJ1dHRvbiwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdG9nZ2xlLWNsb3NlZC1jYXB0
aW9ucy1idXR0b24pOgorICAgICAgICAodmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY2xv
c2VkLWNhcHRpb25zLWNvbnRhaW5lcik6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1tZWRpYS1j
b250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCk6CisgICAgICAgICh2aWRlbzo6LXdl
YmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBoMyk6CisgICAg
ICAgICh2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2st
bGlzdCB1bCk6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQt
Y2FwdGlvbnMtdHJhY2stbGlzdCBsaSk6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1tZWRpYS1j
b250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBsaS5zZWxlY3RlZCk6CisgICAgICAg
ICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50OjpNZWRpYUNv
bnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50OjpkZWZhdWx0
RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50
cy5oOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0d0azo6TWVkaWFDb250cm9sc0d0ayk6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzR3RrOjppbml0aWFsaXplQ29udHJvbHMpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0d0azo6c2V0TWVkaWFDb250cm9sbGVyKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbHNHdGs6OnRvZ2dsZUNsb3NlZENhcHRpb25UcmFja0xp
c3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0d0azo6c2hvd0Nsb3NlZENhcHRp
b25UcmFja0xpc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0d0azo6aGlkZUNs
b3NlZENhcHRpb25UcmFja0xpc3QpOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJv
bHNHdGsuaDoKKyAgICAgICAgKiBwYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FwdGlvblVzZXJQcmVmZXJlbmNlczo6c29ydGVkVHJhY2tMaXN0Rm9y
TWVudSk6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrLmg6CisKIDIwMTMt
MDgtMTYgIERhbmlsbyBDZXNhciBMZW1lcyBkZSBQYXVsYSAgPGRhbmlsby5jZXNhckBjb2xsYWJv
cmEuY28udWs+CiAKICAgICAgICAgW0dUS10gZml4aW5nIGxvY2FsaXplZFN0cmluZyBtZXRob2Qg
bmFtZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCmluZGV4IGUxYWQyN2Y4YjU4ODNjZWJkYTZlZDI2YzVkYzY1OTRkNTc5ZTQ5
NDQuLjk0NjE3ZTEyOGU1NDIzZTcwYTk0MGRkZjgyZmNkYzM2ZjgyMjRiOWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNyBAQAorMjAxMy0wOC0xNSAgRGFuaWxvIENlc2FyIExlbWVzIGRlIFBhdWxh
ICA8ZGFuaWxvLmNlc2FyQGNvbGxhYm9yYS5jby51az4KKworICAgICAgICBbV0syXVtHVEtdIGFk
ZCBzdXBwb3J0IGZvciBzdWJ0aXRsZXMgb24gd2Via2l0MkdUSworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3MDA4CisKKyAgICAgICAgQnkgYWN0aXZh
dGluZyBzdWJ0aXRsZXMgc3VwcG9ydCBvbiB3ZWJraXQyR1RLLCB0aGUgdmlkZW8gcGxheWVyCisg
ICAgICAgIHJlY29nbml6ZXMgYW5kIHVzZSB0ZXh0IDx0cmFja3M+IGluc2lkZSA8dmlkZW8+IGVs
ZW1lbnRzLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuY3BwOgorICAgICAgICAod2Via2l0
X3NldHRpbmdzX2NsYXNzX2luaXQpOgorICAgICAgICAod2Via2l0X3NldHRpbmdzX25ldyk6CisK
IDIwMTMtMDgtMTIgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBG
aXhlZCBhbiBvZmYtYnktKHNpemVvZihjaGFyKikgLSAxKSBidWcuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvbWVkaWFDb250cm9sc0d0ay5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
bWVkaWFDb250cm9sc0d0ay5jc3MKaW5kZXggNTcyOWQ0NTg3MjFhMGQ4MjFmMDkwYmNlM2UyZmVi
YmMyMzMyOGJkNy4uYTlhMGYwMGQyZjMwYTliNDRlMTg0OTQ2MmY1ZmNkNDcwMWY1MDBlYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL21lZGlhQ29udHJvbHNHdGsuY3NzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9tZWRpYUNvbnRyb2xzR3RrLmNzcwpAQCAtMjIyLDYgKzIyMiw3MCBA
QCBhdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10b2dnbGUtY2xvc2VkLWNhcHRpb25zLWJ1
dHRvbiwgdmlkZW86Oi13ZWJraXQtbWVkaQogICAgIGhlaWdodDogMzBweDsKICAgICBsaW5lLWhl
aWdodDogMzBweDsKICAgICBtYXJnaW46IDAgOXB4IDAgLTdweDsKKyAgICBiYWNrZ3JvdW5kLXJl
cGVhdDpuby1yZXBlYXQ7CisgICAgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXI7CisgICAgb3Bh
Y2l0eTogMC41OworICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1s
LDxzdmcgaWQ9InN2ZzczODQiIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8y
Mi1yZGYtc3ludGF4LW5zIyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBoZWln
aHQ9IjE2IiB3aWR0aD0iMTYiIHZlcnNpb249IjEuMSIgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2
ZWNvbW1vbnMub3JnL25zIyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8x
LjEvIj48bWV0YWRhdGEgaWQ9Im1ldGFkYXRhOTAiPjxyZGY6UkRGPjxjYzpXb3JrIHJkZjphYm91
dD0iIj48ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD48ZGM6dHlwZSByZGY6cmVz
b3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIi8+PGRjOnRpdGxl
Pkdub21lIFN5bWJvbGljIEljb24gVGhlbWU8L2RjOnRpdGxlPjwvY2M6V29yaz48L3JkZjpSREY+
PC9tZXRhZGF0YT48ZyBpZD0ibGF5ZXI5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTAxLC0zNTcp
Ij48cGF0aCBpZD0icGF0aDEyMTQ4IiBzdHlsZT0iYmxvY2stcHJvZ3Jlc3Npb246dGI7Y29sb3I6
I2JlYmViZTtkaXJlY3Rpb246bHRyO3RleHQtaW5kZW50OjA7dGV4dC1hbGlnbjpzdGFydDtlbmFi
bGUtYmFja2dyb3VuZDphY2N1bXVsYXRlO3RleHQtdHJhbnNmb3JtOm5vbmU7IiBmaWxsPSIjYmVi
ZWJlIiBkPSJtMTA0Ljc1LDM1Ny4wNmMtMi4wNjAyLDAtMy43NSwxLjY4OTgtMy43NSwzLjc1djQu
NDM3NWMwLDIuMDYwMiwxLjY4OTgsMy43NSwzLjc1LDMuNzVoNC45Mzc1bDMuNzUsMi42NTYyLDEu
NTkzOCwxLjEyNXYtMS45Njg4bC0wLjAzMTMtMi41YzEuMTEwNi0wLjU5NzE1LDEuOTY4OC0xLjY1
MjYsMS45Njg4LTMuMDYyNXYtNC40Mzc1YzAtMi4wNjAyLTEuNjg5OC0zLjc1LTMuNzUtMy43NWgt
OC40Njg4em0wLDIsOC40Njg4LDBjMC45ODY4LDAsMS43NSwwLjc2MzIsMS43NSwxLjc1djQuNDM3
NWMwLDAuODYyNzMtMC42MzUwOCwxLjU0MS0xLjEyNSwxLjYyNWwtMC44NCwwLjEydjAuODQzNzUs
MS4wMzEybC0yLjQwNjItMS42ODc1LTAuMjUtMC4xODc1aC0wLjMxMjUtNS4yODEyYy0wLjk4Njgs
MC0xLjc1LTAuNzYzMi0xLjc1LTEuNzV2LTQuNDM3NWMwLTAuOTg2OCwwLjc2MzItMS43NSwxLjc1
LTEuNzV6Ii8+PC9nPjwvc3ZnPicpOworfQorCit2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9s
cy1jbG9zZWQtY2FwdGlvbnMtY29udGFpbmVyIHsKKyAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG1l
ZGlhLWNsb3NlZC1jYXB0aW9ucy1jb250YWluZXI7CisgICAgcG9zaXRpb246IGFic29sdXRlOwor
ICAgIGRpc3BsYXk6IGJsb2NrOworICAgIHJpZ2h0OiAzOHB4OworICAgIGJvdHRvbTogMzVweDsK
KyAgICBtYXgtd2lkdGg6IC13ZWJraXQtY2FsYygxMDAlIC0gNDhweCk7IC8qIHJpZ2h0ICsgMTBw
eCAqLworICAgIG1heC1oZWlnaHQ6IC13ZWJraXQtY2FsYygxMDAlIC0gMzVweCk7IC8qIGJvdHRv
bSArIDEwcHggKi8KKyAgICBvdmVyZmxvdy14OiBoaWRkZW47CisgICAgb3ZlcmZsb3cteTogYXV0
bzsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwLCAyMCwgMjAsIDAuOCk7CisgICAgYm9y
ZGVyLXJhZGl1czogMTBweDsKKyAgICBjdXJzb3I6IGRlZmF1bHQ7CisgICAgei1pbmRleDogMjsK
K30KKwordmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY2xvc2VkLWNhcHRpb25zLXRyYWNr
LWxpc3QgeworICAgIGRpc3BsYXk6IGJsb2NrOworICAgIGZvbnQtZmFtaWx5OiAiSGVsdmV0aWNh
IEJvbGQiLCBIZWx2ZXRpY2E7CisgICAgZm9udC1zaXplOiAxMHB0OworICAgIC13ZWJraXQtdXNl
ci1zZWxlY3Q6IG5vbmU7Cit9CisKK3ZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWNsb3Nl
ZC1jYXB0aW9ucy10cmFjay1saXN0IGgzIHsKKyAgICBtYXJnaW46IDFweCAzMHB4OworICAgIGNv
bG9yOiAjNzU3NTc1OworICAgIHRleHQtc2hhZG93OiAwIDFweCAwIGJsYWNrOworICAgIHBhZGRp
bmctdG9wOiAwcHg7CisgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CisgICAgZm9udC1zaXplOiAxMHB0
OworfQorCit2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJh
Y2stbGlzdCB1bCB7CisgICAgbGlzdC1zdHlsZS10eXBlOiBub25lOworICAgIG1hcmdpbjogMCAw
IDRweCAwOworICAgIHBhZGRpbmc6IDA7CisgICAgZm9udC13ZWlnaHQ6IGJvbGQ7Cit9CisKK3Zp
ZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWNsb3NlZC1jYXB0aW9ucy10cmFjay1saXN0IGxp
IHsKKyAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgY29sb3I6IHdoaXRlOworICAgIGJhY2tn
cm91bmQtaW1hZ2U6IG5vbmU7CisgICAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgYmxhY2s7CisgICAg
bWFyZ2luOiAwOworICAgIHBhZGRpbmctbGVmdDogMzdweDsKKyAgICBwYWRkaW5nLXJpZ2h0OiAz
NXB4OworICAgIHBhZGRpbmctdG9wOiAwLjE1ZW07CisgICAgcGFkZGluZy1ib3R0b206IDAuMmVt
OworICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CisgICAgb3ZlcmZsb3c6IGhpZGRlbjsKKyAg
ICB3aGl0ZS1zcGFjZTogbm93cmFwOworICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOworICAg
IGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApOworICAgIGJvcmRlci1ib3R0
b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApOworfQordmlkZW86Oi13ZWJraXQtbWVkaWEt
Y29udHJvbHMtY2xvc2VkLWNhcHRpb25zLXRyYWNrLWxpc3QgbGkuc2VsZWN0ZWQgeworICAgIGJh
Y2tncm91bmQtY29sb3I6IHJnYmEoMjMwLCAyMzAsIDIzMCwgMC4xNSk7CiB9CiAKIGF1ZGlvOjot
d2Via2l0LW1lZGlhLWNvbnRyb2xzLWZ1bGxzY3JlZW4tYnV0dG9uLCB2aWRlbzo6LXdlYmtpdC1t
ZWRpYS1jb250cm9scy1mdWxsc2NyZWVuLWJ1dHRvbiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKaW5kZXggMWY0ZDM3YmU2MTIx
ZGJjZmU5MjM1ZDUyNzU0MmQxYWE3NjEyMDJjMS4uZjlhMGVjNzhiOTRjZDg5MmE5NjU5MTcyYTZi
ZmMwZWU4NTMwZmMwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVk
aWFDb250cm9sRWxlbWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01l
ZGlhQ29udHJvbEVsZW1lbnRzLmNwcApAQCAtNjc3LDExICs2NzcsMTEgQEAgY29uc3QgQXRvbWlj
U3RyaW5nJiBNZWRpYUNvbnRyb2xSZXR1cm5Ub1JlYWx0aW1lQnV0dG9uRWxlbWVudDo6c2hhZG93
UHNldWRvSWQoKQogCiBNZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1l
bnQ6Ok1lZGlhQ29udHJvbFRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uRWxlbWVudChEb2N1bWVu
dCogZG9jdW1lbnQsIE1lZGlhQ29udHJvbHMqIGNvbnRyb2xzKQogICAgIDogTWVkaWFDb250cm9s
SW5wdXRFbGVtZW50KGRvY3VtZW50LCBNZWRpYVNob3dDbG9zZWRDYXB0aW9uc0J1dHRvbikKLSNp
ZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFdJTikKKyNpZiBQTEFURk9STShNQUMpIHx8IFBM
QVRGT1JNKFdJTikgfHwgUExBVEZPUk0oR1RLKQogICAgICwgbV9jb250cm9scyhjb250cm9scykK
ICNlbmRpZgogewotI2lmICFQTEFURk9STShNQUMpICYmICFQTEFURk9STShXSU4pCisjaWYgIVBM
QVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oR1RLKQogICAgIFVOVVNF
RF9QQVJBTShjb250cm9scyk7CiAjZW5kaWYKIH0KQEAgLTcxMSw3ICs3MTEsNyBAQCB2b2lkIE1l
ZGlhQ29udHJvbFRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uRWxlbWVudDo6ZGVmYXVsdEV2ZW50
SGFuZGxlcihFdmVudCogZQogICAgICAgICAvLyBVSS4gTm90IGFsbCBwb3J0cyBtYXkgd2FudCB0
aGUgY2xvc2VkIGNhcHRpb25zIGJ1dHRvbiB0byB0b2dnbGUgYSBsaXN0IG9mIHRyYWNrcywgc28K
ICAgICAgICAgLy8gd2UgaGF2ZSB0byB1c2UgI2lmLgogICAgICAgICAvLyBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxODc3Ci0jaWYgIVBMQVRGT1JNKE1BQykgJiYg
IVBMQVRGT1JNKFdJTikKKyNpZiAhUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oV0lOKSAmJiAh
UExBVEZPUk0oR1RLKQogICAgICAgICBtZWRpYUNvbnRyb2xsZXIoKS0+c2V0Q2xvc2VkQ2FwdGlv
bnNWaXNpYmxlKCFtZWRpYUNvbnRyb2xsZXIoKS0+Y2xvc2VkQ2FwdGlvbnNWaXNpYmxlKCkpOwog
ICAgICAgICBzZXRDaGVja2VkKG1lZGlhQ29udHJvbGxlcigpLT5jbG9zZWRDYXB0aW9uc1Zpc2li
bGUoKSk7CiAgICAgICAgIHVwZGF0ZURpc3BsYXlUeXBlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaAppbmRleCA2ODI2MmQzNzdkMTI2
ZjhiMmRhNGEzZThhZTg4NTNmMWNmZjg4ZWZkLi4zNjhhNTgxZjU5MGE0NTM2MGM0NWRiNGU1NTc0
NzU3NGU5YWJkMWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRp
YUNvbnRyb2xFbGVtZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlh
Q29udHJvbEVsZW1lbnRzLmgKQEAgLTI4MCw3ICsyODAsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1
YWwgY29uc3QgQXRvbWljU3RyaW5nJiBzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0IE9WRVJSSURFOwog
ICAgIHZpcnR1YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KikgT1ZFUlJJREU7CiAK
LSNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFdJTikKKyNpZiBQTEFURk9STShNQUMpIHx8
IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oR1RLKQogICAgIE1lZGlhQ29udHJvbHMqIG1fY29u
dHJvbHM7CiAjZW5kaWYKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9NZWRpYUNvbnRyb2xzR3RrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlh
Q29udHJvbHNHdGsuY3BwCmluZGV4IDcyODE4MjQ1NTgxMGQ5YTkxMDBkMTNmNzk5ZmVhMGUzM2Zh
ZWM0ZDYuLjgxNjFjOTliODMxNjRmYmJlNjM2NDk0NDZmMGU0Mjc4ZTkxMGM2YTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuY3BwCkBAIC0zNyw2
ICszNyw4IEBAIE1lZGlhQ29udHJvbHNHdGs6Ok1lZGlhQ29udHJvbHNHdGsoRG9jdW1lbnQqIGRv
Y3VtZW50KQogICAgIDogTWVkaWFDb250cm9scyhkb2N1bWVudCkKICAgICAsIG1fZHVyYXRpb25E
aXNwbGF5KDApCiAgICAgLCBtX2VuY2xvc3VyZSgwKQorICAgICwgbV9jbG9zZWRDYXB0aW9uc1Ry
YWNrTGlzdCgwKQorICAgICwgbV9jbG9zZWRDYXB0aW9uc0NvbnRhaW5lcigwKQogewogfQogCkBA
IC05MSwxMSArOTMsMjQgQEAgYm9vbCBNZWRpYUNvbnRyb2xzR3RrOjppbml0aWFsaXplQ29udHJv
bHMoRG9jdW1lbnQqIGRvY3VtZW50KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBpZiAo
ZG9jdW1lbnQtPnBhZ2UoKS0+dGhlbWUoKS0+c3VwcG9ydHNDbG9zZWRDYXB0aW9uaW5nKCkpIHsK
KyAgICAgICAgUmVmUHRyPE1lZGlhQ29udHJvbENsb3NlZENhcHRpb25zQ29udGFpbmVyRWxlbWVu
dD4gY2xvc2VkQ2FwdGlvbnNDb250YWluZXIgPSBNZWRpYUNvbnRyb2xDbG9zZWRDYXB0aW9uc0Nv
bnRhaW5lckVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCk7CisKKyAgICAgICAgUmVmUHRyPE1lZGlh
Q29udHJvbENsb3NlZENhcHRpb25zVHJhY2tMaXN0RWxlbWVudD4gY2xvc2VkQ2FwdGlvbnNUcmFj
a0xpc3QgPSBNZWRpYUNvbnRyb2xDbG9zZWRDYXB0aW9uc1RyYWNrTGlzdEVsZW1lbnQ6OmNyZWF0
ZShkb2N1bWVudCwgdGhpcyk7CisgICAgICAgIG1fY2xvc2VkQ2FwdGlvbnNUcmFja0xpc3QgPSBj
bG9zZWRDYXB0aW9uc1RyYWNrTGlzdC5nZXQoKTsKKyAgICAgICAgY2xvc2VkQ2FwdGlvbnNDb250
YWluZXItPmFwcGVuZENoaWxkKGNsb3NlZENhcHRpb25zVHJhY2tMaXN0LnJlbGVhc2UoKSwgZXhj
ZXB0aW9uQ29kZSwgQXR0YWNoTGF6aWx5KTsKKyAgICAgICAgaWYgKGV4Y2VwdGlvbkNvZGUpCisg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICAgICAgUmVmUHRyPE1lZGlhQ29udHJvbFRv
Z2dsZUNsb3NlZENhcHRpb25zQnV0dG9uRWxlbWVudD4gdG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0
b24gPSBNZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQ6OmNyZWF0
ZShkb2N1bWVudCwgdGhpcyk7CiAgICAgICAgIG1fdG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b24g
PSB0b2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbi5nZXQoKTsKICAgICAgICAgcGFuZWwtPmFwcGVu
ZENoaWxkKHRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uLnJlbGVhc2UoKSwgZXhjZXB0aW9uQ29k
ZSwgQXR0YWNoTGF6aWx5KTsKICAgICAgICAgaWYgKGV4Y2VwdGlvbkNvZGUpCiAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgbV9jbG9zZWRDYXB0aW9uc0NvbnRhaW5lciA9IGNs
b3NlZENhcHRpb25zQ29udGFpbmVyLmdldCgpOworICAgICAgICBhcHBlbmRDaGlsZChjbG9zZWRD
YXB0aW9uc0NvbnRhaW5lci5yZWxlYXNlKCksIGV4Y2VwdGlvbkNvZGUsIEF0dGFjaExhemlseSk7
CisgICAgICAgIGlmIChleGNlcHRpb25Db2RlKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgIH0KIAogICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0dG9uRWxlbWVudD4g
ZnVsbHNjcmVlbkJ1dHRvbiA9IE1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50Ojpj
cmVhdGUoZG9jdW1lbnQpOwpAQCAtMTQ3LDYgKzE2MiwxMCBAQCB2b2lkIE1lZGlhQ29udHJvbHNH
dGs6OnNldE1lZGlhQ29udHJvbGxlcihNZWRpYUNvbnRyb2xsZXJJbnRlcmZhY2UqIGNvbnRyb2xs
ZXIpCiAgICAgICAgIG1fZHVyYXRpb25EaXNwbGF5LT5zZXRNZWRpYUNvbnRyb2xsZXIoY29udHJv
bGxlcik7CiAgICAgaWYgKG1fZW5jbG9zdXJlKQogICAgICAgICBtX2VuY2xvc3VyZS0+c2V0TWVk
aWFDb250cm9sbGVyKGNvbnRyb2xsZXIpOworICAgIGlmIChtX2Nsb3NlZENhcHRpb25zQ29udGFp
bmVyKQorICAgICAgICBtX2Nsb3NlZENhcHRpb25zQ29udGFpbmVyLT5zZXRNZWRpYUNvbnRyb2xs
ZXIoY29udHJvbGxlcik7CisgICAgaWYgKG1fY2xvc2VkQ2FwdGlvbnNUcmFja0xpc3QpCisgICAg
ICAgIG1fY2xvc2VkQ2FwdGlvbnNUcmFja0xpc3QtPnNldE1lZGlhQ29udHJvbGxlcihjb250cm9s
bGVyKTsKIH0KIAogdm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpyZXNldCgpCkBAIC0xNTksNiArMTc4
LDEzIEBAIHZvaWQgTWVkaWFDb250cm9sc0d0azo6cmVzZXQoKQogICAgIG1fZHVyYXRpb25EaXNw
bGF5LT5zZXRJbm5lclRleHQocGFnZS0+dGhlbWUoKS0+Zm9ybWF0TWVkaWFDb250cm9sc1RpbWUo
ZHVyYXRpb24pLCBBU1NFUlRfTk9fRVhDRVBUSU9OKTsKICAgICBtX2R1cmF0aW9uRGlzcGxheS0+
c2V0Q3VycmVudFZhbHVlKGR1cmF0aW9uKTsKIAorICAgIGlmIChtX3RvZ2dsZUNsb3NlZENhcHRp
b25zQnV0dG9uKSB7CisgICAgICAgIGlmIChtX21lZGlhQ29udHJvbGxlci0+aGFzQ2xvc2VkQ2Fw
dGlvbnMoKSkKKyAgICAgICAgICAgIG1fdG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b24tPnNob3co
KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbV90b2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRv
bi0+aGlkZSgpOworICAgIH0KKwogICAgIE1lZGlhQ29udHJvbHM6OnJlc2V0KCk7CiB9CiAKQEAg
LTIzNiw2ICsyNjIsNDQgQEAgdm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpjcmVhdGVUZXh0VHJhY2tE
aXNwbGF5KCkKIH0KICNlbmRpZgogCit2b2lkIE1lZGlhQ29udHJvbHNHdGs6OnRvZ2dsZUNsb3Nl
ZENhcHRpb25UcmFja0xpc3QoKQoreworICAgIGlmICghbV9tZWRpYUNvbnRyb2xsZXItPmhhc0Ns
b3NlZENhcHRpb25zKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChtX2Nsb3NlZENhcHRp
b25zQ29udGFpbmVyKSB7CisgICAgICAgIGlmIChtX2Nsb3NlZENhcHRpb25zQ29udGFpbmVyLT5p
c1Nob3dpbmcoKSkKKyAgICAgICAgICAgIGhpZGVDbG9zZWRDYXB0aW9uVHJhY2tMaXN0KCk7Cisg
ICAgICAgIGVsc2UgeworICAgICAgICAgICAgaWYgKG1fY2xvc2VkQ2FwdGlvbnNUcmFja0xpc3Qp
CisgICAgICAgICAgICAgICAgbV9jbG9zZWRDYXB0aW9uc1RyYWNrTGlzdC0+dXBkYXRlRGlzcGxh
eSgpOworCisgICAgICAgICAgICBzaG93Q2xvc2VkQ2FwdGlvblRyYWNrTGlzdCgpOworICAgICAg
ICB9CisgICAgfQorfQorCit2b2lkIE1lZGlhQ29udHJvbHNHdGs6OnNob3dDbG9zZWRDYXB0aW9u
VHJhY2tMaXN0KCkKK3sKKyAgICBtX3ZvbHVtZVNsaWRlckNvbnRhaW5lci0+aGlkZSgpOworCisg
ICAgaWYgKCFtX2Nsb3NlZENhcHRpb25zQ29udGFpbmVyIHx8IG1fY2xvc2VkQ2FwdGlvbnNDb250
YWluZXItPmlzU2hvd2luZygpKQorICAgICAgICByZXR1cm47CisKKyAgICBtX2Nsb3NlZENhcHRp
b25zQ29udGFpbmVyLT5zaG93KCk7CisKKyAgICBtX3BhbmVsLT5zZXRJbmxpbmVTdHlsZVByb3Bl
cnR5KENTU1Byb3BlcnR5UG9pbnRlckV2ZW50cywgQ1NTVmFsdWVOb25lKTsKIH0KIAordm9pZCBN
ZWRpYUNvbnRyb2xzR3RrOjpoaWRlQ2xvc2VkQ2FwdGlvblRyYWNrTGlzdCgpCit7CisgICAgaWYg
KCFtX2Nsb3NlZENhcHRpb25zQ29udGFpbmVyIHx8ICFtX2Nsb3NlZENhcHRpb25zQ29udGFpbmVy
LT5pc1Nob3dpbmcoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9jbG9zZWRDYXB0aW9uc0Nv
bnRhaW5lci0+aGlkZSgpOworCisgICAgbV9wYW5lbC0+cmVtb3ZlSW5saW5lU3R5bGVQcm9wZXJ0
eShDU1NQcm9wZXJ0eVBvaW50ZXJFdmVudHMpOworfQorCit9CiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuaCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuaAppbmRleCAyZWEzMjU5OWY1YzRk
N2M5MjQ5MjE2YWY2MTVjMzU3MTVjNzFjYjQ5Li4zNzBhODZhNzU3MjI1YzIxMWJhZTJkNDcxODVm
YmQyN2U4NTYzZjRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRp
YUNvbnRyb2xzR3RrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250
cm9sc0d0ay5oCkBAIC00Nyw2ICs0Nyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgdXBk
YXRlQ3VycmVudFRpbWVEaXNwbGF5KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHNob3dW
b2x1bWVTbGlkZXIoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgbWFrZVRyYW5zcGFyZW50
KCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHRvZ2dsZUNsb3NlZENhcHRpb25UcmFja0xp
c3QoKSBPVkVSUklERTsKIAogI2lmIEVOQUJMRShWSURFT19UUkFDSykKICAgICB2b2lkIGNyZWF0
ZVRleHRUcmFja0Rpc3BsYXkoKSBPVkVSUklERTsKQEAgLTU2LDExICs1NywxNSBAQCBwcm90ZWN0
ZWQ6CiAgICAgZXhwbGljaXQgTWVkaWFDb250cm9sc0d0ayhEb2N1bWVudCopOwogCiAgICAgYm9v
bCBpbml0aWFsaXplQ29udHJvbHMoRG9jdW1lbnQqKTsKKyAgICB2b2lkIHNob3dDbG9zZWRDYXB0
aW9uVHJhY2tMaXN0KCk7CisgICAgdm9pZCBoaWRlQ2xvc2VkQ2FwdGlvblRyYWNrTGlzdCgpOwog
CiBwcml2YXRlOgogICAgIE1lZGlhQ29udHJvbFRpbWVSZW1haW5pbmdEaXNwbGF5RWxlbWVudCog
bV9kdXJhdGlvbkRpc3BsYXk7CiAgICAgTWVkaWFDb250cm9sUGFuZWxFbmNsb3N1cmVFbGVtZW50
KiBtX2VuY2xvc3VyZTsKICAgICBNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJDb250YWluZXJFbGVt
ZW50KiBtX3ZvbHVtZVNsaWRlckNvbnRhaW5lcjsKKyAgICBNZWRpYUNvbnRyb2xDbG9zZWRDYXB0
aW9uc1RyYWNrTGlzdEVsZW1lbnQqIG1fY2xvc2VkQ2FwdGlvbnNUcmFja0xpc3Q7CisgICAgTWVk
aWFDb250cm9sQ2xvc2VkQ2FwdGlvbnNDb250YWluZXJFbGVtZW50KiBtX2Nsb3NlZENhcHRpb25z
Q29udGFpbmVyOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0
aW9uVXNlclByZWZlcmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQ
cmVmZXJlbmNlcy5jcHAKaW5kZXggMjUwZWE1NTlkMjEzYjY5MWVjN2QyNDdhYzgwNzliMzQyNTY0
MjU4MC4uMjg4OWJiMjZmZDJiY2FhMjI0MGUxOGEyOTZjYmYxZTMxMmY1NjMyOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwCkBAIC0xNTcsNiAr
MTU3LDkgQEAgdm9pZCBDYXB0aW9uVXNlclByZWZlcmVuY2VzOjpzZXRQcmVmZXJyZWRMYW5ndWFn
ZShjb25zdCBTdHJpbmcmIGxhbmd1YWdlKQogCiBzdGF0aWMgU3RyaW5nIHRyYWNrRGlzcGxheU5h
bWUoVGV4dFRyYWNrKiB0cmFjaykKIHsKKyAgICBpZiAodHJhY2sgPT0gVGV4dFRyYWNrOjpjYXB0
aW9uTWVudU9mZkl0ZW0oKSkKKyAgICAgICAgcmV0dXJuIHRleHRUcmFja09mZk1lbnVJdGVtVGV4
dCgpOworCiAgICAgaWYgKHRyYWNrLT5sYWJlbCgpLmlzRW1wdHkoKSAmJiB0cmFjay0+bGFuZ3Vh
Z2UoKS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiB0ZXh0VHJhY2tOb0xhYmVsVGV4dCgpOwog
ICAgIGlmICghdHJhY2stPmxhYmVsKCkuaXNFbXB0eSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3RrL0xvY2FsaXplZFN0cmluZ3NHdGsuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3RrL0xvY2FsaXplZFN0cmluZ3NHdGsuY3BwCmluZGV4IDk0OTdjYTIyMDJm
N2Y4ZDllODdmYzZmMWIxYmVhZDljMTY1ODM2NGYuLmM4NzM2NGRmMzRlNDQyMzMxYzQ1Zjk2YzA1
ZTdhYzU2NjkzNzYxMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9M
b2NhbGl6ZWRTdHJpbmdzR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsv
TG9jYWxpemVkU3RyaW5nc0d0ay5jcHAKQEAgLTc5MCwxNyArNzkwLDE3IEBAIFN0cmluZyB0ZXh0
VHJhY2tDbG9zZWRDYXB0aW9uc1RleHQoKQogCiBTdHJpbmcgdGV4dFRyYWNrU3VidGl0bGVzVGV4
dCgpCiB7Ci0gICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoQ18oIlN1YnRpdGxlcyIsICJNZW51
IHNlY3Rpb24gaGVhZGluZyBmb3Igc3VidGl0bGVzIikpOworICAgIHJldHVybiBTdHJpbmc6OmZy
b21VVEY4KF8oIlN1YnRpdGxlcyIpKTsKIH0KIAogU3RyaW5nIHRleHRUcmFja09mZk1lbnVJdGVt
VGV4dCgpCiB7Ci0gICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoQ18oIk9mZiIsICJNZW51IGl0
ZW0gbGFiZWwgZm9yIHRoZSB0cmFjayB0aGF0IHJlcHJlc2VudHMgZGlzYWJsaW5nIGNsb3NlZCBj
YXB0aW9ucyIpKTsKKyAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChfKCJPZmYiKSk7CiB9CiAK
IFN0cmluZyB0ZXh0VHJhY2tOb0xhYmVsVGV4dCgpCiB7Ci0gICAgcmV0dXJuIFN0cmluZzo6ZnJv
bVVURjgoQ18oIk5vIGxhYmVsIiwgIk1lbnUgaXRlbSBsYWJlbCBmb3IgYSBjbG9zZWQgY2FwdGlv
bnMgdHJhY2sgdGhhdCBoYXMgbm8gb3RoZXIgbmFtZSIpKTsKKyAgICByZXR1cm4gU3RyaW5nOjpm
cm9tVVRGOChfKCJObyBsYWJlbCIpKTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGsuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0ay5oCmluZGV4IGE4Yzk3MzVjNzA3MzUzNmIzYTIyOTJl
ODYwNGE0NzZlNzJiNTczZDAuLjVlNTM0NzY0MDk1YTgxMDA3MGJkYmQ2ZmEzNjJlZWJmMzZjZGEx
MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0
ay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0ay5oCkBA
IC04Nyw2ICs4Nyw3IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoVklERU8pCiAgICAgdmlydHVhbCBT
dHJpbmcgZXh0cmFNZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgpOwogICAgIHZpcnR1YWwgU3RyaW5n
IGZvcm1hdE1lZGlhQ29udHJvbHNDdXJyZW50VGltZShmbG9hdCBjdXJyZW50VGltZSwgZmxvYXQg
ZHVyYXRpb24pIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0Nsb3NlZENhcHRpb25p
bmcoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiB0cnVlOyB9CiAKICNpZiBFTkFCTEUoRlVMTFND
UkVFTl9BUEkpCiAgICAgdmlydHVhbCBTdHJpbmcgZXh0cmFGdWxsU2NyZWVuU3R5bGVTaGVldCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0
dGluZ3MuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGlu
Z3MuY3BwCmluZGV4IDUzYTU0N2ExZmI0ZmYzNTliMDc2ODQ1OGE3MTQ1NDRjNzUwMzdjM2IuLmNl
MTJjNGY4ZjM4YWQ2ZDVhYzcwODQyNDU3NmFkNTA4ZDMzMTAwMGYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5jcHAKQEAgLTExMzIs
NyArMTEzMiw2IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9zZXR0aW5nc19jbGFzc19pbml0KFdlYktp
dFNldHRpbmdzQ2xhc3MqIGtsYXNzKQogICAgICAgICAgICAgXygiV2hldGhlciB0byB3cml0ZSBj
b25zb2xlIG1lc3NhZ2VzIG9uIHN0ZG91dCIpLAogICAgICAgICAgICAgRkFMU0UsCiAgICAgICAg
ICAgICByZWFkV3JpdGVDb25zdHJ1Y3RQYXJhbUZsYWdzKSk7Ci0KIH0KIAogV2ViUHJlZmVyZW5j
ZXMqIHdlYmtpdFNldHRpbmdzR2V0UHJlZmVyZW5jZXMoV2ViS2l0U2V0dGluZ3MqIHNldHRpbmdz
KQpAQCAtMTE1MSw3ICsxMTUwLDkgQEAgV2ViUHJlZmVyZW5jZXMqIHdlYmtpdFNldHRpbmdzR2V0
UHJlZmVyZW5jZXMoV2ViS2l0U2V0dGluZ3MqIHNldHRpbmdzKQogICovCiBXZWJLaXRTZXR0aW5n
cyogd2Via2l0X3NldHRpbmdzX25ldygpCiB7Ci0gICAgcmV0dXJuIFdFQktJVF9TRVRUSU5HUyhn
X29iamVjdF9uZXcoV0VCS0lUX1RZUEVfU0VUVElOR1MsIE5VTEwpKTsKKyAgICBXZWJLaXRTZXR0
aW5ncyogc2V0dGluZ3MgPSBXRUJLSVRfU0VUVElOR1MoZ19vYmplY3RfbmV3KFdFQktJVF9UWVBF
X1NFVFRJTkdTLCBOVUxMKSk7CisgICAgc2V0dGluZ3MtPnByaXYtPnByZWZlcmVuY2VzLT5zZXRT
aG91bGREaXNwbGF5U3VidGl0bGVzKFRSVUUpOworICAgIHJldHVybiBzZXR0aW5nczsKIH0KIAog
LyoqCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209030</attachid>
            <date>2013-08-18 07:04:56 -0700</date>
            <delta_ts>2013-08-18 07:29:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117008-20130818160455.patch</filename>
            <type>text/plain</type>
            <size>17627</size>
            <attacher name="Danilo de Paula">danilo.eu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0MjQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTU0YjBmOWZkNmJjYzlk
MDE2OTY0NGM4Y2E5YmEwNWFhYmE5YzA1NS4uYzkyMGM1MTlmMTM2MzhhMDUxMGJkOWU4NTY2MTFl
MDk5YTM5ZWJhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ0IEBACiAyMDEzLTA4LTE4ICBEYW5p
bG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgog
CisgICAgICAgIFtXSzJdW0dUS10gYWRkIHN1cHBvcnQgZm9yIHN1YnRpdGxlcyBvbiB3ZWJraXQy
R1RLCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTcw
MDgKKworICAgICAgICBCeSBhY3RpdmF0aW5nIHN1YnRpdGxlcyBzdXBwb3J0IG9uIHdlYmtpdDJH
VEssIHRoZSB2aWRlbyBwbGF5ZXIKKyAgICAgICAgcmVjb2duaXplcyBhbmQgdXNlIHRleHQgPHRy
YWNrcz4gaW5zaWRlIDx2aWRlbz4gZWxlbWVudHMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBjc3MvbWVkaWFDb250cm9sc0d0ay5jc3M6CisgICAg
ICAgIChhdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10b2dnbGUtY2xvc2VkLWNhcHRpb25z
LWJ1dHRvbiwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdG9nZ2xlLWNsb3NlZC1jYXB0
aW9ucy1idXR0b24pOgorICAgICAgICAodmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY2xv
c2VkLWNhcHRpb25zLWNvbnRhaW5lcik6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1tZWRpYS1j
b250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCk6CisgICAgICAgICh2aWRlbzo6LXdl
YmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBoMyk6CisgICAg
ICAgICh2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2st
bGlzdCB1bCk6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQt
Y2FwdGlvbnMtdHJhY2stbGlzdCBsaSk6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1tZWRpYS1j
b250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBsaS5zZWxlY3RlZCk6CisgICAgICAg
ICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50OjpNZWRpYUNv
bnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50OjpkZWZhdWx0
RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50
cy5oOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0d0azo6TWVkaWFDb250cm9sc0d0ayk6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzR3RrOjppbml0aWFsaXplQ29udHJvbHMpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0d0azo6c2V0TWVkaWFDb250cm9sbGVyKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbHNHdGs6OnJlc2V0KToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhQ29udHJvbHNHdGs6OnRvZ2dsZUNsb3NlZENhcHRpb25UcmFja0xpc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0d0azo6c2hvd0Nsb3NlZENhcHRpb25UcmFja0xpc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0d0azo6aGlkZUNsb3NlZENhcHRpb25U
cmFja0xpc3QpOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuaDoKKyAg
ICAgICAgKiBwYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6dHJhY2tEaXNwbGF5TmFtZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL0xvY2FsaXplZFN0
cmluZ3NHdGsuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dGV4dFRyYWNrU3VidGl0bGVzVGV4dCk6
CisgICAgICAgIChXZWJDb3JlOjp0ZXh0VHJhY2tPZmZNZW51SXRlbVRleHQpOgorICAgICAgICAo
V2ViQ29yZTo6dGV4dFRyYWNrTm9MYWJlbFRleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9S
ZW5kZXJUaGVtZUd0ay5oOgorCisyMDEzLTA4LTE4ICBEYW5pbG8gQ2VzYXIgTGVtZXMgZGUgUGF1
bGEgIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgorCiAgICAgICAgIFtFRkxdIG1pbm9y
IG1ldGhvZCBuYW1lIGZpeCBmb3IgdGhlIHRleHRUcmFja09mZk1lbnVJdGVtVGV4dCBtZXRob2QK
ICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExOTk3OAog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKaW5kZXggODQzMGM3MDlkZjY4MzIxMjQ1ZWUyOGFkNWExMDc4OWYxNDc0ZmEzOS4u
ODQ0ZThkMmQ2ODliOWYzM2QzZWJkMWU1MjVlOTc1MDQ5OWRiYzgyZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE3IEBACisyMDEzLTA4LTE4ICBEYW5pbG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgIDxk
YW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgorCisgICAgICAgIFtXSzJdW0dUS10gYWRkIHN1
cHBvcnQgZm9yIHN1YnRpdGxlcyBvbiB3ZWJraXQyR1RLCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTcwMDgKKworICAgICAgICBCeSBhY3RpdmF0aW5n
IHN1YnRpdGxlcyBzdXBwb3J0IG9uIHdlYmtpdDJHVEssIHRoZSB2aWRlbyBwbGF5ZXIKKyAgICAg
ICAgcmVjb2duaXplcyBhbmQgdXNlIHRleHQgPHRyYWNrcz4gaW5zaWRlIDx2aWRlbz4gZWxlbWVu
dHMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5jcHA6CisgICAgICAgICh3ZWJraXRfc2V0
dGluZ3NfY2xhc3NfaW5pdCk6CisgICAgICAgICh3ZWJraXRfc2V0dGluZ3NfbmV3KToKKwogMjAx
My0wOC0xNyAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgPGh0dHBz
Oi8vd2Via2l0Lm9yZy9iLzExOTk0MT4gTWFrZSBQYWdlOjpkcmFnQ29udHJvbGxlciByZXR1cm4g
YSByZWZlcmVuY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9tZWRpYUNvbnRyb2xz
R3RrLmNzcyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9tZWRpYUNvbnRyb2xzR3RrLmNzcwppbmRleCA1
NzI5ZDQ1ODcyMWEwZDgyMWYwOTBiY2UzZTJmZWJiYzIzMzI4YmQ3Li42MWJhMTJhOTVjZTI1YTc2
MmNjYmViNWY4ZjZmMDJlMTg2MmE0NzNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
bWVkaWFDb250cm9sc0d0ay5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL21lZGlhQ29udHJv
bHNHdGsuY3NzCkBAIC0yMjIsNiArMjIyLDY5IEBAIGF1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRy
b2xzLXRvZ2dsZS1jbG9zZWQtY2FwdGlvbnMtYnV0dG9uLCB2aWRlbzo6LXdlYmtpdC1tZWRpCiAg
ICAgaGVpZ2h0OiAzMHB4OwogICAgIGxpbmUtaGVpZ2h0OiAzMHB4OwogICAgIG1hcmdpbjogMCA5
cHggMCAtN3B4OworICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsKKyAgICBiYWNrZ3Jv
dW5kLXBvc2l0aW9uOmNlbnRlcjsKKyAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1h
Z2Uvc3ZnK3htbCw8c3ZnIGlkPSJzdmc3Mzg0IiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3Jn
LzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAw
L3N2ZyIgaGVpZ2h0PSIxNiIgd2lkdGg9IjE2IiB2ZXJzaW9uPSIxLjEiIHhtbG5zOmNjPSJodHRw
Oi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMv
ZWxlbWVudHMvMS4xLyI+PG1ldGFkYXRhIGlkPSJtZXRhZGF0YTkwIj48cmRmOlJERj48Y2M6V29y
ayByZGY6YWJvdXQ9IiI+PGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+PGRjOnR5
cGUgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIv
PjxkYzp0aXRsZT5Hbm9tZSBTeW1ib2xpYyBJY29uIFRoZW1lPC9kYzp0aXRsZT48L2NjOldvcms+
PC9yZGY6UkRGPjwvbWV0YWRhdGE+PGcgaWQ9ImxheWVyOSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUo
LTEwMSwtMzU3KSI+PHBhdGggaWQ9InBhdGgxMjE0OCIgc3R5bGU9ImJsb2NrLXByb2dyZXNzaW9u
OnRiO2NvbG9yOiNiZWJlYmU7ZGlyZWN0aW9uOmx0cjt0ZXh0LWluZGVudDowO3RleHQtYWxpZ246
c3RhcnQ7ZW5hYmxlLWJhY2tncm91bmQ6YWNjdW11bGF0ZTt0ZXh0LXRyYW5zZm9ybTpub25lOyIg
ZmlsbD0iI2JlYmViZSIgZD0ibTEwNC43NSwzNTcuMDZjLTIuMDYwMiwwLTMuNzUsMS42ODk4LTMu
NzUsMy43NXY0LjQzNzVjMCwyLjA2MDIsMS42ODk4LDMuNzUsMy43NSwzLjc1aDQuOTM3NWwzLjc1
LDIuNjU2MiwxLjU5MzgsMS4xMjV2LTEuOTY4OGwtMC4wMzEzLTIuNWMxLjExMDYtMC41OTcxNSwx
Ljk2ODgtMS42NTI2LDEuOTY4OC0zLjA2MjV2LTQuNDM3NWMwLTIuMDYwMi0xLjY4OTgtMy43NS0z
Ljc1LTMuNzVoLTguNDY4OHptMCwyLDguNDY4OCwwYzAuOTg2OCwwLDEuNzUsMC43NjMyLDEuNzUs
MS43NXY0LjQzNzVjMCwwLjg2MjczLTAuNjM1MDgsMS41NDEtMS4xMjUsMS42MjVsLTAuODQsMC4x
MnYwLjg0Mzc1LDEuMDMxMmwtMi40MDYyLTEuNjg3NS0wLjI1LTAuMTg3NWgtMC4zMTI1LTUuMjgx
MmMtMC45ODY4LDAtMS43NS0wLjc2MzItMS43NS0xLjc1di00LjQzNzVjMC0wLjk4NjgsMC43NjMy
LTEuNzUsMS43NS0xLjc1eiIvPjwvZz48L3N2Zz4nKTsKK30KKwordmlkZW86Oi13ZWJraXQtbWVk
aWEtY29udHJvbHMtY2xvc2VkLWNhcHRpb25zLWNvbnRhaW5lciB7CisgICAgLXdlYmtpdC1hcHBl
YXJhbmNlOiBtZWRpYS1jbG9zZWQtY2FwdGlvbnMtY29udGFpbmVyOworICAgIHBvc2l0aW9uOiBh
YnNvbHV0ZTsKKyAgICBkaXNwbGF5OiBibG9jazsKKyAgICByaWdodDogMzhweDsKKyAgICBib3R0
b206IDM1cHg7CisgICAgbWF4LXdpZHRoOiAtd2Via2l0LWNhbGMoMTAwJSAtIDQ4cHgpOyAvKiBy
aWdodCArIDEwcHggKi8KKyAgICBtYXgtaGVpZ2h0OiAtd2Via2l0LWNhbGMoMTAwJSAtIDM1cHgp
OyAvKiBib3R0b20gKyAxMHB4ICovCisgICAgb3ZlcmZsb3cteDogaGlkZGVuOworICAgIG92ZXJm
bG93LXk6IGF1dG87CisgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMCwgMjAsIDIwLCAwLjgp
OworICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CisgICAgY3Vyc29yOiBkZWZhdWx0OworICAgIHot
aW5kZXg6IDI7Cit9CisKK3ZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWNsb3NlZC1jYXB0
aW9ucy10cmFjay1saXN0IHsKKyAgICBkaXNwbGF5OiBibG9jazsKKyAgICBmb250LWZhbWlseTog
IkhlbHZldGljYSBCb2xkIiwgSGVsdmV0aWNhOworICAgIGZvbnQtc2l6ZTogMTBwdDsKKyAgICAt
d2Via2l0LXVzZXItc2VsZWN0OiBub25lOworfQorCit2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250
cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBoMyB7CisgICAgbWFyZ2luOiAxcHggMzBw
eDsKKyAgICBjb2xvcjogIzc1NzU3NTsKKyAgICB0ZXh0LXNoYWRvdzogMCAxcHggMCBibGFjazsK
KyAgICBwYWRkaW5nLXRvcDogMHB4OworICAgIGZvbnQtd2VpZ2h0OiBib2xkOworICAgIGZvbnQt
c2l6ZTogMTBwdDsKK30KKwordmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY2xvc2VkLWNh
cHRpb25zLXRyYWNrLWxpc3QgdWwgeworICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsKKyAgICBt
YXJnaW46IDAgMCA0cHggMDsKKyAgICBwYWRkaW5nOiAwOworICAgIGZvbnQtd2VpZ2h0OiBib2xk
OworfQorCit2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJh
Y2stbGlzdCBsaSB7CisgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgIGNvbG9yOiB3aGl0ZTsK
KyAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOworICAgIHRleHQtc2hhZG93OiAwIDFweCAwIGJs
YWNrOworICAgIG1hcmdpbjogMDsKKyAgICBwYWRkaW5nLWxlZnQ6IDM3cHg7CisgICAgcGFkZGlu
Zy1yaWdodDogMzVweDsKKyAgICBwYWRkaW5nLXRvcDogMC4xNWVtOworICAgIHBhZGRpbmctYm90
dG9tOiAwLjJlbTsKKyAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OworICAgIG92ZXJmbG93OiBo
aWRkZW47CisgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKKyAgICB0ZXh0LW92ZXJmbG93OiBlbGxp
cHNpczsKKyAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwKTsKKyAgICBi
b3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwKTsKK30KK3ZpZGVvOjotd2Vi
a2l0LW1lZGlhLWNvbnRyb2xzLWNsb3NlZC1jYXB0aW9ucy10cmFjay1saXN0IGxpLnNlbGVjdGVk
IHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzMCwgMjMwLCAyMzAsIDAuMTUpOwogfQog
CiBhdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1mdWxsc2NyZWVuLWJ1dHRvbiwgdmlkZW86
Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtZnVsbHNjcmVlbi1idXR0b24gewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCmluZGV4IGE1
YThkZjQ3NTRjZGUyZDg3MDM0NDQzYTViN2RiNTA2YTI2MjljZDIuLmEwNWM4MDAwMTBiZmM0NTI1
YWUxYjAwMDA3Njc3NmVhMmJlZDgwN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKQEAgLTY3NywxMSArNjc3LDExIEBAIGNv
bnN0IEF0b21pY1N0cmluZyYgTWVkaWFDb250cm9sUmV0dXJuVG9SZWFsdGltZUJ1dHRvbkVsZW1l
bnQ6OnNoYWRvd1BzZXVkb0lkKCkKIAogTWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNC
dXR0b25FbGVtZW50OjpNZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1l
bnQoRG9jdW1lbnQqIGRvY3VtZW50LCBNZWRpYUNvbnRyb2xzKiBjb250cm9scykKICAgICA6IE1l
ZGlhQ29udHJvbElucHV0RWxlbWVudChkb2N1bWVudCwgTWVkaWFTaG93Q2xvc2VkQ2FwdGlvbnNC
dXR0b24pCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShXSU4pCisjaWYgUExBVEZPUk0o
TUFDKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKEdUSykKICAgICAsIG1fY29udHJvbHMo
Y29udHJvbHMpCiAjZW5kaWYKIHsKLSNpZiAhUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oV0lO
KQorI2lmICFQTEFURk9STShNQUMpICYmICFQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKEdUSykK
ICAgICBVTlVTRURfUEFSQU0oY29udHJvbHMpOwogI2VuZGlmCiB9CkBAIC03MTEsNyArNzExLDcg
QEAgdm9pZCBNZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQ6OmRl
ZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqIGUKICAgICAgICAgLy8gVUkuIE5vdCBhbGwgcG9ydHMg
bWF5IHdhbnQgdGhlIGNsb3NlZCBjYXB0aW9ucyBidXR0b24gdG8gdG9nZ2xlIGEgbGlzdCBvZiB0
cmFja3MsIHNvCiAgICAgICAgIC8vIHdlIGhhdmUgdG8gdXNlICNpZi4KICAgICAgICAgLy8gaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMTg3NwotI2lmICFQTEFURk9S
TShNQUMpICYmICFQTEFURk9STShXSU4pCisjaWYgIVBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JN
KFdJTikgJiYgIVBMQVRGT1JNKEdUSykKICAgICAgICAgbWVkaWFDb250cm9sbGVyKCktPnNldENs
b3NlZENhcHRpb25zVmlzaWJsZSghbWVkaWFDb250cm9sbGVyKCktPmNsb3NlZENhcHRpb25zVmlz
aWJsZSgpKTsKICAgICAgICAgc2V0Q2hlY2tlZChtZWRpYUNvbnRyb2xsZXIoKS0+Y2xvc2VkQ2Fw
dGlvbnNWaXNpYmxlKCkpOwogICAgICAgICB1cGRhdGVEaXNwbGF5VHlwZSgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmgKaW5kZXggNjgy
NjJkMzc3ZDEyNmY4YjJkYTRhM2U4YWU4ODUzZjFjZmY4OGVmZC4uMzY4YTU4MWY1OTBhNDUzNjBj
NDVkYjRlNTU3NDc1NzRlOWFiZDFmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oCkBAIC0yODAsNyArMjgwLDcgQEAgcHJpdmF0ZToK
ICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgc2hhZG93UHNldWRvSWQoKSBjb25zdCBP
VkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCopIE9W
RVJSSURFOwogCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShXSU4pCisjaWYgUExBVEZP
Uk0oTUFDKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKEdUSykKICAgICBNZWRpYUNvbnRy
b2xzKiBtX2NvbnRyb2xzOwogI2VuZGlmCiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvTWVkaWFDb250cm9sc0d0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xzR3RrLmNwcAppbmRleCA3MjgxODI0NTU4MTBkOWE5MTAwZDEzZjc5
OWZlYTBlMzNmYWVjNGQ2Li44MTYxYzk5YjgzMTY0ZmJiZTYzNjQ5NDQ2ZjBlNDI3OGU5MTBjNmE5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzR3Rr
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzR3RrLmNw
cApAQCAtMzcsNiArMzcsOCBAQCBNZWRpYUNvbnRyb2xzR3RrOjpNZWRpYUNvbnRyb2xzR3RrKERv
Y3VtZW50KiBkb2N1bWVudCkKICAgICA6IE1lZGlhQ29udHJvbHMoZG9jdW1lbnQpCiAgICAgLCBt
X2R1cmF0aW9uRGlzcGxheSgwKQogICAgICwgbV9lbmNsb3N1cmUoMCkKKyAgICAsIG1fY2xvc2Vk
Q2FwdGlvbnNUcmFja0xpc3QoMCkKKyAgICAsIG1fY2xvc2VkQ2FwdGlvbnNDb250YWluZXIoMCkK
IHsKIH0KIApAQCAtOTEsMTEgKzkzLDI0IEBAIGJvb2wgTWVkaWFDb250cm9sc0d0azo6aW5pdGlh
bGl6ZUNvbnRyb2xzKERvY3VtZW50KiBkb2N1bWVudCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
CiAgICAgaWYgKGRvY3VtZW50LT5wYWdlKCktPnRoZW1lKCktPnN1cHBvcnRzQ2xvc2VkQ2FwdGlv
bmluZygpKSB7CisgICAgICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xDbG9zZWRDYXB0aW9uc0NvbnRh
aW5lckVsZW1lbnQ+IGNsb3NlZENhcHRpb25zQ29udGFpbmVyID0gTWVkaWFDb250cm9sQ2xvc2Vk
Q2FwdGlvbnNDb250YWluZXJFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQpOworCisgICAgICAgIFJl
ZlB0cjxNZWRpYUNvbnRyb2xDbG9zZWRDYXB0aW9uc1RyYWNrTGlzdEVsZW1lbnQ+IGNsb3NlZENh
cHRpb25zVHJhY2tMaXN0ID0gTWVkaWFDb250cm9sQ2xvc2VkQ2FwdGlvbnNUcmFja0xpc3RFbGVt
ZW50OjpjcmVhdGUoZG9jdW1lbnQsIHRoaXMpOworICAgICAgICBtX2Nsb3NlZENhcHRpb25zVHJh
Y2tMaXN0ID0gY2xvc2VkQ2FwdGlvbnNUcmFja0xpc3QuZ2V0KCk7CisgICAgICAgIGNsb3NlZENh
cHRpb25zQ29udGFpbmVyLT5hcHBlbmRDaGlsZChjbG9zZWRDYXB0aW9uc1RyYWNrTGlzdC5yZWxl
YXNlKCksIGV4Y2VwdGlvbkNvZGUsIEF0dGFjaExhemlseSk7CisgICAgICAgIGlmIChleGNlcHRp
b25Db2RlKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgICAgIFJlZlB0cjxNZWRp
YUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQ+IHRvZ2dsZUNsb3NlZENh
cHRpb25zQnV0dG9uID0gTWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVt
ZW50OjpjcmVhdGUoZG9jdW1lbnQsIHRoaXMpOwogICAgICAgICBtX3RvZ2dsZUNsb3NlZENhcHRp
b25zQnV0dG9uID0gdG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b24uZ2V0KCk7CiAgICAgICAgIHBh
bmVsLT5hcHBlbmRDaGlsZCh0b2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbi5yZWxlYXNlKCksIGV4
Y2VwdGlvbkNvZGUsIEF0dGFjaExhemlseSk7CiAgICAgICAgIGlmIChleGNlcHRpb25Db2RlKQog
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIG1fY2xvc2VkQ2FwdGlvbnNDb250
YWluZXIgPSBjbG9zZWRDYXB0aW9uc0NvbnRhaW5lci5nZXQoKTsKKyAgICAgICAgYXBwZW5kQ2hp
bGQoY2xvc2VkQ2FwdGlvbnNDb250YWluZXIucmVsZWFzZSgpLCBleGNlcHRpb25Db2RlLCBBdHRh
Y2hMYXppbHkpOworICAgICAgICBpZiAoZXhjZXB0aW9uQ29kZSkKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICB9CiAKICAgICBSZWZQdHI8TWVkaWFDb250cm9sRnVsbHNjcmVlbkJ1dHRv
bkVsZW1lbnQ+IGZ1bGxzY3JlZW5CdXR0b24gPSBNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0dG9u
RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KTsKQEAgLTE0Nyw2ICsxNjIsMTAgQEAgdm9pZCBNZWRp
YUNvbnRyb2xzR3RrOjpzZXRNZWRpYUNvbnRyb2xsZXIoTWVkaWFDb250cm9sbGVySW50ZXJmYWNl
KiBjb250cm9sbGVyKQogICAgICAgICBtX2R1cmF0aW9uRGlzcGxheS0+c2V0TWVkaWFDb250cm9s
bGVyKGNvbnRyb2xsZXIpOwogICAgIGlmIChtX2VuY2xvc3VyZSkKICAgICAgICAgbV9lbmNsb3N1
cmUtPnNldE1lZGlhQ29udHJvbGxlcihjb250cm9sbGVyKTsKKyAgICBpZiAobV9jbG9zZWRDYXB0
aW9uc0NvbnRhaW5lcikKKyAgICAgICAgbV9jbG9zZWRDYXB0aW9uc0NvbnRhaW5lci0+c2V0TWVk
aWFDb250cm9sbGVyKGNvbnRyb2xsZXIpOworICAgIGlmIChtX2Nsb3NlZENhcHRpb25zVHJhY2tM
aXN0KQorICAgICAgICBtX2Nsb3NlZENhcHRpb25zVHJhY2tMaXN0LT5zZXRNZWRpYUNvbnRyb2xs
ZXIoY29udHJvbGxlcik7CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sc0d0azo6cmVzZXQoKQpAQCAt
MTU5LDYgKzE3OCwxMyBAQCB2b2lkIE1lZGlhQ29udHJvbHNHdGs6OnJlc2V0KCkKICAgICBtX2R1
cmF0aW9uRGlzcGxheS0+c2V0SW5uZXJUZXh0KHBhZ2UtPnRoZW1lKCktPmZvcm1hdE1lZGlhQ29u
dHJvbHNUaW1lKGR1cmF0aW9uKSwgQVNTRVJUX05PX0VYQ0VQVElPTik7CiAgICAgbV9kdXJhdGlv
bkRpc3BsYXktPnNldEN1cnJlbnRWYWx1ZShkdXJhdGlvbik7CiAKKyAgICBpZiAobV90b2dnbGVD
bG9zZWRDYXB0aW9uc0J1dHRvbikgeworICAgICAgICBpZiAobV9tZWRpYUNvbnRyb2xsZXItPmhh
c0Nsb3NlZENhcHRpb25zKCkpCisgICAgICAgICAgICBtX3RvZ2dsZUNsb3NlZENhcHRpb25zQnV0
dG9uLT5zaG93KCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1fdG9nZ2xlQ2xvc2VkQ2Fw
dGlvbnNCdXR0b24tPmhpZGUoKTsKKyAgICB9CisKICAgICBNZWRpYUNvbnRyb2xzOjpyZXNldCgp
OwogfQogCkBAIC0yMzYsNiArMjYyLDQ0IEBAIHZvaWQgTWVkaWFDb250cm9sc0d0azo6Y3JlYXRl
VGV4dFRyYWNrRGlzcGxheSgpCiB9CiAjZW5kaWYKIAordm9pZCBNZWRpYUNvbnRyb2xzR3RrOjp0
b2dnbGVDbG9zZWRDYXB0aW9uVHJhY2tMaXN0KCkKK3sKKyAgICBpZiAoIW1fbWVkaWFDb250cm9s
bGVyLT5oYXNDbG9zZWRDYXB0aW9ucygpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAobV9j
bG9zZWRDYXB0aW9uc0NvbnRhaW5lcikgeworICAgICAgICBpZiAobV9jbG9zZWRDYXB0aW9uc0Nv
bnRhaW5lci0+aXNTaG93aW5nKCkpCisgICAgICAgICAgICBoaWRlQ2xvc2VkQ2FwdGlvblRyYWNr
TGlzdCgpOworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGlmIChtX2Nsb3NlZENhcHRpb25z
VHJhY2tMaXN0KQorICAgICAgICAgICAgICAgIG1fY2xvc2VkQ2FwdGlvbnNUcmFja0xpc3QtPnVw
ZGF0ZURpc3BsYXkoKTsKKworICAgICAgICAgICAgc2hvd0Nsb3NlZENhcHRpb25UcmFja0xpc3Qo
KTsKKyAgICAgICAgfQorICAgIH0KK30KKwordm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpzaG93Q2xv
c2VkQ2FwdGlvblRyYWNrTGlzdCgpCit7CisgICAgbV92b2x1bWVTbGlkZXJDb250YWluZXItPmhp
ZGUoKTsKKworICAgIGlmICghbV9jbG9zZWRDYXB0aW9uc0NvbnRhaW5lciB8fCBtX2Nsb3NlZENh
cHRpb25zQ29udGFpbmVyLT5pc1Nob3dpbmcoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9j
bG9zZWRDYXB0aW9uc0NvbnRhaW5lci0+c2hvdygpOworCisgICAgbV9wYW5lbC0+c2V0SW5saW5l
U3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVBvaW50ZXJFdmVudHMsIENTU1ZhbHVlTm9uZSk7CiB9
CiAKK3ZvaWQgTWVkaWFDb250cm9sc0d0azo6aGlkZUNsb3NlZENhcHRpb25UcmFja0xpc3QoKQor
eworICAgIGlmICghbV9jbG9zZWRDYXB0aW9uc0NvbnRhaW5lciB8fCAhbV9jbG9zZWRDYXB0aW9u
c0NvbnRhaW5lci0+aXNTaG93aW5nKCkpCisgICAgICAgIHJldHVybjsKKworICAgIG1fY2xvc2Vk
Q2FwdGlvbnNDb250YWluZXItPmhpZGUoKTsKKworICAgIG1fcGFuZWwtPnJlbW92ZUlubGluZVN0
eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlQb2ludGVyRXZlbnRzKTsKK30KKworfQogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzR3RrLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzR3RrLmgKaW5kZXggMmVh
MzI1OTlmNWM0ZDdjOTI0OTIxNmFmNjE1YzM1NzE1YzcxY2I0OS4uMzcwYTg2YTc1NzIyNWMyMTFi
YWUyZDQ3MTg1ZmJkMjdlODU2M2Y0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvTWVkaWFDb250cm9sc0d0ay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L01lZGlhQ29udHJvbHNHdGsuaApAQCAtNDcsNiArNDcsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIHVwZGF0ZUN1cnJlbnRUaW1lRGlzcGxheSgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwg
dm9pZCBzaG93Vm9sdW1lU2xpZGVyKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIG1ha2VU
cmFuc3BhcmVudCgpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCB0b2dnbGVDbG9zZWRDYXB0
aW9uVHJhY2tMaXN0KCkgT1ZFUlJJREU7CiAKICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCiAgICAg
dm9pZCBjcmVhdGVUZXh0VHJhY2tEaXNwbGF5KCkgT1ZFUlJJREU7CkBAIC01NiwxMSArNTcsMTUg
QEAgcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0IE1lZGlhQ29udHJvbHNHdGsoRG9jdW1lbnQqKTsK
IAogICAgIGJvb2wgaW5pdGlhbGl6ZUNvbnRyb2xzKERvY3VtZW50Kik7CisgICAgdm9pZCBzaG93
Q2xvc2VkQ2FwdGlvblRyYWNrTGlzdCgpOworICAgIHZvaWQgaGlkZUNsb3NlZENhcHRpb25UcmFj
a0xpc3QoKTsKIAogcHJpdmF0ZToKICAgICBNZWRpYUNvbnRyb2xUaW1lUmVtYWluaW5nRGlzcGxh
eUVsZW1lbnQqIG1fZHVyYXRpb25EaXNwbGF5OwogICAgIE1lZGlhQ29udHJvbFBhbmVsRW5jbG9z
dXJlRWxlbWVudCogbV9lbmNsb3N1cmU7CiAgICAgTWVkaWFDb250cm9sVm9sdW1lU2xpZGVyQ29u
dGFpbmVyRWxlbWVudCogbV92b2x1bWVTbGlkZXJDb250YWluZXI7CisgICAgTWVkaWFDb250cm9s
Q2xvc2VkQ2FwdGlvbnNUcmFja0xpc3RFbGVtZW50KiBtX2Nsb3NlZENhcHRpb25zVHJhY2tMaXN0
OworICAgIE1lZGlhQ29udHJvbENsb3NlZENhcHRpb25zQ29udGFpbmVyRWxlbWVudCogbV9jbG9z
ZWRDYXB0aW9uc0NvbnRhaW5lcjsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nh
cHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwCmluZGV4IDI1MGVhNTU5ZDIxM2I2OTFlYzdkMjQ3YWM4
MDc5YjM0MjU2NDI1ODAuLjI4ODliYjI2ZmQyYmNhYTIyNDBlMThhMjk2Y2JmMWUzMTJmNTYzMjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcApA
QCAtMTU3LDYgKzE1Nyw5IEBAIHZvaWQgQ2FwdGlvblVzZXJQcmVmZXJlbmNlczo6c2V0UHJlZmVy
cmVkTGFuZ3VhZ2UoY29uc3QgU3RyaW5nJiBsYW5ndWFnZSkKIAogc3RhdGljIFN0cmluZyB0cmFj
a0Rpc3BsYXlOYW1lKFRleHRUcmFjayogdHJhY2spCiB7CisgICAgaWYgKHRyYWNrID09IFRleHRU
cmFjazo6Y2FwdGlvbk1lbnVPZmZJdGVtKCkpCisgICAgICAgIHJldHVybiB0ZXh0VHJhY2tPZmZN
ZW51SXRlbVRleHQoKTsKKwogICAgIGlmICh0cmFjay0+bGFiZWwoKS5pc0VtcHR5KCkgJiYgdHJh
Y2stPmxhbmd1YWdlKCkuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gdGV4dFRyYWNrTm9MYWJl
bFRleHQoKTsKICAgICBpZiAoIXRyYWNrLT5sYWJlbCgpLmlzRW1wdHkoKSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9Mb2NhbGl6ZWRTdHJpbmdzR3RrLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9Mb2NhbGl6ZWRTdHJpbmdzR3RrLmNwcAppbmRleCA5
NDk3Y2EyMjAyZjdmOGQ5ZTg3ZmM2ZjFiMWJlYWQ5YzE2NTgzNjRmLi5jODczNjRkZjM0ZTQ0MjMz
MWM0NWY5NmMwNWU3YWM1NjY5Mzc2MTFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ndGsvTG9jYWxpemVkU3RyaW5nc0d0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3RrL0xvY2FsaXplZFN0cmluZ3NHdGsuY3BwCkBAIC03OTAsMTcgKzc5MCwxNyBAQCBT
dHJpbmcgdGV4dFRyYWNrQ2xvc2VkQ2FwdGlvbnNUZXh0KCkKIAogU3RyaW5nIHRleHRUcmFja1N1
YnRpdGxlc1RleHQoKQogewotICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KENfKCJTdWJ0aXRs
ZXMiLCAiTWVudSBzZWN0aW9uIGhlYWRpbmcgZm9yIHN1YnRpdGxlcyIpKTsKKyAgICByZXR1cm4g
U3RyaW5nOjpmcm9tVVRGOChfKCJTdWJ0aXRsZXMiKSk7CiB9CiAKIFN0cmluZyB0ZXh0VHJhY2tP
ZmZNZW51SXRlbVRleHQoKQogewotICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KENfKCJPZmYi
LCAiTWVudSBpdGVtIGxhYmVsIGZvciB0aGUgdHJhY2sgdGhhdCByZXByZXNlbnRzIGRpc2FibGlu
ZyBjbG9zZWQgY2FwdGlvbnMiKSk7CisgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoXygiT2Zm
IikpOwogfQogCiBTdHJpbmcgdGV4dFRyYWNrTm9MYWJlbFRleHQoKQogewotICAgIHJldHVybiBT
dHJpbmc6OmZyb21VVEY4KENfKCJObyBsYWJlbCIsICJNZW51IGl0ZW0gbGFiZWwgZm9yIGEgY2xv
c2VkIGNhcHRpb25zIHRyYWNrIHRoYXQgaGFzIG5vIG90aGVyIG5hbWUiKSk7CisgICAgcmV0dXJu
IFN0cmluZzo6ZnJvbVVURjgoXygiTm8gbGFiZWwiKSk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGsuaAppbmRleCBhOGM5NzM1YzcwNzM1
MzZiM2EyMjkyZTg2MDRhNDc2ZTcyYjU3M2QwLi41ZTUzNDc2NDA5NWE4MTAwNzBiZGJkNmZhMzYy
ZWViZjM2Y2RhMTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVu
ZGVyVGhlbWVHdGsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVyVGhl
bWVHdGsuaApAQCAtODcsNiArODcsNyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKFZJREVPKQogICAg
IHZpcnR1YWwgU3RyaW5nIGV4dHJhTWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKTsKICAgICB2aXJ0
dWFsIFN0cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzQ3VycmVudFRpbWUoZmxvYXQgY3VycmVudFRp
bWUsIGZsb2F0IGR1cmF0aW9uKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNDbG9z
ZWRDYXB0aW9uaW5nKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gdHJ1ZTsgfQogCiAjaWYgRU5B
QkxFKEZVTExTQ1JFRU5fQVBJKQogICAgIHZpcnR1YWwgU3RyaW5nIGV4dHJhRnVsbFNjcmVlblN0
eWxlU2hlZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFNldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFNldHRpbmdzLmNwcAppbmRleCA1M2E1NDdhMWZiNGZmMzU5YjA3Njg0NThhNzE0NTQ0Yzc1
MDM3YzNiLi5jZTEyYzRmOGYzOGFkNmQ1YWM3MDg0MjQ1NzZhZDUwOGQzMzEwMDBmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuY3Bw
CkBAIC0xMTMyLDcgKzExMzIsNiBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfc2V0dGluZ3NfY2xhc3Nf
aW5pdChXZWJLaXRTZXR0aW5nc0NsYXNzKiBrbGFzcykKICAgICAgICAgICAgIF8oIldoZXRoZXIg
dG8gd3JpdGUgY29uc29sZSBtZXNzYWdlcyBvbiBzdGRvdXQiKSwKICAgICAgICAgICAgIEZBTFNF
LAogICAgICAgICAgICAgcmVhZFdyaXRlQ29uc3RydWN0UGFyYW1GbGFncykpOwotCiB9CiAKIFdl
YlByZWZlcmVuY2VzKiB3ZWJraXRTZXR0aW5nc0dldFByZWZlcmVuY2VzKFdlYktpdFNldHRpbmdz
KiBzZXR0aW5ncykKQEAgLTExNTEsNyArMTE1MCw5IEBAIFdlYlByZWZlcmVuY2VzKiB3ZWJraXRT
ZXR0aW5nc0dldFByZWZlcmVuY2VzKFdlYktpdFNldHRpbmdzKiBzZXR0aW5ncykKICAqLwogV2Vi
S2l0U2V0dGluZ3MqIHdlYmtpdF9zZXR0aW5nc19uZXcoKQogewotICAgIHJldHVybiBXRUJLSVRf
U0VUVElOR1MoZ19vYmplY3RfbmV3KFdFQktJVF9UWVBFX1NFVFRJTkdTLCBOVUxMKSk7CisgICAg
V2ViS2l0U2V0dGluZ3MqIHNldHRpbmdzID0gV0VCS0lUX1NFVFRJTkdTKGdfb2JqZWN0X25ldyhX
RUJLSVRfVFlQRV9TRVRUSU5HUywgTlVMTCkpOworICAgIHNldHRpbmdzLT5wcml2LT5wcmVmZXJl
bmNlcy0+c2V0U2hvdWxkRGlzcGxheVN1YnRpdGxlcyhUUlVFKTsKKyAgICByZXR1cm4gc2V0dGlu
Z3M7CiB9CiAKIC8qKgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209033</attachid>
            <date>2013-08-18 07:29:37 -0700</date>
            <delta_ts>2013-08-19 06:40:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117008-20130818162936.patch</filename>
            <type>text/plain</type>
            <size>17709</size>
            <attacher name="Danilo de Paula">danilo.eu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0MjQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTU0YjBmOWZkNmJjYzlk
MDE2OTY0NGM4Y2E5YmEwNWFhYmE5YzA1NS4uYzkyMGM1MTlmMTM2MzhhMDUxMGJkOWU4NTY2MTFl
MDk5YTM5ZWJhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ0IEBACiAyMDEzLTA4LTE4ICBEYW5p
bG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgog
CisgICAgICAgIFtXSzJdW0dUS10gYWRkIHN1cHBvcnQgZm9yIHN1YnRpdGxlcyBvbiB3ZWJraXQy
R1RLCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTcw
MDgKKworICAgICAgICBCeSBhY3RpdmF0aW5nIHN1YnRpdGxlcyBzdXBwb3J0IG9uIHdlYmtpdDJH
VEssIHRoZSB2aWRlbyBwbGF5ZXIKKyAgICAgICAgcmVjb2duaXplcyBhbmQgdXNlIHRleHQgPHRy
YWNrcz4gaW5zaWRlIDx2aWRlbz4gZWxlbWVudHMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBjc3MvbWVkaWFDb250cm9sc0d0ay5jc3M6CisgICAg
ICAgIChhdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10b2dnbGUtY2xvc2VkLWNhcHRpb25z
LWJ1dHRvbiwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdG9nZ2xlLWNsb3NlZC1jYXB0
aW9ucy1idXR0b24pOgorICAgICAgICAodmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY2xv
c2VkLWNhcHRpb25zLWNvbnRhaW5lcik6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1tZWRpYS1j
b250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCk6CisgICAgICAgICh2aWRlbzo6LXdl
YmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBoMyk6CisgICAg
ICAgICh2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2st
bGlzdCB1bCk6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQt
Y2FwdGlvbnMtdHJhY2stbGlzdCBsaSk6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1tZWRpYS1j
b250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBsaS5zZWxlY3RlZCk6CisgICAgICAg
ICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50OjpNZWRpYUNv
bnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50OjpkZWZhdWx0
RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50
cy5oOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0d0azo6TWVkaWFDb250cm9sc0d0ayk6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzR3RrOjppbml0aWFsaXplQ29udHJvbHMpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0d0azo6c2V0TWVkaWFDb250cm9sbGVyKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbHNHdGs6OnJlc2V0KToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhQ29udHJvbHNHdGs6OnRvZ2dsZUNsb3NlZENhcHRpb25UcmFja0xpc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0d0azo6c2hvd0Nsb3NlZENhcHRpb25UcmFja0xpc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0d0azo6aGlkZUNsb3NlZENhcHRpb25U
cmFja0xpc3QpOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuaDoKKyAg
ICAgICAgKiBwYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6dHJhY2tEaXNwbGF5TmFtZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL0xvY2FsaXplZFN0
cmluZ3NHdGsuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dGV4dFRyYWNrU3VidGl0bGVzVGV4dCk6
CisgICAgICAgIChXZWJDb3JlOjp0ZXh0VHJhY2tPZmZNZW51SXRlbVRleHQpOgorICAgICAgICAo
V2ViQ29yZTo6dGV4dFRyYWNrTm9MYWJlbFRleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9S
ZW5kZXJUaGVtZUd0ay5oOgorCisyMDEzLTA4LTE4ICBEYW5pbG8gQ2VzYXIgTGVtZXMgZGUgUGF1
bGEgIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgorCiAgICAgICAgIFtFRkxdIG1pbm9y
IG1ldGhvZCBuYW1lIGZpeCBmb3IgdGhlIHRleHRUcmFja09mZk1lbnVJdGVtVGV4dCBtZXRob2QK
ICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExOTk3OAog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKaW5kZXggODQzMGM3MDlkZjY4MzIxMjQ1ZWUyOGFkNWExMDc4OWYxNDc0ZmEzOS4u
ODQ0ZThkMmQ2ODliOWYzM2QzZWJkMWU1MjVlOTc1MDQ5OWRiYzgyZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE3IEBACisyMDEzLTA4LTE4ICBEYW5pbG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgIDxk
YW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgorCisgICAgICAgIFtXSzJdW0dUS10gYWRkIHN1
cHBvcnQgZm9yIHN1YnRpdGxlcyBvbiB3ZWJraXQyR1RLCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTcwMDgKKworICAgICAgICBCeSBhY3RpdmF0aW5n
IHN1YnRpdGxlcyBzdXBwb3J0IG9uIHdlYmtpdDJHVEssIHRoZSB2aWRlbyBwbGF5ZXIKKyAgICAg
ICAgcmVjb2duaXplcyBhbmQgdXNlIHRleHQgPHRyYWNrcz4gaW5zaWRlIDx2aWRlbz4gZWxlbWVu
dHMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5jcHA6CisgICAgICAgICh3ZWJraXRfc2V0
dGluZ3NfY2xhc3NfaW5pdCk6CisgICAgICAgICh3ZWJraXRfc2V0dGluZ3NfbmV3KToKKwogMjAx
My0wOC0xNyAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgPGh0dHBz
Oi8vd2Via2l0Lm9yZy9iLzExOTk0MT4gTWFrZSBQYWdlOjpkcmFnQ29udHJvbGxlciByZXR1cm4g
YSByZWZlcmVuY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9tZWRpYUNvbnRyb2xz
R3RrLmNzcyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9tZWRpYUNvbnRyb2xzR3RrLmNzcwppbmRleCA1
NzI5ZDQ1ODcyMWEwZDgyMWYwOTBiY2UzZTJmZWJiYzIzMzI4YmQ3Li42MWJhMTJhOTVjZTI1YTc2
MmNjYmViNWY4ZjZmMDJlMTg2MmE0NzNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
bWVkaWFDb250cm9sc0d0ay5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL21lZGlhQ29udHJv
bHNHdGsuY3NzCkBAIC0yMjIsNiArMjIyLDY5IEBAIGF1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRy
b2xzLXRvZ2dsZS1jbG9zZWQtY2FwdGlvbnMtYnV0dG9uLCB2aWRlbzo6LXdlYmtpdC1tZWRpCiAg
ICAgaGVpZ2h0OiAzMHB4OwogICAgIGxpbmUtaGVpZ2h0OiAzMHB4OwogICAgIG1hcmdpbjogMCA5
cHggMCAtN3B4OworICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsKKyAgICBiYWNrZ3Jv
dW5kLXBvc2l0aW9uOmNlbnRlcjsKKyAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1h
Z2Uvc3ZnK3htbCw8c3ZnIGlkPSJzdmc3Mzg0IiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3Jn
LzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAw
L3N2ZyIgaGVpZ2h0PSIxNiIgd2lkdGg9IjE2IiB2ZXJzaW9uPSIxLjEiIHhtbG5zOmNjPSJodHRw
Oi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMv
ZWxlbWVudHMvMS4xLyI+PG1ldGFkYXRhIGlkPSJtZXRhZGF0YTkwIj48cmRmOlJERj48Y2M6V29y
ayByZGY6YWJvdXQ9IiI+PGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+PGRjOnR5
cGUgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIv
PjxkYzp0aXRsZT5Hbm9tZSBTeW1ib2xpYyBJY29uIFRoZW1lPC9kYzp0aXRsZT48L2NjOldvcms+
PC9yZGY6UkRGPjwvbWV0YWRhdGE+PGcgaWQ9ImxheWVyOSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUo
LTEwMSwtMzU3KSI+PHBhdGggaWQ9InBhdGgxMjE0OCIgc3R5bGU9ImJsb2NrLXByb2dyZXNzaW9u
OnRiO2NvbG9yOiNiZWJlYmU7ZGlyZWN0aW9uOmx0cjt0ZXh0LWluZGVudDowO3RleHQtYWxpZ246
c3RhcnQ7ZW5hYmxlLWJhY2tncm91bmQ6YWNjdW11bGF0ZTt0ZXh0LXRyYW5zZm9ybTpub25lOyIg
ZmlsbD0iI2JlYmViZSIgZD0ibTEwNC43NSwzNTcuMDZjLTIuMDYwMiwwLTMuNzUsMS42ODk4LTMu
NzUsMy43NXY0LjQzNzVjMCwyLjA2MDIsMS42ODk4LDMuNzUsMy43NSwzLjc1aDQuOTM3NWwzLjc1
LDIuNjU2MiwxLjU5MzgsMS4xMjV2LTEuOTY4OGwtMC4wMzEzLTIuNWMxLjExMDYtMC41OTcxNSwx
Ljk2ODgtMS42NTI2LDEuOTY4OC0zLjA2MjV2LTQuNDM3NWMwLTIuMDYwMi0xLjY4OTgtMy43NS0z
Ljc1LTMuNzVoLTguNDY4OHptMCwyLDguNDY4OCwwYzAuOTg2OCwwLDEuNzUsMC43NjMyLDEuNzUs
MS43NXY0LjQzNzVjMCwwLjg2MjczLTAuNjM1MDgsMS41NDEtMS4xMjUsMS42MjVsLTAuODQsMC4x
MnYwLjg0Mzc1LDEuMDMxMmwtMi40MDYyLTEuNjg3NS0wLjI1LTAuMTg3NWgtMC4zMTI1LTUuMjgx
MmMtMC45ODY4LDAtMS43NS0wLjc2MzItMS43NS0xLjc1di00LjQzNzVjMC0wLjk4NjgsMC43NjMy
LTEuNzUsMS43NS0xLjc1eiIvPjwvZz48L3N2Zz4nKTsKK30KKwordmlkZW86Oi13ZWJraXQtbWVk
aWEtY29udHJvbHMtY2xvc2VkLWNhcHRpb25zLWNvbnRhaW5lciB7CisgICAgLXdlYmtpdC1hcHBl
YXJhbmNlOiBtZWRpYS1jbG9zZWQtY2FwdGlvbnMtY29udGFpbmVyOworICAgIHBvc2l0aW9uOiBh
YnNvbHV0ZTsKKyAgICBkaXNwbGF5OiBibG9jazsKKyAgICByaWdodDogMzhweDsKKyAgICBib3R0
b206IDM1cHg7CisgICAgbWF4LXdpZHRoOiAtd2Via2l0LWNhbGMoMTAwJSAtIDQ4cHgpOyAvKiBy
aWdodCArIDEwcHggKi8KKyAgICBtYXgtaGVpZ2h0OiAtd2Via2l0LWNhbGMoMTAwJSAtIDM1cHgp
OyAvKiBib3R0b20gKyAxMHB4ICovCisgICAgb3ZlcmZsb3cteDogaGlkZGVuOworICAgIG92ZXJm
bG93LXk6IGF1dG87CisgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMCwgMjAsIDIwLCAwLjgp
OworICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CisgICAgY3Vyc29yOiBkZWZhdWx0OworICAgIHot
aW5kZXg6IDI7Cit9CisKK3ZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWNsb3NlZC1jYXB0
aW9ucy10cmFjay1saXN0IHsKKyAgICBkaXNwbGF5OiBibG9jazsKKyAgICBmb250LWZhbWlseTog
IkhlbHZldGljYSBCb2xkIiwgSGVsdmV0aWNhOworICAgIGZvbnQtc2l6ZTogMTBwdDsKKyAgICAt
d2Via2l0LXVzZXItc2VsZWN0OiBub25lOworfQorCit2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250
cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBoMyB7CisgICAgbWFyZ2luOiAxcHggMzBw
eDsKKyAgICBjb2xvcjogIzc1NzU3NTsKKyAgICB0ZXh0LXNoYWRvdzogMCAxcHggMCBibGFjazsK
KyAgICBwYWRkaW5nLXRvcDogMHB4OworICAgIGZvbnQtd2VpZ2h0OiBib2xkOworICAgIGZvbnQt
c2l6ZTogMTBwdDsKK30KKwordmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY2xvc2VkLWNh
cHRpb25zLXRyYWNrLWxpc3QgdWwgeworICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsKKyAgICBt
YXJnaW46IDAgMCA0cHggMDsKKyAgICBwYWRkaW5nOiAwOworICAgIGZvbnQtd2VpZ2h0OiBib2xk
OworfQorCit2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJh
Y2stbGlzdCBsaSB7CisgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgIGNvbG9yOiB3aGl0ZTsK
KyAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOworICAgIHRleHQtc2hhZG93OiAwIDFweCAwIGJs
YWNrOworICAgIG1hcmdpbjogMDsKKyAgICBwYWRkaW5nLWxlZnQ6IDM3cHg7CisgICAgcGFkZGlu
Zy1yaWdodDogMzVweDsKKyAgICBwYWRkaW5nLXRvcDogMC4xNWVtOworICAgIHBhZGRpbmctYm90
dG9tOiAwLjJlbTsKKyAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OworICAgIG92ZXJmbG93OiBo
aWRkZW47CisgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKKyAgICB0ZXh0LW92ZXJmbG93OiBlbGxp
cHNpczsKKyAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwKTsKKyAgICBi
b3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwKTsKK30KK3ZpZGVvOjotd2Vi
a2l0LW1lZGlhLWNvbnRyb2xzLWNsb3NlZC1jYXB0aW9ucy10cmFjay1saXN0IGxpLnNlbGVjdGVk
IHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzMCwgMjMwLCAyMzAsIDAuMTUpOwogfQog
CiBhdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1mdWxsc2NyZWVuLWJ1dHRvbiwgdmlkZW86
Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtZnVsbHNjcmVlbi1idXR0b24gewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCmluZGV4IGE1
YThkZjQ3NTRjZGUyZDg3MDM0NDQzYTViN2RiNTA2YTI2MjljZDIuLmEwNWM4MDAwMTBiZmM0NTI1
YWUxYjAwMDA3Njc3NmVhMmJlZDgwN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKQEAgLTY3NywxMSArNjc3LDExIEBAIGNv
bnN0IEF0b21pY1N0cmluZyYgTWVkaWFDb250cm9sUmV0dXJuVG9SZWFsdGltZUJ1dHRvbkVsZW1l
bnQ6OnNoYWRvd1BzZXVkb0lkKCkKIAogTWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNC
dXR0b25FbGVtZW50OjpNZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1l
bnQoRG9jdW1lbnQqIGRvY3VtZW50LCBNZWRpYUNvbnRyb2xzKiBjb250cm9scykKICAgICA6IE1l
ZGlhQ29udHJvbElucHV0RWxlbWVudChkb2N1bWVudCwgTWVkaWFTaG93Q2xvc2VkQ2FwdGlvbnNC
dXR0b24pCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShXSU4pCisjaWYgUExBVEZPUk0o
TUFDKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKEdUSykKICAgICAsIG1fY29udHJvbHMo
Y29udHJvbHMpCiAjZW5kaWYKIHsKLSNpZiAhUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oV0lO
KQorI2lmICFQTEFURk9STShNQUMpICYmICFQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKEdUSykK
ICAgICBVTlVTRURfUEFSQU0oY29udHJvbHMpOwogI2VuZGlmCiB9CkBAIC03MTEsNyArNzExLDcg
QEAgdm9pZCBNZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQ6OmRl
ZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqIGUKICAgICAgICAgLy8gVUkuIE5vdCBhbGwgcG9ydHMg
bWF5IHdhbnQgdGhlIGNsb3NlZCBjYXB0aW9ucyBidXR0b24gdG8gdG9nZ2xlIGEgbGlzdCBvZiB0
cmFja3MsIHNvCiAgICAgICAgIC8vIHdlIGhhdmUgdG8gdXNlICNpZi4KICAgICAgICAgLy8gaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMTg3NwotI2lmICFQTEFURk9S
TShNQUMpICYmICFQTEFURk9STShXSU4pCisjaWYgIVBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JN
KFdJTikgJiYgIVBMQVRGT1JNKEdUSykKICAgICAgICAgbWVkaWFDb250cm9sbGVyKCktPnNldENs
b3NlZENhcHRpb25zVmlzaWJsZSghbWVkaWFDb250cm9sbGVyKCktPmNsb3NlZENhcHRpb25zVmlz
aWJsZSgpKTsKICAgICAgICAgc2V0Q2hlY2tlZChtZWRpYUNvbnRyb2xsZXIoKS0+Y2xvc2VkQ2Fw
dGlvbnNWaXNpYmxlKCkpOwogICAgICAgICB1cGRhdGVEaXNwbGF5VHlwZSgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmgKaW5kZXggNjgy
NjJkMzc3ZDEyNmY4YjJkYTRhM2U4YWU4ODUzZjFjZmY4OGVmZC4uMzY4YTU4MWY1OTBhNDUzNjBj
NDVkYjRlNTU3NDc1NzRlOWFiZDFmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oCkBAIC0yODAsNyArMjgwLDcgQEAgcHJpdmF0ZToK
ICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgc2hhZG93UHNldWRvSWQoKSBjb25zdCBP
VkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCopIE9W
RVJSSURFOwogCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShXSU4pCisjaWYgUExBVEZP
Uk0oTUFDKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKEdUSykKICAgICBNZWRpYUNvbnRy
b2xzKiBtX2NvbnRyb2xzOwogI2VuZGlmCiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvTWVkaWFDb250cm9sc0d0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xzR3RrLmNwcAppbmRleCA3MjgxODI0NTU4MTBkOWE5MTAwZDEzZjc5
OWZlYTBlMzNmYWVjNGQ2Li44MTYxYzk5YjgzMTY0ZmJiZTYzNjQ5NDQ2ZjBlNDI3OGU5MTBjNmE5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzR3Rr
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzR3RrLmNw
cApAQCAtMzcsNiArMzcsOCBAQCBNZWRpYUNvbnRyb2xzR3RrOjpNZWRpYUNvbnRyb2xzR3RrKERv
Y3VtZW50KiBkb2N1bWVudCkKICAgICA6IE1lZGlhQ29udHJvbHMoZG9jdW1lbnQpCiAgICAgLCBt
X2R1cmF0aW9uRGlzcGxheSgwKQogICAgICwgbV9lbmNsb3N1cmUoMCkKKyAgICAsIG1fY2xvc2Vk
Q2FwdGlvbnNUcmFja0xpc3QoMCkKKyAgICAsIG1fY2xvc2VkQ2FwdGlvbnNDb250YWluZXIoMCkK
IHsKIH0KIApAQCAtOTEsMTEgKzkzLDI0IEBAIGJvb2wgTWVkaWFDb250cm9sc0d0azo6aW5pdGlh
bGl6ZUNvbnRyb2xzKERvY3VtZW50KiBkb2N1bWVudCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
CiAgICAgaWYgKGRvY3VtZW50LT5wYWdlKCktPnRoZW1lKCktPnN1cHBvcnRzQ2xvc2VkQ2FwdGlv
bmluZygpKSB7CisgICAgICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xDbG9zZWRDYXB0aW9uc0NvbnRh
aW5lckVsZW1lbnQ+IGNsb3NlZENhcHRpb25zQ29udGFpbmVyID0gTWVkaWFDb250cm9sQ2xvc2Vk
Q2FwdGlvbnNDb250YWluZXJFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQpOworCisgICAgICAgIFJl
ZlB0cjxNZWRpYUNvbnRyb2xDbG9zZWRDYXB0aW9uc1RyYWNrTGlzdEVsZW1lbnQ+IGNsb3NlZENh
cHRpb25zVHJhY2tMaXN0ID0gTWVkaWFDb250cm9sQ2xvc2VkQ2FwdGlvbnNUcmFja0xpc3RFbGVt
ZW50OjpjcmVhdGUoZG9jdW1lbnQsIHRoaXMpOworICAgICAgICBtX2Nsb3NlZENhcHRpb25zVHJh
Y2tMaXN0ID0gY2xvc2VkQ2FwdGlvbnNUcmFja0xpc3QuZ2V0KCk7CisgICAgICAgIGNsb3NlZENh
cHRpb25zQ29udGFpbmVyLT5hcHBlbmRDaGlsZChjbG9zZWRDYXB0aW9uc1RyYWNrTGlzdC5yZWxl
YXNlKCksIGV4Y2VwdGlvbkNvZGUsIEF0dGFjaExhemlseSk7CisgICAgICAgIGlmIChleGNlcHRp
b25Db2RlKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgICAgIFJlZlB0cjxNZWRp
YUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQ+IHRvZ2dsZUNsb3NlZENh
cHRpb25zQnV0dG9uID0gTWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVt
ZW50OjpjcmVhdGUoZG9jdW1lbnQsIHRoaXMpOwogICAgICAgICBtX3RvZ2dsZUNsb3NlZENhcHRp
b25zQnV0dG9uID0gdG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b24uZ2V0KCk7CiAgICAgICAgIHBh
bmVsLT5hcHBlbmRDaGlsZCh0b2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbi5yZWxlYXNlKCksIGV4
Y2VwdGlvbkNvZGUsIEF0dGFjaExhemlseSk7CiAgICAgICAgIGlmIChleGNlcHRpb25Db2RlKQog
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIG1fY2xvc2VkQ2FwdGlvbnNDb250
YWluZXIgPSBjbG9zZWRDYXB0aW9uc0NvbnRhaW5lci5nZXQoKTsKKyAgICAgICAgYXBwZW5kQ2hp
bGQoY2xvc2VkQ2FwdGlvbnNDb250YWluZXIucmVsZWFzZSgpLCBleGNlcHRpb25Db2RlLCBBdHRh
Y2hMYXppbHkpOworICAgICAgICBpZiAoZXhjZXB0aW9uQ29kZSkKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICB9CiAKICAgICBSZWZQdHI8TWVkaWFDb250cm9sRnVsbHNjcmVlbkJ1dHRv
bkVsZW1lbnQ+IGZ1bGxzY3JlZW5CdXR0b24gPSBNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0dG9u
RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KTsKQEAgLTE0Nyw2ICsxNjIsMTAgQEAgdm9pZCBNZWRp
YUNvbnRyb2xzR3RrOjpzZXRNZWRpYUNvbnRyb2xsZXIoTWVkaWFDb250cm9sbGVySW50ZXJmYWNl
KiBjb250cm9sbGVyKQogICAgICAgICBtX2R1cmF0aW9uRGlzcGxheS0+c2V0TWVkaWFDb250cm9s
bGVyKGNvbnRyb2xsZXIpOwogICAgIGlmIChtX2VuY2xvc3VyZSkKICAgICAgICAgbV9lbmNsb3N1
cmUtPnNldE1lZGlhQ29udHJvbGxlcihjb250cm9sbGVyKTsKKyAgICBpZiAobV9jbG9zZWRDYXB0
aW9uc0NvbnRhaW5lcikKKyAgICAgICAgbV9jbG9zZWRDYXB0aW9uc0NvbnRhaW5lci0+c2V0TWVk
aWFDb250cm9sbGVyKGNvbnRyb2xsZXIpOworICAgIGlmIChtX2Nsb3NlZENhcHRpb25zVHJhY2tM
aXN0KQorICAgICAgICBtX2Nsb3NlZENhcHRpb25zVHJhY2tMaXN0LT5zZXRNZWRpYUNvbnRyb2xs
ZXIoY29udHJvbGxlcik7CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sc0d0azo6cmVzZXQoKQpAQCAt
MTU5LDYgKzE3OCwxMyBAQCB2b2lkIE1lZGlhQ29udHJvbHNHdGs6OnJlc2V0KCkKICAgICBtX2R1
cmF0aW9uRGlzcGxheS0+c2V0SW5uZXJUZXh0KHBhZ2UtPnRoZW1lKCktPmZvcm1hdE1lZGlhQ29u
dHJvbHNUaW1lKGR1cmF0aW9uKSwgQVNTRVJUX05PX0VYQ0VQVElPTik7CiAgICAgbV9kdXJhdGlv
bkRpc3BsYXktPnNldEN1cnJlbnRWYWx1ZShkdXJhdGlvbik7CiAKKyAgICBpZiAobV90b2dnbGVD
bG9zZWRDYXB0aW9uc0J1dHRvbikgeworICAgICAgICBpZiAobV9tZWRpYUNvbnRyb2xsZXItPmhh
c0Nsb3NlZENhcHRpb25zKCkpCisgICAgICAgICAgICBtX3RvZ2dsZUNsb3NlZENhcHRpb25zQnV0
dG9uLT5zaG93KCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1fdG9nZ2xlQ2xvc2VkQ2Fw
dGlvbnNCdXR0b24tPmhpZGUoKTsKKyAgICB9CisKICAgICBNZWRpYUNvbnRyb2xzOjpyZXNldCgp
OwogfQogCkBAIC0yMzYsNiArMjYyLDQ0IEBAIHZvaWQgTWVkaWFDb250cm9sc0d0azo6Y3JlYXRl
VGV4dFRyYWNrRGlzcGxheSgpCiB9CiAjZW5kaWYKIAordm9pZCBNZWRpYUNvbnRyb2xzR3RrOjp0
b2dnbGVDbG9zZWRDYXB0aW9uVHJhY2tMaXN0KCkKK3sKKyAgICBpZiAoIW1fbWVkaWFDb250cm9s
bGVyLT5oYXNDbG9zZWRDYXB0aW9ucygpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAobV9j
bG9zZWRDYXB0aW9uc0NvbnRhaW5lcikgeworICAgICAgICBpZiAobV9jbG9zZWRDYXB0aW9uc0Nv
bnRhaW5lci0+aXNTaG93aW5nKCkpCisgICAgICAgICAgICBoaWRlQ2xvc2VkQ2FwdGlvblRyYWNr
TGlzdCgpOworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGlmIChtX2Nsb3NlZENhcHRpb25z
VHJhY2tMaXN0KQorICAgICAgICAgICAgICAgIG1fY2xvc2VkQ2FwdGlvbnNUcmFja0xpc3QtPnVw
ZGF0ZURpc3BsYXkoKTsKKworICAgICAgICAgICAgc2hvd0Nsb3NlZENhcHRpb25UcmFja0xpc3Qo
KTsKKyAgICAgICAgfQorICAgIH0KK30KKwordm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpzaG93Q2xv
c2VkQ2FwdGlvblRyYWNrTGlzdCgpCit7CisgICAgbV92b2x1bWVTbGlkZXJDb250YWluZXItPmhp
ZGUoKTsKKworICAgIGlmICghbV9jbG9zZWRDYXB0aW9uc0NvbnRhaW5lciB8fCBtX2Nsb3NlZENh
cHRpb25zQ29udGFpbmVyLT5pc1Nob3dpbmcoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9j
bG9zZWRDYXB0aW9uc0NvbnRhaW5lci0+c2hvdygpOworCisgICAgbV9wYW5lbC0+c2V0SW5saW5l
U3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVBvaW50ZXJFdmVudHMsIENTU1ZhbHVlTm9uZSk7CiB9
CiAKK3ZvaWQgTWVkaWFDb250cm9sc0d0azo6aGlkZUNsb3NlZENhcHRpb25UcmFja0xpc3QoKQor
eworICAgIGlmICghbV9jbG9zZWRDYXB0aW9uc0NvbnRhaW5lciB8fCAhbV9jbG9zZWRDYXB0aW9u
c0NvbnRhaW5lci0+aXNTaG93aW5nKCkpCisgICAgICAgIHJldHVybjsKKworICAgIG1fY2xvc2Vk
Q2FwdGlvbnNDb250YWluZXItPmhpZGUoKTsKKworICAgIG1fcGFuZWwtPnJlbW92ZUlubGluZVN0
eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlQb2ludGVyRXZlbnRzKTsKK30KKworfQogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzR3RrLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzR3RrLmgKaW5kZXggMmVh
MzI1OTlmNWM0ZDdjOTI0OTIxNmFmNjE1YzM1NzE1YzcxY2I0OS4uMzcwYTg2YTc1NzIyNWMyMTFi
YWUyZDQ3MTg1ZmJkMjdlODU2M2Y0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvTWVkaWFDb250cm9sc0d0ay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L01lZGlhQ29udHJvbHNHdGsuaApAQCAtNDcsNiArNDcsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIHVwZGF0ZUN1cnJlbnRUaW1lRGlzcGxheSgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwg
dm9pZCBzaG93Vm9sdW1lU2xpZGVyKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIG1ha2VU
cmFuc3BhcmVudCgpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCB0b2dnbGVDbG9zZWRDYXB0
aW9uVHJhY2tMaXN0KCkgT1ZFUlJJREU7CiAKICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCiAgICAg
dm9pZCBjcmVhdGVUZXh0VHJhY2tEaXNwbGF5KCkgT1ZFUlJJREU7CkBAIC01NiwxMSArNTcsMTUg
QEAgcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0IE1lZGlhQ29udHJvbHNHdGsoRG9jdW1lbnQqKTsK
IAogICAgIGJvb2wgaW5pdGlhbGl6ZUNvbnRyb2xzKERvY3VtZW50Kik7CisgICAgdm9pZCBzaG93
Q2xvc2VkQ2FwdGlvblRyYWNrTGlzdCgpOworICAgIHZvaWQgaGlkZUNsb3NlZENhcHRpb25UcmFj
a0xpc3QoKTsKIAogcHJpdmF0ZToKICAgICBNZWRpYUNvbnRyb2xUaW1lUmVtYWluaW5nRGlzcGxh
eUVsZW1lbnQqIG1fZHVyYXRpb25EaXNwbGF5OwogICAgIE1lZGlhQ29udHJvbFBhbmVsRW5jbG9z
dXJlRWxlbWVudCogbV9lbmNsb3N1cmU7CiAgICAgTWVkaWFDb250cm9sVm9sdW1lU2xpZGVyQ29u
dGFpbmVyRWxlbWVudCogbV92b2x1bWVTbGlkZXJDb250YWluZXI7CisgICAgTWVkaWFDb250cm9s
Q2xvc2VkQ2FwdGlvbnNUcmFja0xpc3RFbGVtZW50KiBtX2Nsb3NlZENhcHRpb25zVHJhY2tMaXN0
OworICAgIE1lZGlhQ29udHJvbENsb3NlZENhcHRpb25zQ29udGFpbmVyRWxlbWVudCogbV9jbG9z
ZWRDYXB0aW9uc0NvbnRhaW5lcjsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nh
cHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwCmluZGV4IDI1MGVhNTU5ZDIxM2I2OTFlYzdkMjQ3YWM4
MDc5YjM0MjU2NDI1ODAuLjI4ODliYjI2ZmQyYmNhYTIyNDBlMThhMjk2Y2JmMWUzMTJmNTYzMjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcApA
QCAtMTU3LDYgKzE1Nyw5IEBAIHZvaWQgQ2FwdGlvblVzZXJQcmVmZXJlbmNlczo6c2V0UHJlZmVy
cmVkTGFuZ3VhZ2UoY29uc3QgU3RyaW5nJiBsYW5ndWFnZSkKIAogc3RhdGljIFN0cmluZyB0cmFj
a0Rpc3BsYXlOYW1lKFRleHRUcmFjayogdHJhY2spCiB7CisgICAgaWYgKHRyYWNrID09IFRleHRU
cmFjazo6Y2FwdGlvbk1lbnVPZmZJdGVtKCkpCisgICAgICAgIHJldHVybiB0ZXh0VHJhY2tPZmZN
ZW51SXRlbVRleHQoKTsKKwogICAgIGlmICh0cmFjay0+bGFiZWwoKS5pc0VtcHR5KCkgJiYgdHJh
Y2stPmxhbmd1YWdlKCkuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gdGV4dFRyYWNrTm9MYWJl
bFRleHQoKTsKICAgICBpZiAoIXRyYWNrLT5sYWJlbCgpLmlzRW1wdHkoKSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9Mb2NhbGl6ZWRTdHJpbmdzR3RrLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9Mb2NhbGl6ZWRTdHJpbmdzR3RrLmNwcAppbmRleCA5
NDk3Y2EyMjAyZjdmOGQ5ZTg3ZmM2ZjFiMWJlYWQ5YzE2NTgzNjRmLi5jODczNjRkZjM0ZTQ0MjMz
MWM0NWY5NmMwNWU3YWM1NjY5Mzc2MTFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ndGsvTG9jYWxpemVkU3RyaW5nc0d0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3RrL0xvY2FsaXplZFN0cmluZ3NHdGsuY3BwCkBAIC03OTAsMTcgKzc5MCwxNyBAQCBT
dHJpbmcgdGV4dFRyYWNrQ2xvc2VkQ2FwdGlvbnNUZXh0KCkKIAogU3RyaW5nIHRleHRUcmFja1N1
YnRpdGxlc1RleHQoKQogewotICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KENfKCJTdWJ0aXRs
ZXMiLCAiTWVudSBzZWN0aW9uIGhlYWRpbmcgZm9yIHN1YnRpdGxlcyIpKTsKKyAgICByZXR1cm4g
U3RyaW5nOjpmcm9tVVRGOChfKCJTdWJ0aXRsZXMiKSk7CiB9CiAKIFN0cmluZyB0ZXh0VHJhY2tP
ZmZNZW51SXRlbVRleHQoKQogewotICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KENfKCJPZmYi
LCAiTWVudSBpdGVtIGxhYmVsIGZvciB0aGUgdHJhY2sgdGhhdCByZXByZXNlbnRzIGRpc2FibGlu
ZyBjbG9zZWQgY2FwdGlvbnMiKSk7CisgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoXygiT2Zm
IikpOwogfQogCiBTdHJpbmcgdGV4dFRyYWNrTm9MYWJlbFRleHQoKQogewotICAgIHJldHVybiBT
dHJpbmc6OmZyb21VVEY4KENfKCJObyBsYWJlbCIsICJNZW51IGl0ZW0gbGFiZWwgZm9yIGEgY2xv
c2VkIGNhcHRpb25zIHRyYWNrIHRoYXQgaGFzIG5vIG90aGVyIG5hbWUiKSk7CisgICAgcmV0dXJu
IFN0cmluZzo6ZnJvbVVURjgoXygiTm8gbGFiZWwiKSk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGsuaAppbmRleCBhOGM5NzM1YzcwNzM1
MzZiM2EyMjkyZTg2MDRhNDc2ZTcyYjU3M2QwLi41ZTUzNDc2NDA5NWE4MTAwNzBiZGJkNmZhMzYy
ZWViZjM2Y2RhMTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVu
ZGVyVGhlbWVHdGsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVyVGhl
bWVHdGsuaApAQCAtODcsNiArODcsNyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKFZJREVPKQogICAg
IHZpcnR1YWwgU3RyaW5nIGV4dHJhTWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKTsKICAgICB2aXJ0
dWFsIFN0cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzQ3VycmVudFRpbWUoZmxvYXQgY3VycmVudFRp
bWUsIGZsb2F0IGR1cmF0aW9uKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNDbG9z
ZWRDYXB0aW9uaW5nKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gdHJ1ZTsgfQogCiAjaWYgRU5B
QkxFKEZVTExTQ1JFRU5fQVBJKQogICAgIHZpcnR1YWwgU3RyaW5nIGV4dHJhRnVsbFNjcmVlblN0
eWxlU2hlZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFNldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFNldHRpbmdzLmNwcAppbmRleCA1M2E1NDdhMWZiNGZmMzU5YjA3Njg0NThhNzE0NTQ0Yzc1
MDM3YzNiLi42ZTdiNTAzNGNmOWJjNTNlNzhjZDA0MjIwN2FjZWUzYmVlN2NjMDFmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuY3Bw
CkBAIC0xNDMsNiArMTQzLDcgQEAgc3RhdGljIHZvaWQgd2ViS2l0U2V0dGluZ3NDb25zdHJ1Y3Rl
ZChHT2JqZWN0KiBvYmplY3QpCiAgICAgR19PQkpFQ1RfQ0xBU1Mod2Via2l0X3NldHRpbmdzX3Bh
cmVudF9jbGFzcyktPmNvbnN0cnVjdGVkKG9iamVjdCk7CiAKICAgICBXZWJQcmVmZXJlbmNlcyog
cHJlZnMgPSBXRUJLSVRfU0VUVElOR1Mob2JqZWN0KS0+cHJpdi0+cHJlZmVyZW5jZXMuZ2V0KCk7
CisgICAgcHJlZnMtPnNldFNob3VsZERpc3BsYXlTdWJ0aXRsZXMoVFJVRSk7CiAgICAgRXhwZXJp
bWVudGFsRmVhdHVyZXMgZmVhdHVyZXM7CiAgICAgYm9vbCByZWdpb25CYXNlZENvbHVtbnNFbmFi
bGVkID0gZmVhdHVyZXMuaXNFbmFibGVkKEV4cGVyaW1lbnRhbEZlYXR1cmVzOjpSZWdpb25CYXNl
ZENvbHVtbnMpOwogICAgIGlmIChwcmVmcy0+cmVnaW9uQmFzZWRDb2x1bW5zRW5hYmxlZCgpICE9
IHJlZ2lvbkJhc2VkQ29sdW1uc0VuYWJsZWQpCkBAIC0xMTMyLDcgKzExMzMsNiBAQCBzdGF0aWMg
dm9pZCB3ZWJraXRfc2V0dGluZ3NfY2xhc3NfaW5pdChXZWJLaXRTZXR0aW5nc0NsYXNzKiBrbGFz
cykKICAgICAgICAgICAgIF8oIldoZXRoZXIgdG8gd3JpdGUgY29uc29sZSBtZXNzYWdlcyBvbiBz
dGRvdXQiKSwKICAgICAgICAgICAgIEZBTFNFLAogICAgICAgICAgICAgcmVhZFdyaXRlQ29uc3Ry
dWN0UGFyYW1GbGFncykpOwotCiB9CiAKIFdlYlByZWZlcmVuY2VzKiB3ZWJraXRTZXR0aW5nc0dl
dFByZWZlcmVuY2VzKFdlYktpdFNldHRpbmdzKiBzZXR0aW5ncykK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209082</attachid>
            <date>2013-08-19 06:40:35 -0700</date>
            <delta_ts>2013-08-23 12:06:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117008-20130819104033.patch</filename>
            <type>text/plain</type>
            <size>17603</size>
            <attacher name="Danilo de Paula">danilo.eu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0MjQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTU0YjBmOWZkNmJjYzlk
MDE2OTY0NGM4Y2E5YmEwNWFhYmE5YzA1NS4uYzkyMGM1MTlmMTM2MzhhMDUxMGJkOWU4NTY2MTFl
MDk5YTM5ZWJhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ0IEBACiAyMDEzLTA4LTE4ICBEYW5p
bG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgog
CisgICAgICAgIFtXSzJdW0dUS10gYWRkIHN1cHBvcnQgZm9yIHN1YnRpdGxlcyBvbiB3ZWJraXQy
R1RLCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTcw
MDgKKworICAgICAgICBCeSBhY3RpdmF0aW5nIHN1YnRpdGxlcyBzdXBwb3J0IG9uIHdlYmtpdDJH
VEssIHRoZSB2aWRlbyBwbGF5ZXIKKyAgICAgICAgcmVjb2duaXplcyBhbmQgdXNlIHRleHQgPHRy
YWNrcz4gaW5zaWRlIDx2aWRlbz4gZWxlbWVudHMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBjc3MvbWVkaWFDb250cm9sc0d0ay5jc3M6CisgICAg
ICAgIChhdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10b2dnbGUtY2xvc2VkLWNhcHRpb25z
LWJ1dHRvbiwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdG9nZ2xlLWNsb3NlZC1jYXB0
aW9ucy1idXR0b24pOgorICAgICAgICAodmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY2xv
c2VkLWNhcHRpb25zLWNvbnRhaW5lcik6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1tZWRpYS1j
b250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCk6CisgICAgICAgICh2aWRlbzo6LXdl
YmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBoMyk6CisgICAg
ICAgICh2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2st
bGlzdCB1bCk6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQt
Y2FwdGlvbnMtdHJhY2stbGlzdCBsaSk6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1tZWRpYS1j
b250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBsaS5zZWxlY3RlZCk6CisgICAgICAg
ICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50OjpNZWRpYUNv
bnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50OjpkZWZhdWx0
RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50
cy5oOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0d0azo6TWVkaWFDb250cm9sc0d0ayk6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzR3RrOjppbml0aWFsaXplQ29udHJvbHMpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0d0azo6c2V0TWVkaWFDb250cm9sbGVyKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbHNHdGs6OnJlc2V0KToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhQ29udHJvbHNHdGs6OnRvZ2dsZUNsb3NlZENhcHRpb25UcmFja0xpc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0d0azo6c2hvd0Nsb3NlZENhcHRpb25UcmFja0xpc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0d0azo6aGlkZUNsb3NlZENhcHRpb25U
cmFja0xpc3QpOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuaDoKKyAg
ICAgICAgKiBwYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6dHJhY2tEaXNwbGF5TmFtZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL0xvY2FsaXplZFN0
cmluZ3NHdGsuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dGV4dFRyYWNrU3VidGl0bGVzVGV4dCk6
CisgICAgICAgIChXZWJDb3JlOjp0ZXh0VHJhY2tPZmZNZW51SXRlbVRleHQpOgorICAgICAgICAo
V2ViQ29yZTo6dGV4dFRyYWNrTm9MYWJlbFRleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9S
ZW5kZXJUaGVtZUd0ay5oOgorCisyMDEzLTA4LTE4ICBEYW5pbG8gQ2VzYXIgTGVtZXMgZGUgUGF1
bGEgIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgorCiAgICAgICAgIFtFRkxdIG1pbm9y
IG1ldGhvZCBuYW1lIGZpeCBmb3IgdGhlIHRleHRUcmFja09mZk1lbnVJdGVtVGV4dCBtZXRob2QK
ICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExOTk3OAog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKaW5kZXggODQzMGM3MDlkZjY4MzIxMjQ1ZWUyOGFkNWExMDc4OWYxNDc0ZmEzOS4u
ODQ0ZThkMmQ2ODliOWYzM2QzZWJkMWU1MjVlOTc1MDQ5OWRiYzgyZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE3IEBACisyMDEzLTA4LTE4ICBEYW5pbG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgIDxk
YW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgorCisgICAgICAgIFtXSzJdW0dUS10gYWRkIHN1
cHBvcnQgZm9yIHN1YnRpdGxlcyBvbiB3ZWJraXQyR1RLCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTcwMDgKKworICAgICAgICBCeSBhY3RpdmF0aW5n
IHN1YnRpdGxlcyBzdXBwb3J0IG9uIHdlYmtpdDJHVEssIHRoZSB2aWRlbyBwbGF5ZXIKKyAgICAg
ICAgcmVjb2duaXplcyBhbmQgdXNlIHRleHQgPHRyYWNrcz4gaW5zaWRlIDx2aWRlbz4gZWxlbWVu
dHMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5jcHA6CisgICAgICAgICh3ZWJraXRfc2V0
dGluZ3NfY2xhc3NfaW5pdCk6CisgICAgICAgICh3ZWJraXRfc2V0dGluZ3NfbmV3KToKKwogMjAx
My0wOC0xNyAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgPGh0dHBz
Oi8vd2Via2l0Lm9yZy9iLzExOTk0MT4gTWFrZSBQYWdlOjpkcmFnQ29udHJvbGxlciByZXR1cm4g
YSByZWZlcmVuY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9tZWRpYUNvbnRyb2xz
R3RrLmNzcyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9tZWRpYUNvbnRyb2xzR3RrLmNzcwppbmRleCA1
NzI5ZDQ1ODcyMWEwZDgyMWYwOTBiY2UzZTJmZWJiYzIzMzI4YmQ3Li42MWJhMTJhOTVjZTI1YTc2
MmNjYmViNWY4ZjZmMDJlMTg2MmE0NzNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
bWVkaWFDb250cm9sc0d0ay5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL21lZGlhQ29udHJv
bHNHdGsuY3NzCkBAIC0yMjIsNiArMjIyLDY5IEBAIGF1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRy
b2xzLXRvZ2dsZS1jbG9zZWQtY2FwdGlvbnMtYnV0dG9uLCB2aWRlbzo6LXdlYmtpdC1tZWRpCiAg
ICAgaGVpZ2h0OiAzMHB4OwogICAgIGxpbmUtaGVpZ2h0OiAzMHB4OwogICAgIG1hcmdpbjogMCA5
cHggMCAtN3B4OworICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsKKyAgICBiYWNrZ3Jv
dW5kLXBvc2l0aW9uOmNlbnRlcjsKKyAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1h
Z2Uvc3ZnK3htbCw8c3ZnIGlkPSJzdmc3Mzg0IiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3Jn
LzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAw
L3N2ZyIgaGVpZ2h0PSIxNiIgd2lkdGg9IjE2IiB2ZXJzaW9uPSIxLjEiIHhtbG5zOmNjPSJodHRw
Oi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMv
ZWxlbWVudHMvMS4xLyI+PG1ldGFkYXRhIGlkPSJtZXRhZGF0YTkwIj48cmRmOlJERj48Y2M6V29y
ayByZGY6YWJvdXQ9IiI+PGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+PGRjOnR5
cGUgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIv
PjxkYzp0aXRsZT5Hbm9tZSBTeW1ib2xpYyBJY29uIFRoZW1lPC9kYzp0aXRsZT48L2NjOldvcms+
PC9yZGY6UkRGPjwvbWV0YWRhdGE+PGcgaWQ9ImxheWVyOSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUo
LTEwMSwtMzU3KSI+PHBhdGggaWQ9InBhdGgxMjE0OCIgc3R5bGU9ImJsb2NrLXByb2dyZXNzaW9u
OnRiO2NvbG9yOiNiZWJlYmU7ZGlyZWN0aW9uOmx0cjt0ZXh0LWluZGVudDowO3RleHQtYWxpZ246
c3RhcnQ7ZW5hYmxlLWJhY2tncm91bmQ6YWNjdW11bGF0ZTt0ZXh0LXRyYW5zZm9ybTpub25lOyIg
ZmlsbD0iI2JlYmViZSIgZD0ibTEwNC43NSwzNTcuMDZjLTIuMDYwMiwwLTMuNzUsMS42ODk4LTMu
NzUsMy43NXY0LjQzNzVjMCwyLjA2MDIsMS42ODk4LDMuNzUsMy43NSwzLjc1aDQuOTM3NWwzLjc1
LDIuNjU2MiwxLjU5MzgsMS4xMjV2LTEuOTY4OGwtMC4wMzEzLTIuNWMxLjExMDYtMC41OTcxNSwx
Ljk2ODgtMS42NTI2LDEuOTY4OC0zLjA2MjV2LTQuNDM3NWMwLTIuMDYwMi0xLjY4OTgtMy43NS0z
Ljc1LTMuNzVoLTguNDY4OHptMCwyLDguNDY4OCwwYzAuOTg2OCwwLDEuNzUsMC43NjMyLDEuNzUs
MS43NXY0LjQzNzVjMCwwLjg2MjczLTAuNjM1MDgsMS41NDEtMS4xMjUsMS42MjVsLTAuODQsMC4x
MnYwLjg0Mzc1LDEuMDMxMmwtMi40MDYyLTEuNjg3NS0wLjI1LTAuMTg3NWgtMC4zMTI1LTUuMjgx
MmMtMC45ODY4LDAtMS43NS0wLjc2MzItMS43NS0xLjc1di00LjQzNzVjMC0wLjk4NjgsMC43NjMy
LTEuNzUsMS43NS0xLjc1eiIvPjwvZz48L3N2Zz4nKTsKK30KKwordmlkZW86Oi13ZWJraXQtbWVk
aWEtY29udHJvbHMtY2xvc2VkLWNhcHRpb25zLWNvbnRhaW5lciB7CisgICAgLXdlYmtpdC1hcHBl
YXJhbmNlOiBtZWRpYS1jbG9zZWQtY2FwdGlvbnMtY29udGFpbmVyOworICAgIHBvc2l0aW9uOiBh
YnNvbHV0ZTsKKyAgICBkaXNwbGF5OiBibG9jazsKKyAgICByaWdodDogMzhweDsKKyAgICBib3R0
b206IDM1cHg7CisgICAgbWF4LXdpZHRoOiAtd2Via2l0LWNhbGMoMTAwJSAtIDQ4cHgpOyAvKiBy
aWdodCArIDEwcHggKi8KKyAgICBtYXgtaGVpZ2h0OiAtd2Via2l0LWNhbGMoMTAwJSAtIDM1cHgp
OyAvKiBib3R0b20gKyAxMHB4ICovCisgICAgb3ZlcmZsb3cteDogaGlkZGVuOworICAgIG92ZXJm
bG93LXk6IGF1dG87CisgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMCwgMjAsIDIwLCAwLjgp
OworICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CisgICAgY3Vyc29yOiBkZWZhdWx0OworICAgIHot
aW5kZXg6IDI7Cit9CisKK3ZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWNsb3NlZC1jYXB0
aW9ucy10cmFjay1saXN0IHsKKyAgICBkaXNwbGF5OiBibG9jazsKKyAgICBmb250LWZhbWlseTog
IkhlbHZldGljYSBCb2xkIiwgSGVsdmV0aWNhOworICAgIGZvbnQtc2l6ZTogMTBwdDsKKyAgICAt
d2Via2l0LXVzZXItc2VsZWN0OiBub25lOworfQorCit2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250
cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBoMyB7CisgICAgbWFyZ2luOiAxcHggMzBw
eDsKKyAgICBjb2xvcjogIzc1NzU3NTsKKyAgICB0ZXh0LXNoYWRvdzogMCAxcHggMCBibGFjazsK
KyAgICBwYWRkaW5nLXRvcDogMHB4OworICAgIGZvbnQtd2VpZ2h0OiBib2xkOworICAgIGZvbnQt
c2l6ZTogMTBwdDsKK30KKwordmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY2xvc2VkLWNh
cHRpb25zLXRyYWNrLWxpc3QgdWwgeworICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsKKyAgICBt
YXJnaW46IDAgMCA0cHggMDsKKyAgICBwYWRkaW5nOiAwOworICAgIGZvbnQtd2VpZ2h0OiBib2xk
OworfQorCit2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJh
Y2stbGlzdCBsaSB7CisgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgIGNvbG9yOiB3aGl0ZTsK
KyAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOworICAgIHRleHQtc2hhZG93OiAwIDFweCAwIGJs
YWNrOworICAgIG1hcmdpbjogMDsKKyAgICBwYWRkaW5nLWxlZnQ6IDM3cHg7CisgICAgcGFkZGlu
Zy1yaWdodDogMzVweDsKKyAgICBwYWRkaW5nLXRvcDogMC4xNWVtOworICAgIHBhZGRpbmctYm90
dG9tOiAwLjJlbTsKKyAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OworICAgIG92ZXJmbG93OiBo
aWRkZW47CisgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKKyAgICB0ZXh0LW92ZXJmbG93OiBlbGxp
cHNpczsKKyAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwKTsKKyAgICBi
b3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwKTsKK30KK3ZpZGVvOjotd2Vi
a2l0LW1lZGlhLWNvbnRyb2xzLWNsb3NlZC1jYXB0aW9ucy10cmFjay1saXN0IGxpLnNlbGVjdGVk
IHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzMCwgMjMwLCAyMzAsIDAuMTUpOwogfQog
CiBhdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1mdWxsc2NyZWVuLWJ1dHRvbiwgdmlkZW86
Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtZnVsbHNjcmVlbi1idXR0b24gewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCmluZGV4IGE1
YThkZjQ3NTRjZGUyZDg3MDM0NDQzYTViN2RiNTA2YTI2MjljZDIuLmEwNWM4MDAwMTBiZmM0NTI1
YWUxYjAwMDA3Njc3NmVhMmJlZDgwN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKQEAgLTY3NywxMSArNjc3LDExIEBAIGNv
bnN0IEF0b21pY1N0cmluZyYgTWVkaWFDb250cm9sUmV0dXJuVG9SZWFsdGltZUJ1dHRvbkVsZW1l
bnQ6OnNoYWRvd1BzZXVkb0lkKCkKIAogTWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNC
dXR0b25FbGVtZW50OjpNZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1l
bnQoRG9jdW1lbnQqIGRvY3VtZW50LCBNZWRpYUNvbnRyb2xzKiBjb250cm9scykKICAgICA6IE1l
ZGlhQ29udHJvbElucHV0RWxlbWVudChkb2N1bWVudCwgTWVkaWFTaG93Q2xvc2VkQ2FwdGlvbnNC
dXR0b24pCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShXSU4pCisjaWYgUExBVEZPUk0o
TUFDKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKEdUSykKICAgICAsIG1fY29udHJvbHMo
Y29udHJvbHMpCiAjZW5kaWYKIHsKLSNpZiAhUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oV0lO
KQorI2lmICFQTEFURk9STShNQUMpICYmICFQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKEdUSykK
ICAgICBVTlVTRURfUEFSQU0oY29udHJvbHMpOwogI2VuZGlmCiB9CkBAIC03MTEsNyArNzExLDcg
QEAgdm9pZCBNZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQ6OmRl
ZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqIGUKICAgICAgICAgLy8gVUkuIE5vdCBhbGwgcG9ydHMg
bWF5IHdhbnQgdGhlIGNsb3NlZCBjYXB0aW9ucyBidXR0b24gdG8gdG9nZ2xlIGEgbGlzdCBvZiB0
cmFja3MsIHNvCiAgICAgICAgIC8vIHdlIGhhdmUgdG8gdXNlICNpZi4KICAgICAgICAgLy8gaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMTg3NwotI2lmICFQTEFURk9S
TShNQUMpICYmICFQTEFURk9STShXSU4pCisjaWYgIVBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JN
KFdJTikgJiYgIVBMQVRGT1JNKEdUSykKICAgICAgICAgbWVkaWFDb250cm9sbGVyKCktPnNldENs
b3NlZENhcHRpb25zVmlzaWJsZSghbWVkaWFDb250cm9sbGVyKCktPmNsb3NlZENhcHRpb25zVmlz
aWJsZSgpKTsKICAgICAgICAgc2V0Q2hlY2tlZChtZWRpYUNvbnRyb2xsZXIoKS0+Y2xvc2VkQ2Fw
dGlvbnNWaXNpYmxlKCkpOwogICAgICAgICB1cGRhdGVEaXNwbGF5VHlwZSgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmgKaW5kZXggNjgy
NjJkMzc3ZDEyNmY4YjJkYTRhM2U4YWU4ODUzZjFjZmY4OGVmZC4uMzY4YTU4MWY1OTBhNDUzNjBj
NDVkYjRlNTU3NDc1NzRlOWFiZDFmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oCkBAIC0yODAsNyArMjgwLDcgQEAgcHJpdmF0ZToK
ICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgc2hhZG93UHNldWRvSWQoKSBjb25zdCBP
VkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCopIE9W
RVJSSURFOwogCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShXSU4pCisjaWYgUExBVEZP
Uk0oTUFDKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKEdUSykKICAgICBNZWRpYUNvbnRy
b2xzKiBtX2NvbnRyb2xzOwogI2VuZGlmCiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvTWVkaWFDb250cm9sc0d0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xzR3RrLmNwcAppbmRleCA3MjgxODI0NTU4MTBkOWE5MTAwZDEzZjc5
OWZlYTBlMzNmYWVjNGQ2Li5iNmM4ZDZiYTAyNGIxOGVlMGVlNTFmOGYyN2VmZTcyZDM4MTcxMTQ3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzR3Rr
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzR3RrLmNw
cApAQCAtMzcsNiArMzcsOCBAQCBNZWRpYUNvbnRyb2xzR3RrOjpNZWRpYUNvbnRyb2xzR3RrKERv
Y3VtZW50KiBkb2N1bWVudCkKICAgICA6IE1lZGlhQ29udHJvbHMoZG9jdW1lbnQpCiAgICAgLCBt
X2R1cmF0aW9uRGlzcGxheSgwKQogICAgICwgbV9lbmNsb3N1cmUoMCkKKyAgICAsIG1fY2xvc2Vk
Q2FwdGlvbnNUcmFja0xpc3QoMCkKKyAgICAsIG1fY2xvc2VkQ2FwdGlvbnNDb250YWluZXIoMCkK
IHsKIH0KIApAQCAtOTEsMTEgKzkzLDI0IEBAIGJvb2wgTWVkaWFDb250cm9sc0d0azo6aW5pdGlh
bGl6ZUNvbnRyb2xzKERvY3VtZW50KiBkb2N1bWVudCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
CiAgICAgaWYgKGRvY3VtZW50LT5wYWdlKCktPnRoZW1lKCktPnN1cHBvcnRzQ2xvc2VkQ2FwdGlv
bmluZygpKSB7CisgICAgICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xDbG9zZWRDYXB0aW9uc0NvbnRh
aW5lckVsZW1lbnQ+IGNsb3NlZENhcHRpb25zQ29udGFpbmVyID0gTWVkaWFDb250cm9sQ2xvc2Vk
Q2FwdGlvbnNDb250YWluZXJFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQpOworCisgICAgICAgIFJl
ZlB0cjxNZWRpYUNvbnRyb2xDbG9zZWRDYXB0aW9uc1RyYWNrTGlzdEVsZW1lbnQ+IGNsb3NlZENh
cHRpb25zVHJhY2tMaXN0ID0gTWVkaWFDb250cm9sQ2xvc2VkQ2FwdGlvbnNUcmFja0xpc3RFbGVt
ZW50OjpjcmVhdGUoZG9jdW1lbnQsIHRoaXMpOworICAgICAgICBtX2Nsb3NlZENhcHRpb25zVHJh
Y2tMaXN0ID0gY2xvc2VkQ2FwdGlvbnNUcmFja0xpc3QuZ2V0KCk7CisgICAgICAgIGNsb3NlZENh
cHRpb25zQ29udGFpbmVyLT5hcHBlbmRDaGlsZChjbG9zZWRDYXB0aW9uc1RyYWNrTGlzdC5yZWxl
YXNlKCksIGV4Y2VwdGlvbkNvZGUsIEF0dGFjaExhemlseSk7CisgICAgICAgIGlmIChleGNlcHRp
b25Db2RlKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgICAgIFJlZlB0cjxNZWRp
YUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQ+IHRvZ2dsZUNsb3NlZENh
cHRpb25zQnV0dG9uID0gTWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVt
ZW50OjpjcmVhdGUoZG9jdW1lbnQsIHRoaXMpOwogICAgICAgICBtX3RvZ2dsZUNsb3NlZENhcHRp
b25zQnV0dG9uID0gdG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b24uZ2V0KCk7CiAgICAgICAgIHBh
bmVsLT5hcHBlbmRDaGlsZCh0b2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbi5yZWxlYXNlKCksIGV4
Y2VwdGlvbkNvZGUsIEF0dGFjaExhemlseSk7CiAgICAgICAgIGlmIChleGNlcHRpb25Db2RlKQog
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIG1fY2xvc2VkQ2FwdGlvbnNDb250
YWluZXIgPSBjbG9zZWRDYXB0aW9uc0NvbnRhaW5lci5nZXQoKTsKKyAgICAgICAgYXBwZW5kQ2hp
bGQoY2xvc2VkQ2FwdGlvbnNDb250YWluZXIucmVsZWFzZSgpLCBleGNlcHRpb25Db2RlLCBBdHRh
Y2hMYXppbHkpOworICAgICAgICBpZiAoZXhjZXB0aW9uQ29kZSkKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICB9CiAKICAgICBSZWZQdHI8TWVkaWFDb250cm9sRnVsbHNjcmVlbkJ1dHRv
bkVsZW1lbnQ+IGZ1bGxzY3JlZW5CdXR0b24gPSBNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0dG9u
RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KTsKQEAgLTE0Nyw2ICsxNjIsMTAgQEAgdm9pZCBNZWRp
YUNvbnRyb2xzR3RrOjpzZXRNZWRpYUNvbnRyb2xsZXIoTWVkaWFDb250cm9sbGVySW50ZXJmYWNl
KiBjb250cm9sbGVyKQogICAgICAgICBtX2R1cmF0aW9uRGlzcGxheS0+c2V0TWVkaWFDb250cm9s
bGVyKGNvbnRyb2xsZXIpOwogICAgIGlmIChtX2VuY2xvc3VyZSkKICAgICAgICAgbV9lbmNsb3N1
cmUtPnNldE1lZGlhQ29udHJvbGxlcihjb250cm9sbGVyKTsKKyAgICBpZiAobV9jbG9zZWRDYXB0
aW9uc0NvbnRhaW5lcikKKyAgICAgICAgbV9jbG9zZWRDYXB0aW9uc0NvbnRhaW5lci0+c2V0TWVk
aWFDb250cm9sbGVyKGNvbnRyb2xsZXIpOworICAgIGlmIChtX2Nsb3NlZENhcHRpb25zVHJhY2tM
aXN0KQorICAgICAgICBtX2Nsb3NlZENhcHRpb25zVHJhY2tMaXN0LT5zZXRNZWRpYUNvbnRyb2xs
ZXIoY29udHJvbGxlcik7CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sc0d0azo6cmVzZXQoKQpAQCAt
MTU5LDYgKzE3OCwxMyBAQCB2b2lkIE1lZGlhQ29udHJvbHNHdGs6OnJlc2V0KCkKICAgICBtX2R1
cmF0aW9uRGlzcGxheS0+c2V0SW5uZXJUZXh0KHBhZ2UtPnRoZW1lKCktPmZvcm1hdE1lZGlhQ29u
dHJvbHNUaW1lKGR1cmF0aW9uKSwgQVNTRVJUX05PX0VYQ0VQVElPTik7CiAgICAgbV9kdXJhdGlv
bkRpc3BsYXktPnNldEN1cnJlbnRWYWx1ZShkdXJhdGlvbik7CiAKKyAgICBpZiAobV90b2dnbGVD
bG9zZWRDYXB0aW9uc0J1dHRvbikgeworICAgICAgICBpZiAobV9tZWRpYUNvbnRyb2xsZXItPmhh
c0Nsb3NlZENhcHRpb25zKCkpCisgICAgICAgICAgICBtX3RvZ2dsZUNsb3NlZENhcHRpb25zQnV0
dG9uLT5zaG93KCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1fdG9nZ2xlQ2xvc2VkQ2Fw
dGlvbnNCdXR0b24tPmhpZGUoKTsKKyAgICB9CisKICAgICBNZWRpYUNvbnRyb2xzOjpyZXNldCgp
OwogfQogCkBAIC0yMDgsNiArMjM0LDggQEAgdm9pZCBNZWRpYUNvbnRyb2xzR3RrOjptYWtlVHJh
bnNwYXJlbnQoKQogCiAgICAgaWYgKG1fdm9sdW1lU2xpZGVyQ29udGFpbmVyKQogICAgICAgICBt
X3ZvbHVtZVNsaWRlckNvbnRhaW5lci0+aGlkZSgpOworCisgICAgaGlkZUNsb3NlZENhcHRpb25U
cmFja0xpc3QoKTsKIH0KIAogdm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpzaG93Vm9sdW1lU2xpZGVy
KCkKQEAgLTIzNiw2ICsyNjQsNDIgQEAgdm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpjcmVhdGVUZXh0
VHJhY2tEaXNwbGF5KCkKIH0KICNlbmRpZgogCit2b2lkIE1lZGlhQ29udHJvbHNHdGs6OnRvZ2ds
ZUNsb3NlZENhcHRpb25UcmFja0xpc3QoKQoreworICAgIGlmICghbV9tZWRpYUNvbnRyb2xsZXIt
Pmhhc0Nsb3NlZENhcHRpb25zKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICghbV9jbG9z
ZWRDYXB0aW9uc0NvbnRhaW5lciB8fCAhbV9jbG9zZWRDYXB0aW9uc1RyYWNrTGlzdCkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaWYgKG1fY2xvc2VkQ2FwdGlvbnNDb250YWluZXItPmlzU2hvd2lu
ZygpKSB7CisgICAgICAgIGhpZGVDbG9zZWRDYXB0aW9uVHJhY2tMaXN0KCk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKKyAgICBtX2Nsb3NlZENhcHRpb25zVHJhY2tMaXN0LT51cGRhdGVEaXNw
bGF5KCk7CisgICAgc2hvd0Nsb3NlZENhcHRpb25UcmFja0xpc3QoKTsKIH0KIAordm9pZCBNZWRp
YUNvbnRyb2xzR3RrOjpzaG93Q2xvc2VkQ2FwdGlvblRyYWNrTGlzdCgpCit7CisgICAgbV92b2x1
bWVTbGlkZXJDb250YWluZXItPmhpZGUoKTsKKworICAgIGlmICghbV9jbG9zZWRDYXB0aW9uc0Nv
bnRhaW5lciB8fCBtX2Nsb3NlZENhcHRpb25zQ29udGFpbmVyLT5pc1Nob3dpbmcoKSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgbV9jbG9zZWRDYXB0aW9uc0NvbnRhaW5lci0+c2hvdygpOworICAg
IG1fcGFuZWwtPnNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlQb2ludGVyRXZlbnRz
LCBDU1NWYWx1ZU5vbmUpOworfQorCit2b2lkIE1lZGlhQ29udHJvbHNHdGs6OmhpZGVDbG9zZWRD
YXB0aW9uVHJhY2tMaXN0KCkKK3sKKyAgICBpZiAoIW1fY2xvc2VkQ2FwdGlvbnNDb250YWluZXIg
fHwgIW1fY2xvc2VkQ2FwdGlvbnNDb250YWluZXItPmlzU2hvd2luZygpKQorICAgICAgICByZXR1
cm47CisKKyAgICBtX2Nsb3NlZENhcHRpb25zQ29udGFpbmVyLT5oaWRlKCk7CisgICAgbV9wYW5l
bC0+cmVtb3ZlSW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVBvaW50ZXJFdmVudHMpOwor
fQorCit9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01l
ZGlhQ29udHJvbHNHdGsuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJv
bHNHdGsuaAppbmRleCAyZWEzMjU5OWY1YzRkN2M5MjQ5MjE2YWY2MTVjMzU3MTVjNzFjYjQ5Li4z
NzBhODZhNzU3MjI1YzIxMWJhZTJkNDcxODVmYmQyN2U4NTYzZjRkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzR3RrLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sc0d0ay5oCkBAIC00Nyw2ICs0Nyw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQ3VycmVudFRpbWVEaXNwbGF5KCkgT1ZFUlJJ
REU7CiAgICAgdmlydHVhbCB2b2lkIHNob3dWb2x1bWVTbGlkZXIoKSBPVkVSUklERTsKICAgICB2
aXJ0dWFsIHZvaWQgbWFrZVRyYW5zcGFyZW50KCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lk
IHRvZ2dsZUNsb3NlZENhcHRpb25UcmFja0xpc3QoKSBPVkVSUklERTsKIAogI2lmIEVOQUJMRShW
SURFT19UUkFDSykKICAgICB2b2lkIGNyZWF0ZVRleHRUcmFja0Rpc3BsYXkoKSBPVkVSUklERTsK
QEAgLTU2LDExICs1NywxNSBAQCBwcm90ZWN0ZWQ6CiAgICAgZXhwbGljaXQgTWVkaWFDb250cm9s
c0d0ayhEb2N1bWVudCopOwogCiAgICAgYm9vbCBpbml0aWFsaXplQ29udHJvbHMoRG9jdW1lbnQq
KTsKKyAgICB2b2lkIHNob3dDbG9zZWRDYXB0aW9uVHJhY2tMaXN0KCk7CisgICAgdm9pZCBoaWRl
Q2xvc2VkQ2FwdGlvblRyYWNrTGlzdCgpOwogCiBwcml2YXRlOgogICAgIE1lZGlhQ29udHJvbFRp
bWVSZW1haW5pbmdEaXNwbGF5RWxlbWVudCogbV9kdXJhdGlvbkRpc3BsYXk7CiAgICAgTWVkaWFD
b250cm9sUGFuZWxFbmNsb3N1cmVFbGVtZW50KiBtX2VuY2xvc3VyZTsKICAgICBNZWRpYUNvbnRy
b2xWb2x1bWVTbGlkZXJDb250YWluZXJFbGVtZW50KiBtX3ZvbHVtZVNsaWRlckNvbnRhaW5lcjsK
KyAgICBNZWRpYUNvbnRyb2xDbG9zZWRDYXB0aW9uc1RyYWNrTGlzdEVsZW1lbnQqIG1fY2xvc2Vk
Q2FwdGlvbnNUcmFja0xpc3Q7CisgICAgTWVkaWFDb250cm9sQ2xvc2VkQ2FwdGlvbnNDb250YWlu
ZXJFbGVtZW50KiBtX2Nsb3NlZENhcHRpb25zQ29udGFpbmVyOwogfTsKIAogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAKaW5kZXggMjUwZWE1NTlk
MjEzYjY5MWVjN2QyNDdhYzgwNzliMzQyNTY0MjU4MC4uMjg4OWJiMjZmZDJiY2FhMjI0MGUxOGEy
OTZjYmYxZTMxMmY1NjMyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9u
VXNlclByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2Vy
UHJlZmVyZW5jZXMuY3BwCkBAIC0xNTcsNiArMTU3LDkgQEAgdm9pZCBDYXB0aW9uVXNlclByZWZl
cmVuY2VzOjpzZXRQcmVmZXJyZWRMYW5ndWFnZShjb25zdCBTdHJpbmcmIGxhbmd1YWdlKQogCiBz
dGF0aWMgU3RyaW5nIHRyYWNrRGlzcGxheU5hbWUoVGV4dFRyYWNrKiB0cmFjaykKIHsKKyAgICBp
ZiAodHJhY2sgPT0gVGV4dFRyYWNrOjpjYXB0aW9uTWVudU9mZkl0ZW0oKSkKKyAgICAgICAgcmV0
dXJuIHRleHRUcmFja09mZk1lbnVJdGVtVGV4dCgpOworCiAgICAgaWYgKHRyYWNrLT5sYWJlbCgp
LmlzRW1wdHkoKSAmJiB0cmFjay0+bGFuZ3VhZ2UoKS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVy
biB0ZXh0VHJhY2tOb0xhYmVsVGV4dCgpOwogICAgIGlmICghdHJhY2stPmxhYmVsKCkuaXNFbXB0
eSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0xvY2FsaXplZFN0
cmluZ3NHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0xvY2FsaXplZFN0cmlu
Z3NHdGsuY3BwCmluZGV4IDk0OTdjYTIyMDJmN2Y4ZDllODdmYzZmMWIxYmVhZDljMTY1ODM2NGYu
LmM4NzM2NGRmMzRlNDQyMzMxYzQ1Zjk2YzA1ZTdhYzU2NjkzNzYxMWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9Mb2NhbGl6ZWRTdHJpbmdzR3RrLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvTG9jYWxpemVkU3RyaW5nc0d0ay5jcHAKQEAgLTc5
MCwxNyArNzkwLDE3IEBAIFN0cmluZyB0ZXh0VHJhY2tDbG9zZWRDYXB0aW9uc1RleHQoKQogCiBT
dHJpbmcgdGV4dFRyYWNrU3VidGl0bGVzVGV4dCgpCiB7Ci0gICAgcmV0dXJuIFN0cmluZzo6ZnJv
bVVURjgoQ18oIlN1YnRpdGxlcyIsICJNZW51IHNlY3Rpb24gaGVhZGluZyBmb3Igc3VidGl0bGVz
IikpOworICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KF8oIlN1YnRpdGxlcyIpKTsKIH0KIAog
U3RyaW5nIHRleHRUcmFja09mZk1lbnVJdGVtVGV4dCgpCiB7Ci0gICAgcmV0dXJuIFN0cmluZzo6
ZnJvbVVURjgoQ18oIk9mZiIsICJNZW51IGl0ZW0gbGFiZWwgZm9yIHRoZSB0cmFjayB0aGF0IHJl
cHJlc2VudHMgZGlzYWJsaW5nIGNsb3NlZCBjYXB0aW9ucyIpKTsKKyAgICByZXR1cm4gU3RyaW5n
Ojpmcm9tVVRGOChfKCJPZmYiKSk7CiB9CiAKIFN0cmluZyB0ZXh0VHJhY2tOb0xhYmVsVGV4dCgp
CiB7Ci0gICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoQ18oIk5vIGxhYmVsIiwgIk1lbnUgaXRl
bSBsYWJlbCBmb3IgYSBjbG9zZWQgY2FwdGlvbnMgdHJhY2sgdGhhdCBoYXMgbm8gb3RoZXIgbmFt
ZSIpKTsKKyAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChfKCJObyBsYWJlbCIpKTsKIH0KICNl
bmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVyVGhl
bWVHdGsuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0ay5oCmlu
ZGV4IGE4Yzk3MzVjNzA3MzUzNmIzYTIyOTJlODYwNGE0NzZlNzJiNTczZDAuLjVlNTM0NzY0MDk1
YTgxMDA3MGJkYmQ2ZmEzNjJlZWJmMzZjZGExMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0ay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2d0ay9SZW5kZXJUaGVtZUd0ay5oCkBAIC04Nyw2ICs4Nyw3IEBAIHB1YmxpYzoKICNpZiBF
TkFCTEUoVklERU8pCiAgICAgdmlydHVhbCBTdHJpbmcgZXh0cmFNZWRpYUNvbnRyb2xzU3R5bGVT
aGVldCgpOwogICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNDdXJyZW50VGlt
ZShmbG9hdCBjdXJyZW50VGltZSwgZmxvYXQgZHVyYXRpb24pIGNvbnN0OworICAgIHZpcnR1YWwg
Ym9vbCBzdXBwb3J0c0Nsb3NlZENhcHRpb25pbmcoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiB0
cnVlOyB9CiAKICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCiAgICAgdmlydHVhbCBTdHJpbmcg
ZXh0cmFGdWxsU2NyZWVuU3R5bGVTaGVldCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuY3BwCmluZGV4IDUzYTU0N2ExZmI0ZmYzNTli
MDc2ODQ1OGE3MTQ1NDRjNzUwMzdjM2IuLmU3YmQ5MjQ1MjAwZjMxNTk5ZDhiNDcxMWQwNDkyMTQ3
NzljMzkwY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFNldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRTZXR0aW5ncy5jcHAKQEAgLTE0Myw2ICsxNDMsOCBAQCBzdGF0aWMgdm9pZCB3ZWJLaXRT
ZXR0aW5nc0NvbnN0cnVjdGVkKEdPYmplY3QqIG9iamVjdCkKICAgICBHX09CSkVDVF9DTEFTUyh3
ZWJraXRfc2V0dGluZ3NfcGFyZW50X2NsYXNzKS0+Y29uc3RydWN0ZWQob2JqZWN0KTsKIAogICAg
IFdlYlByZWZlcmVuY2VzKiBwcmVmcyA9IFdFQktJVF9TRVRUSU5HUyhvYmplY3QpLT5wcml2LT5w
cmVmZXJlbmNlcy5nZXQoKTsKKyAgICBwcmVmcy0+c2V0U2hvdWxkRGlzcGxheVN1YnRpdGxlcyhU
UlVFKTsKKwogICAgIEV4cGVyaW1lbnRhbEZlYXR1cmVzIGZlYXR1cmVzOwogICAgIGJvb2wgcmVn
aW9uQmFzZWRDb2x1bW5zRW5hYmxlZCA9IGZlYXR1cmVzLmlzRW5hYmxlZChFeHBlcmltZW50YWxG
ZWF0dXJlczo6UmVnaW9uQmFzZWRDb2x1bW5zKTsKICAgICBpZiAocHJlZnMtPnJlZ2lvbkJhc2Vk
Q29sdW1uc0VuYWJsZWQoKSAhPSByZWdpb25CYXNlZENvbHVtbnNFbmFibGVkKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209487</attachid>
            <date>2013-08-23 12:07:17 -0700</date>
            <delta_ts>2013-08-23 12:47:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117008-20130823160713.patch</filename>
            <type>text/plain</type>
            <size>24303</size>
            <attacher name="Danilo de Paula">danilo.eu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0MjQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTU0YjBmOWZkNmJjYzlk
MDE2OTY0NGM4Y2E5YmEwNWFhYmE5YzA1NS4uYjM5NDYxNDExODU2OTY5NmFiZWUyMWVhY2ZkMTNh
NWFkNGQ3NjNmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDEzLTA4LTIzICBEYW5p
bG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgor
CisgICAgICAgIFtXSzJdW0dUS10gYWRkIHN1cHBvcnQgZm9yIHN1YnRpdGxlcyBvbiB3ZWJraXQy
R1RLCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTcw
MDgKKworICAgICAgICBCeSBhY3RpdmF0aW5nIHN1YnRpdGxlcyBzdXBwb3J0IG9uIHdlYmtpdDJH
VEssIHRoZSB2aWRlbyBwbGF5ZXIKKyAgICAgICAgcmVjb2duaXplcyBhbmQgdXNlIHRleHQgPHRy
YWNrcz4gaW5zaWRlIDx2aWRlbz4gZWxlbWVudHMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTGF5b3V0IHRlc3RzICh0cmFjay1tZW51KSBzaG91bGQg
Y292ZXIgdGhpcyBjaGFuZ2UuCisKKyAgICAgICAgKiBjc3MvbWVkaWFDb250cm9sc0d0ay5jc3M6
CisgICAgICAgIChhdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10b2dnbGUtY2xvc2VkLWNh
cHRpb25zLWJ1dHRvbiwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdG9nZ2xlLWNsb3Nl
ZC1jYXB0aW9ucy1idXR0b24pOgorICAgICAgICAodmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJv
bHMtY2xvc2VkLWNhcHRpb25zLWNvbnRhaW5lcik6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1t
ZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCk6CisgICAgICAgICh2aWRl
bzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBoMyk6
CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMt
dHJhY2stbGlzdCB1bCk6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1j
bG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBsaSk6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1t
ZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBsaS5zZWxlY3RlZCk6Cisg
ICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50OjpN
ZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50Ojpk
ZWZhdWx0RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xF
bGVtZW50cy5oOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXI6OmNyZWF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lcjo6Y2FzdCk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lcjo6TWVkaWFD
b250cm9sc0d0a0V2ZW50TGlzdGVuZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9s
c0d0azo6TWVkaWFDb250cm9sc0d0ayk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xz
R3RrOjppbml0aWFsaXplQ29udHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9s
c0d0azo6c2V0TWVkaWFDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJv
bHNHdGs6OnJlc2V0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbHNHdGs6Om1ha2VU
cmFuc3BhcmVudCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzR3RrOjp0b2dnbGVD
bG9zZWRDYXB0aW9uVHJhY2tMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbHNH
dGs6OnNob3dDbG9zZWRDYXB0aW9uVHJhY2tMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
Q29udHJvbHNHdGs6OmhpZGVDbG9zZWRDYXB0aW9uVHJhY2tMaXN0KToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhQ29udHJvbHNHdGs6OmhhbmRsZUNsaWNrRXZlbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFDb250cm9sc0d0azo6ZXZlbnRMaXN0ZW5lcik6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lcjo6aGFuZGxlRXZlbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXI6Om9wZXJhdG9yPT0pOgorICAgICAg
ICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuaDoKKyAgICAgICAgKiBwYWdlL0NhcHRp
b25Vc2VyUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dHJhY2tEaXNwbGF5TmFt
ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL0xvY2FsaXplZFN0cmluZ3NHdGsuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6dGV4dFRyYWNrU3VidGl0bGVzVGV4dCk6CisgICAgICAgIChXZWJDb3Jl
Ojp0ZXh0VHJhY2tPZmZNZW51SXRlbVRleHQpOgorICAgICAgICAoV2ViQ29yZTo6dGV4dFRyYWNr
Tm9MYWJlbFRleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0ay5oOgor
CiAyMDEzLTA4LTE4ICBEYW5pbG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgIDxkYW5pbG8uY2VzYXJA
Y29sbGFib3JhLmNvLnVrPgogCiAgICAgICAgIFtFRkxdIG1pbm9yIG1ldGhvZCBuYW1lIGZpeCBm
b3IgdGhlIHRleHRUcmFja09mZk1lbnVJdGVtVGV4dCBtZXRob2QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA4NDMw
YzcwOWRmNjgzMjEyNDVlZTI4YWQ1YTEwNzg5ZjE0NzRmYTM5Li44NDRlOGQyZDY4OWI5ZjMzZDNl
YmQxZTUyNWU5NzUwNDk5ZGJjODJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMt
MDgtMTggIERhbmlsbyBDZXNhciBMZW1lcyBkZSBQYXVsYSAgPGRhbmlsby5jZXNhckBjb2xsYWJv
cmEuY28udWs+CisKKyAgICAgICAgW1dLMl1bR1RLXSBhZGQgc3VwcG9ydCBmb3Igc3VidGl0bGVz
IG9uIHdlYmtpdDJHVEsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExNzAwOAorCisgICAgICAgIEJ5IGFjdGl2YXRpbmcgc3VidGl0bGVzIHN1cHBvcnQg
b24gd2Via2l0MkdUSywgdGhlIHZpZGVvIHBsYXllcgorICAgICAgICByZWNvZ25pemVzIGFuZCB1
c2UgdGV4dCA8dHJhY2tzPiBpbnNpZGUgPHZpZGVvPiBlbGVtZW50cy4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFNldHRpbmdzLmNwcDoKKyAgICAgICAgKHdlYmtpdF9zZXR0aW5nc19jbGFzc19pbml0KToK
KyAgICAgICAgKHdlYmtpdF9zZXR0aW5nc19uZXcpOgorCiAyMDEzLTA4LTE3ICBEYXJpbiBBZGxl
ciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTE5
OTQxPiBNYWtlIFBhZ2U6OmRyYWdDb250cm9sbGVyIHJldHVybiBhIHJlZmVyZW5jZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL21lZGlhQ29udHJvbHNHdGsuY3NzIGIvU291cmNlL1dl
YkNvcmUvY3NzL21lZGlhQ29udHJvbHNHdGsuY3NzCmluZGV4IDU3MjlkNDU4NzIxYTBkODIxZjA5
MGJjZTNlMmZlYmJjMjMzMjhiZDcuLjYxYmExMmE5NWNlMjVhNzYyY2NiZWI1ZjhmNmYwMmUxODYy
YTQ3M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9tZWRpYUNvbnRyb2xzR3RrLmNz
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvbWVkaWFDb250cm9sc0d0ay5jc3MKQEAgLTIyMiw2
ICsyMjIsNjkgQEAgYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdG9nZ2xlLWNsb3NlZC1j
YXB0aW9ucy1idXR0b24sIHZpZGVvOjotd2Via2l0LW1lZGkKICAgICBoZWlnaHQ6IDMwcHg7CiAg
ICAgbGluZS1oZWlnaHQ6IDMwcHg7CiAgICAgbWFyZ2luOiAwIDlweCAwIC03cHg7CisgICAgYmFj
a2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0OworICAgIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVy
OworICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgaWQ9
InN2ZzczODQiIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3lu
dGF4LW5zIyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBoZWlnaHQ9IjE2IiB3
aWR0aD0iMTYiIHZlcnNpb249IjEuMSIgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMu
b3JnL25zIyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj48bWV0
YWRhdGEgaWQ9Im1ldGFkYXRhOTAiPjxyZGY6UkRGPjxjYzpXb3JrIHJkZjphYm91dD0iIj48ZGM6
Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD48ZGM6dHlwZSByZGY6cmVzb3VyY2U9Imh0
dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIi8+PGRjOnRpdGxlPkdub21lIFN5
bWJvbGljIEljb24gVGhlbWU8L2RjOnRpdGxlPjwvY2M6V29yaz48L3JkZjpSREY+PC9tZXRhZGF0
YT48ZyBpZD0ibGF5ZXI5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTAxLC0zNTcpIj48cGF0aCBp
ZD0icGF0aDEyMTQ4IiBzdHlsZT0iYmxvY2stcHJvZ3Jlc3Npb246dGI7Y29sb3I6I2JlYmViZTtk
aXJlY3Rpb246bHRyO3RleHQtaW5kZW50OjA7dGV4dC1hbGlnbjpzdGFydDtlbmFibGUtYmFja2dy
b3VuZDphY2N1bXVsYXRlO3RleHQtdHJhbnNmb3JtOm5vbmU7IiBmaWxsPSIjYmViZWJlIiBkPSJt
MTA0Ljc1LDM1Ny4wNmMtMi4wNjAyLDAtMy43NSwxLjY4OTgtMy43NSwzLjc1djQuNDM3NWMwLDIu
MDYwMiwxLjY4OTgsMy43NSwzLjc1LDMuNzVoNC45Mzc1bDMuNzUsMi42NTYyLDEuNTkzOCwxLjEy
NXYtMS45Njg4bC0wLjAzMTMtMi41YzEuMTEwNi0wLjU5NzE1LDEuOTY4OC0xLjY1MjYsMS45Njg4
LTMuMDYyNXYtNC40Mzc1YzAtMi4wNjAyLTEuNjg5OC0zLjc1LTMuNzUtMy43NWgtOC40Njg4em0w
LDIsOC40Njg4LDBjMC45ODY4LDAsMS43NSwwLjc2MzIsMS43NSwxLjc1djQuNDM3NWMwLDAuODYy
NzMtMC42MzUwOCwxLjU0MS0xLjEyNSwxLjYyNWwtMC44NCwwLjEydjAuODQzNzUsMS4wMzEybC0y
LjQwNjItMS42ODc1LTAuMjUtMC4xODc1aC0wLjMxMjUtNS4yODEyYy0wLjk4NjgsMC0xLjc1LTAu
NzYzMi0xLjc1LTEuNzV2LTQuNDM3NWMwLTAuOTg2OCwwLjc2MzItMS43NSwxLjc1LTEuNzV6Ii8+
PC9nPjwvc3ZnPicpOworfQorCit2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQt
Y2FwdGlvbnMtY29udGFpbmVyIHsKKyAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG1lZGlhLWNsb3Nl
ZC1jYXB0aW9ucy1jb250YWluZXI7CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIGRpc3Bs
YXk6IGJsb2NrOworICAgIHJpZ2h0OiAzOHB4OworICAgIGJvdHRvbTogMzVweDsKKyAgICBtYXgt
d2lkdGg6IC13ZWJraXQtY2FsYygxMDAlIC0gNDhweCk7IC8qIHJpZ2h0ICsgMTBweCAqLworICAg
IG1heC1oZWlnaHQ6IC13ZWJraXQtY2FsYygxMDAlIC0gMzVweCk7IC8qIGJvdHRvbSArIDEwcHgg
Ki8KKyAgICBvdmVyZmxvdy14OiBoaWRkZW47CisgICAgb3ZlcmZsb3cteTogYXV0bzsKKyAgICBi
YWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwLCAyMCwgMjAsIDAuOCk7CisgICAgYm9yZGVyLXJhZGl1
czogMTBweDsKKyAgICBjdXJzb3I6IGRlZmF1bHQ7CisgICAgei1pbmRleDogMjsKK30KKwordmlk
ZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY2xvc2VkLWNhcHRpb25zLXRyYWNrLWxpc3Qgewor
ICAgIGRpc3BsYXk6IGJsb2NrOworICAgIGZvbnQtZmFtaWx5OiAiSGVsdmV0aWNhIEJvbGQiLCBI
ZWx2ZXRpY2E7CisgICAgZm9udC1zaXplOiAxMHB0OworICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6
IG5vbmU7Cit9CisKK3ZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWNsb3NlZC1jYXB0aW9u
cy10cmFjay1saXN0IGgzIHsKKyAgICBtYXJnaW46IDFweCAzMHB4OworICAgIGNvbG9yOiAjNzU3
NTc1OworICAgIHRleHQtc2hhZG93OiAwIDFweCAwIGJsYWNrOworICAgIHBhZGRpbmctdG9wOiAw
cHg7CisgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CisgICAgZm9udC1zaXplOiAxMHB0OworfQorCit2
aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCB1
bCB7CisgICAgbGlzdC1zdHlsZS10eXBlOiBub25lOworICAgIG1hcmdpbjogMCAwIDRweCAwOwor
ICAgIHBhZGRpbmc6IDA7CisgICAgZm9udC13ZWlnaHQ6IGJvbGQ7Cit9CisKK3ZpZGVvOjotd2Vi
a2l0LW1lZGlhLWNvbnRyb2xzLWNsb3NlZC1jYXB0aW9ucy10cmFjay1saXN0IGxpIHsKKyAgICBw
b3NpdGlvbjogcmVsYXRpdmU7CisgICAgY29sb3I6IHdoaXRlOworICAgIGJhY2tncm91bmQtaW1h
Z2U6IG5vbmU7CisgICAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgYmxhY2s7CisgICAgbWFyZ2luOiAw
OworICAgIHBhZGRpbmctbGVmdDogMzdweDsKKyAgICBwYWRkaW5nLXJpZ2h0OiAzNXB4OworICAg
IHBhZGRpbmctdG9wOiAwLjE1ZW07CisgICAgcGFkZGluZy1ib3R0b206IDAuMmVtOworICAgIGJv
eC1zaXppbmc6IGJvcmRlci1ib3g7CisgICAgb3ZlcmZsb3c6IGhpZGRlbjsKKyAgICB3aGl0ZS1z
cGFjZTogbm93cmFwOworICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOworICAgIGJvcmRlci10
b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApOworICAgIGJvcmRlci1ib3R0b206IDFweCBz
b2xpZCByZ2JhKDAsIDAsIDAsIDApOworfQordmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMt
Y2xvc2VkLWNhcHRpb25zLXRyYWNrLWxpc3QgbGkuc2VsZWN0ZWQgeworICAgIGJhY2tncm91bmQt
Y29sb3I6IHJnYmEoMjMwLCAyMzAsIDIzMCwgMC4xNSk7CiB9CiAKIGF1ZGlvOjotd2Via2l0LW1l
ZGlhLWNvbnRyb2xzLWZ1bGxzY3JlZW4tYnV0dG9uLCB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250
cm9scy1mdWxsc2NyZWVuLWJ1dHRvbiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKaW5kZXggYTVhOGRmNDc1NGNkZTJkODcwMzQ0
NDNhNWI3ZGI1MDZhMjYyOWNkMi4uYTA1YzgwMDAxMGJmYzQ1MjVhZTFiMDAwMDc2Nzc2ZWEyYmVk
ODA3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9s
RWxlbWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJv
bEVsZW1lbnRzLmNwcApAQCAtNjc3LDExICs2NzcsMTEgQEAgY29uc3QgQXRvbWljU3RyaW5nJiBN
ZWRpYUNvbnRyb2xSZXR1cm5Ub1JlYWx0aW1lQnV0dG9uRWxlbWVudDo6c2hhZG93UHNldWRvSWQo
KQogCiBNZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQ6Ok1lZGlh
Q29udHJvbFRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uRWxlbWVudChEb2N1bWVudCogZG9jdW1l
bnQsIE1lZGlhQ29udHJvbHMqIGNvbnRyb2xzKQogICAgIDogTWVkaWFDb250cm9sSW5wdXRFbGVt
ZW50KGRvY3VtZW50LCBNZWRpYVNob3dDbG9zZWRDYXB0aW9uc0J1dHRvbikKLSNpZiBQTEFURk9S
TShNQUMpIHx8IFBMQVRGT1JNKFdJTikKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFdJ
TikgfHwgUExBVEZPUk0oR1RLKQogICAgICwgbV9jb250cm9scyhjb250cm9scykKICNlbmRpZgog
ewotI2lmICFQTEFURk9STShNQUMpICYmICFQTEFURk9STShXSU4pCisjaWYgIVBMQVRGT1JNKE1B
QykgJiYgIVBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oR1RLKQogICAgIFVOVVNFRF9QQVJBTShj
b250cm9scyk7CiAjZW5kaWYKIH0KQEAgLTcxMSw3ICs3MTEsNyBAQCB2b2lkIE1lZGlhQ29udHJv
bFRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihF
dmVudCogZQogICAgICAgICAvLyBVSS4gTm90IGFsbCBwb3J0cyBtYXkgd2FudCB0aGUgY2xvc2Vk
IGNhcHRpb25zIGJ1dHRvbiB0byB0b2dnbGUgYSBsaXN0IG9mIHRyYWNrcywgc28KICAgICAgICAg
Ly8gd2UgaGF2ZSB0byB1c2UgI2lmLgogICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTAxODc3Ci0jaWYgIVBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JN
KFdJTikKKyNpZiAhUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oV0lOKSAmJiAhUExBVEZPUk0o
R1RLKQogICAgICAgICBtZWRpYUNvbnRyb2xsZXIoKS0+c2V0Q2xvc2VkQ2FwdGlvbnNWaXNpYmxl
KCFtZWRpYUNvbnRyb2xsZXIoKS0+Y2xvc2VkQ2FwdGlvbnNWaXNpYmxlKCkpOwogICAgICAgICBz
ZXRDaGVja2VkKG1lZGlhQ29udHJvbGxlcigpLT5jbG9zZWRDYXB0aW9uc1Zpc2libGUoKSk7CiAg
ICAgICAgIHVwZGF0ZURpc3BsYXlUeXBlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaAppbmRleCA2ODI2MmQzNzdkMTI2ZjhiMmRhNGEz
ZThhZTg4NTNmMWNmZjg4ZWZkLi4zNjhhNTgxZjU5MGE0NTM2MGM0NWRiNGU1NTc0NzU3NGU5YWJk
MWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xF
bGVtZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVs
ZW1lbnRzLmgKQEAgLTI4MCw3ICsyODAsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgY29uc3Qg
QXRvbWljU3RyaW5nJiBzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1
YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KikgT1ZFUlJJREU7CiAKLSNpZiBQTEFU
Rk9STShNQUMpIHx8IFBMQVRGT1JNKFdJTikKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JN
KFdJTikgfHwgUExBVEZPUk0oR1RLKQogICAgIE1lZGlhQ29udHJvbHMqIG1fY29udHJvbHM7CiAj
ZW5kaWYKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNv
bnRyb2xzR3RrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNH
dGsuY3BwCmluZGV4IDcyODE4MjQ1NTgxMGQ5YTkxMDBkMTNmNzk5ZmVhMGUzM2ZhZWM0ZDYuLmU0
ZWY1OTg2NDE5OTA0Yzc2MzcyMWExZDMwYzc3YzYyMDRlYzFlYmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuY3BwCkBAIC0zMSwxMiArMzEsNDIg
QEAKICNpZiBFTkFCTEUoVklERU8pCiAjaW5jbHVkZSAiTWVkaWFDb250cm9sc0d0ay5oIgogCisj
aW5jbHVkZSAiQ2hyb21lLmgiCisjaW5jbHVkZSAiTW91c2VFdmVudC5oIgorCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKK2NsYXNzIE1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyIDogcHVibGlj
IEV2ZW50TGlzdGVuZXIgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhQ29u
dHJvbHNHdGtFdmVudExpc3RlbmVyPiBjcmVhdGUoTWVkaWFDb250cm9sc0d0ayogbWVkaWFDb250
cm9scykgeyByZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVy
KG1lZGlhQ29udHJvbHMpKTsgfQorICAgIHN0YXRpYyBjb25zdCBNZWRpYUNvbnRyb2xzR3RrRXZl
bnRMaXN0ZW5lciogY2FzdChjb25zdCBFdmVudExpc3RlbmVyKiBsaXN0ZW5lcikKKyAgICB7Cisg
ICAgICAgIHJldHVybiBsaXN0ZW5lci0+dHlwZSgpID09IEdPYmplY3RFdmVudExpc3RlbmVyVHlw
ZQorICAgICAgICAgICAgPyBzdGF0aWNfY2FzdDxjb25zdCBNZWRpYUNvbnRyb2xzR3RrRXZlbnRM
aXN0ZW5lcio+KGxpc3RlbmVyKQorICAgICAgICAgICAgOiAwOworICAgIH0KKworICAgIHZpcnR1
YWwgYm9vbCBvcGVyYXRvcj09KGNvbnN0IEV2ZW50TGlzdGVuZXImIG90aGVyKTsKKworcHJpdmF0
ZToKKyAgICBNZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lcihNZWRpYUNvbnRyb2xzR3RrKiBt
ZWRpYUNvbnRyb2xzKQorICAgICAgICA6IEV2ZW50TGlzdGVuZXIoR09iamVjdEV2ZW50TGlzdGVu
ZXJUeXBlKQorICAgICAgICAsIG1fbWVkaWFDb250cm9scyhtZWRpYUNvbnRyb2xzKQorICAgIHsK
KyAgICB9CisKKyAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlRXZlbnQoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCosIEV2ZW50Kik7CisKKyAgICBNZWRpYUNvbnRyb2xzR3RrKiBtX21lZGlhQ29udHJvbHM7
Cit9OworCiBNZWRpYUNvbnRyb2xzR3RrOjpNZWRpYUNvbnRyb2xzR3RrKERvY3VtZW50KiBkb2N1
bWVudCkKICAgICA6IE1lZGlhQ29udHJvbHMoZG9jdW1lbnQpCiAgICAgLCBtX2R1cmF0aW9uRGlz
cGxheSgwKQogICAgICwgbV9lbmNsb3N1cmUoMCkKKyAgICAsIG1fZXZlbnRMaXN0ZW5lcigwKQor
ICAgICwgbV9jbG9zZWRDYXB0aW9uc1RyYWNrTGlzdCgwKQorICAgICwgbV9jbG9zZWRDYXB0aW9u
c0NvbnRhaW5lcigwKQogewogfQogCkBAIC05MSwxMSArMTIxLDI0IEBAIGJvb2wgTWVkaWFDb250
cm9sc0d0azo6aW5pdGlhbGl6ZUNvbnRyb2xzKERvY3VtZW50KiBkb2N1bWVudCkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCiAgICAgaWYgKGRvY3VtZW50LT5wYWdlKCktPnRoZW1lKCktPnN1cHBv
cnRzQ2xvc2VkQ2FwdGlvbmluZygpKSB7CisgICAgICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xDbG9z
ZWRDYXB0aW9uc0NvbnRhaW5lckVsZW1lbnQ+IGNsb3NlZENhcHRpb25zQ29udGFpbmVyID0gTWVk
aWFDb250cm9sQ2xvc2VkQ2FwdGlvbnNDb250YWluZXJFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQp
OworCisgICAgICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xDbG9zZWRDYXB0aW9uc1RyYWNrTGlzdEVs
ZW1lbnQ+IGNsb3NlZENhcHRpb25zVHJhY2tMaXN0ID0gTWVkaWFDb250cm9sQ2xvc2VkQ2FwdGlv
bnNUcmFja0xpc3RFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIHRoaXMpOworICAgICAgICBtX2Ns
b3NlZENhcHRpb25zVHJhY2tMaXN0ID0gY2xvc2VkQ2FwdGlvbnNUcmFja0xpc3QuZ2V0KCk7Cisg
ICAgICAgIGNsb3NlZENhcHRpb25zQ29udGFpbmVyLT5hcHBlbmRDaGlsZChjbG9zZWRDYXB0aW9u
c1RyYWNrTGlzdC5yZWxlYXNlKCksIGV4Y2VwdGlvbkNvZGUsIEF0dGFjaExhemlseSk7CisgICAg
ICAgIGlmIChleGNlcHRpb25Db2RlKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAg
ICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQ+
IHRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uID0gTWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2Fw
dGlvbnNCdXR0b25FbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIHRoaXMpOwogICAgICAgICBtX3Rv
Z2dsZUNsb3NlZENhcHRpb25zQnV0dG9uID0gdG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b24uZ2V0
KCk7CiAgICAgICAgIHBhbmVsLT5hcHBlbmRDaGlsZCh0b2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRv
bi5yZWxlYXNlKCksIGV4Y2VwdGlvbkNvZGUsIEF0dGFjaExhemlseSk7CiAgICAgICAgIGlmIChl
eGNlcHRpb25Db2RlKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIG1fY2xv
c2VkQ2FwdGlvbnNDb250YWluZXIgPSBjbG9zZWRDYXB0aW9uc0NvbnRhaW5lci5nZXQoKTsKKyAg
ICAgICAgYXBwZW5kQ2hpbGQoY2xvc2VkQ2FwdGlvbnNDb250YWluZXIucmVsZWFzZSgpLCBleGNl
cHRpb25Db2RlLCBBdHRhY2hMYXppbHkpOworICAgICAgICBpZiAoZXhjZXB0aW9uQ29kZSkKKyAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKICAgICBSZWZQdHI8TWVkaWFDb250cm9s
RnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQ+IGZ1bGxzY3JlZW5CdXR0b24gPSBNZWRpYUNvbnRyb2xG
dWxsc2NyZWVuQnV0dG9uRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KTsKQEAgLTE0Nyw2ICsxOTAs
MTAgQEAgdm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpzZXRNZWRpYUNvbnRyb2xsZXIoTWVkaWFDb250
cm9sbGVySW50ZXJmYWNlKiBjb250cm9sbGVyKQogICAgICAgICBtX2R1cmF0aW9uRGlzcGxheS0+
c2V0TWVkaWFDb250cm9sbGVyKGNvbnRyb2xsZXIpOwogICAgIGlmIChtX2VuY2xvc3VyZSkKICAg
ICAgICAgbV9lbmNsb3N1cmUtPnNldE1lZGlhQ29udHJvbGxlcihjb250cm9sbGVyKTsKKyAgICBp
ZiAobV9jbG9zZWRDYXB0aW9uc0NvbnRhaW5lcikKKyAgICAgICAgbV9jbG9zZWRDYXB0aW9uc0Nv
bnRhaW5lci0+c2V0TWVkaWFDb250cm9sbGVyKGNvbnRyb2xsZXIpOworICAgIGlmIChtX2Nsb3Nl
ZENhcHRpb25zVHJhY2tMaXN0KQorICAgICAgICBtX2Nsb3NlZENhcHRpb25zVHJhY2tMaXN0LT5z
ZXRNZWRpYUNvbnRyb2xsZXIoY29udHJvbGxlcik7CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sc0d0
azo6cmVzZXQoKQpAQCAtMTU5LDYgKzIwNiwxMyBAQCB2b2lkIE1lZGlhQ29udHJvbHNHdGs6OnJl
c2V0KCkKICAgICBtX2R1cmF0aW9uRGlzcGxheS0+c2V0SW5uZXJUZXh0KHBhZ2UtPnRoZW1lKCkt
PmZvcm1hdE1lZGlhQ29udHJvbHNUaW1lKGR1cmF0aW9uKSwgQVNTRVJUX05PX0VYQ0VQVElPTik7
CiAgICAgbV9kdXJhdGlvbkRpc3BsYXktPnNldEN1cnJlbnRWYWx1ZShkdXJhdGlvbik7CiAKKyAg
ICBpZiAobV90b2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbikgeworICAgICAgICBpZiAobV9tZWRp
YUNvbnRyb2xsZXItPmhhc0Nsb3NlZENhcHRpb25zKCkpCisgICAgICAgICAgICBtX3RvZ2dsZUNs
b3NlZENhcHRpb25zQnV0dG9uLT5zaG93KCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1f
dG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b24tPmhpZGUoKTsKKyAgICB9CisKICAgICBNZWRpYUNv
bnRyb2xzOjpyZXNldCgpOwogfQogCkBAIC0yMDgsNiArMjYyLDggQEAgdm9pZCBNZWRpYUNvbnRy
b2xzR3RrOjptYWtlVHJhbnNwYXJlbnQoKQogCiAgICAgaWYgKG1fdm9sdW1lU2xpZGVyQ29udGFp
bmVyKQogICAgICAgICBtX3ZvbHVtZVNsaWRlckNvbnRhaW5lci0+aGlkZSgpOworCisgICAgaGlk
ZUNsb3NlZENhcHRpb25UcmFja0xpc3QoKTsKIH0KIAogdm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpz
aG93Vm9sdW1lU2xpZGVyKCkKQEAgLTIzNiw2ICsyOTIsOTAgQEAgdm9pZCBNZWRpYUNvbnRyb2xz
R3RrOjpjcmVhdGVUZXh0VHJhY2tEaXNwbGF5KCkKIH0KICNlbmRpZgogCit2b2lkIE1lZGlhQ29u
dHJvbHNHdGs6OnRvZ2dsZUNsb3NlZENhcHRpb25UcmFja0xpc3QoKQoreworICAgIGlmICghbV9t
ZWRpYUNvbnRyb2xsZXItPmhhc0Nsb3NlZENhcHRpb25zKCkpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGlmICghbV9jbG9zZWRDYXB0aW9uc0NvbnRhaW5lciB8fCAhbV9jbG9zZWRDYXB0aW9uc1Ry
YWNrTGlzdCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKG1fY2xvc2VkQ2FwdGlvbnNDb250
YWluZXItPmlzU2hvd2luZygpKSB7CisgICAgICAgIGhpZGVDbG9zZWRDYXB0aW9uVHJhY2tMaXN0
KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBtX2Nsb3NlZENhcHRpb25zVHJhY2tM
aXN0LT51cGRhdGVEaXNwbGF5KCk7CisgICAgc2hvd0Nsb3NlZENhcHRpb25UcmFja0xpc3QoKTsK
IH0KIAordm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpzaG93Q2xvc2VkQ2FwdGlvblRyYWNrTGlzdCgp
Cit7CisgICAgbV92b2x1bWVTbGlkZXJDb250YWluZXItPmhpZGUoKTsKKworICAgIGlmICghbV9j
bG9zZWRDYXB0aW9uc0NvbnRhaW5lciB8fCBtX2Nsb3NlZENhcHRpb25zQ29udGFpbmVyLT5pc1No
b3dpbmcoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9jbG9zZWRDYXB0aW9uc0NvbnRhaW5l
ci0+c2hvdygpOworICAgIG1fcGFuZWwtPnNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVy
dHlQb2ludGVyRXZlbnRzLCBDU1NWYWx1ZU5vbmUpOworCisgICAgUmVmUHRyPEV2ZW50TGlzdGVu
ZXI+IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcigpOworCisgICAgLy8gQ2hlY2sgZm9yIGNsaWNr
cyBvdXRzaWRlIHRoZSBtZWRpYS1jb250cm9sCisgICAgZG9jdW1lbnQoKS0+YWRkRXZlbnRMaXN0
ZW5lcihldmVudE5hbWVzKCkuY2xpY2tFdmVudCwgbGlzdGVuZXIsIHRydWUpOworICAgIC8vIENo
ZWNrIGZvciBjbGlja3MgaW5zaWRlIHRoZSBtZWRpYS1jb250cm9sIGJveAorICAgIGFkZEV2ZW50
TGlzdGVuZXIoZXZlbnROYW1lcygpLmNsaWNrRXZlbnQsIGxpc3RlbmVyLCB0cnVlKTsKK30KKwor
dm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpoaWRlQ2xvc2VkQ2FwdGlvblRyYWNrTGlzdCgpCit7Cisg
ICAgaWYgKCFtX2Nsb3NlZENhcHRpb25zQ29udGFpbmVyIHx8ICFtX2Nsb3NlZENhcHRpb25zQ29u
dGFpbmVyLT5pc1Nob3dpbmcoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9jbG9zZWRDYXB0
aW9uc0NvbnRhaW5lci0+aGlkZSgpOworICAgIG1fcGFuZWwtPnJlbW92ZUlubGluZVN0eWxlUHJv
cGVydHkoQ1NTUHJvcGVydHlQb2ludGVyRXZlbnRzKTsKKworICAgIEV2ZW50TGlzdGVuZXIqIGxp
c3RlbmVyID0gZXZlbnRMaXN0ZW5lcigpLmdldCgpOworCisgICAgZG9jdW1lbnQoKS0+cmVtb3Zl
RXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuY2xpY2tFdmVudCwgbGlzdGVuZXIsIHRydWUpOwor
ICAgIHJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmNsaWNrRXZlbnQsIGxpc3RlbmVy
LCB0cnVlKTsKK30KKwordm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpoYW5kbGVDbGlja0V2ZW50KEV2
ZW50ICpldmVudCkKK3sKKyAgICBOb2RlKiBjdXJyZW50VGFyZ2V0ID0gZXZlbnQtPmN1cnJlbnRU
YXJnZXQoKS0+dG9Ob2RlKCk7CisgICAgTm9kZSogdGFyZ2V0ID0gZXZlbnQtPnRhcmdldCgpLT50
b05vZGUoKTsKKworICAgIGlmICgoY3VycmVudFRhcmdldCA9PSBkb2N1bWVudCgpICYmICFzaGFk
b3dIb3N0KCktPmNvbnRhaW5zKHRhcmdldCkpCisgICAgICAgIHx8IGN1cnJlbnRUYXJnZXQgPT0g
dGhpcykgeworICAgICAgICBoaWRlQ2xvc2VkQ2FwdGlvblRyYWNrTGlzdCgpOworICAgICAgICBl
dmVudC0+c3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7CisgICAgICAgIGV2ZW50LT5zZXREZWZh
dWx0SGFuZGxlZCgpOworICAgIH0KK30KKworUGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xzR3RrRXZl
bnRMaXN0ZW5lcj4gTWVkaWFDb250cm9sc0d0azo6ZXZlbnRMaXN0ZW5lcigpCit7CisgICAgaWYg
KCFtX2V2ZW50TGlzdGVuZXIpCisgICAgICAgIG1fZXZlbnRMaXN0ZW5lciA9IE1lZGlhQ29udHJv
bHNHdGtFdmVudExpc3RlbmVyOjpjcmVhdGUodGhpcyk7CisKKyAgICByZXR1cm4gbV9ldmVudExp
c3RlbmVyOworfQorCit2b2lkIE1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyOjpoYW5kbGVF
dmVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgRXZlbnQqIGV2ZW50KQoreworICAgIGlmIChl
dmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5jbGlja0V2ZW50KQorICAgICAgICBtX21lZGlh
Q29udHJvbHMtPmhhbmRsZUNsaWNrRXZlbnQoZXZlbnQpOworCisgICAgcmV0dXJuOworfQorCiti
b29sIE1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyOjpvcGVyYXRvcj09KGNvbnN0IEV2ZW50
TGlzdGVuZXImIGxpc3RlbmVyKQoreworICAgIGlmIChjb25zdCBNZWRpYUNvbnRyb2xzR3RrRXZl
bnRMaXN0ZW5lciogbWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXIgPSBNZWRpYUNvbnRyb2xz
R3RrRXZlbnRMaXN0ZW5lcjo6Y2FzdCgmbGlzdGVuZXIpKQorICAgICAgICByZXR1cm4gbV9tZWRp
YUNvbnRyb2xzID09IG1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyLT5tX21lZGlhQ29udHJv
bHM7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuaAppbmRleCAyZWEzMjU5OWY1YzRkN2M5MjQ5
MjE2YWY2MTVjMzU3MTVjNzFjYjQ5Li4xNjAzN2Y2NjEzNDVlYTU1NmE5YWNhNzMzNGI3NmIzMmM1
ODRiMmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRy
b2xzR3RrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sc0d0
ay5oCkBAIC0zNSw2ICszNSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgTWVk
aWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXI7CisKIGNsYXNzIE1lZGlhQ29udHJvbHNHdGsgOiBw
dWJsaWMgTWVkaWFDb250cm9scyB7CiBwdWJsaWM6CiAgICAgLy8gQ2FsbGVkIGZyb20gcG9ydC1z
cGVjaWZpYyBwYXJlbnQgY3JlYXRlIGZ1bmN0aW9uIHRvIGNyZWF0ZSBjdXN0b20gY29udHJvbHMu
CkBAIC00Nyw2ICs0OSw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQ3VycmVu
dFRpbWVEaXNwbGF5KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHNob3dWb2x1bWVTbGlk
ZXIoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgbWFrZVRyYW5zcGFyZW50KCkgT1ZFUlJJ
REU7CisgICAgdmlydHVhbCB2b2lkIHRvZ2dsZUNsb3NlZENhcHRpb25UcmFja0xpc3QoKSBPVkVS
UklERTsKKworICAgIHZvaWQgaGFuZGxlQ2xpY2tFdmVudChFdmVudCopOwogCiAjaWYgRU5BQkxF
KFZJREVPX1RSQUNLKQogICAgIHZvaWQgY3JlYXRlVGV4dFRyYWNrRGlzcGxheSgpIE9WRVJSSURF
OwpAQCAtNTQsMTMgKzU5LDIxIEBAIHB1YmxpYzoKIAogcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0
IE1lZGlhQ29udHJvbHNHdGsoRG9jdW1lbnQqKTsKLQogICAgIGJvb2wgaW5pdGlhbGl6ZUNvbnRy
b2xzKERvY3VtZW50Kik7CiAKIHByaXZhdGU6CisgICAgdm9pZCBzaG93Q2xvc2VkQ2FwdGlvblRy
YWNrTGlzdCgpOworICAgIHZvaWQgaGlkZUNsb3NlZENhcHRpb25UcmFja0xpc3QoKTsKKworICAg
IFBhc3NSZWZQdHI8TWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXI+IGV2ZW50TGlzdGVuZXIo
KTsKKwogICAgIE1lZGlhQ29udHJvbFRpbWVSZW1haW5pbmdEaXNwbGF5RWxlbWVudCogbV9kdXJh
dGlvbkRpc3BsYXk7CiAgICAgTWVkaWFDb250cm9sUGFuZWxFbmNsb3N1cmVFbGVtZW50KiBtX2Vu
Y2xvc3VyZTsKICAgICBNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJDb250YWluZXJFbGVtZW50KiBt
X3ZvbHVtZVNsaWRlckNvbnRhaW5lcjsKKyAgICBNZWRpYUNvbnRyb2xDbG9zZWRDYXB0aW9uc1Ry
YWNrTGlzdEVsZW1lbnQqIG1fY2xvc2VkQ2FwdGlvbnNUcmFja0xpc3Q7CisgICAgTWVkaWFDb250
cm9sQ2xvc2VkQ2FwdGlvbnNDb250YWluZXJFbGVtZW50KiBtX2Nsb3NlZENhcHRpb25zQ29udGFp
bmVyOworCisgICAgUmVmUHRyPE1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyPiBtX2V2ZW50
TGlzdGVuZXI7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRp
b25Vc2VyUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclBy
ZWZlcmVuY2VzLmNwcAppbmRleCAyNTBlYTU1OWQyMTNiNjkxZWM3ZDI0N2FjODA3OWIzNDI1NjQy
NTgwLi4yODg5YmIyNmZkMmJjYWEyMjQwZTE4YTI5NmNiZjFlMzEyZjU2MzI4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAKQEAgLTE1Nyw2ICsx
NTcsOSBAQCB2b2lkIENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6OnNldFByZWZlcnJlZExhbmd1YWdl
KGNvbnN0IFN0cmluZyYgbGFuZ3VhZ2UpCiAKIHN0YXRpYyBTdHJpbmcgdHJhY2tEaXNwbGF5TmFt
ZShUZXh0VHJhY2sqIHRyYWNrKQogeworICAgIGlmICh0cmFjayA9PSBUZXh0VHJhY2s6OmNhcHRp
b25NZW51T2ZmSXRlbSgpKQorICAgICAgICByZXR1cm4gdGV4dFRyYWNrT2ZmTWVudUl0ZW1UZXh0
KCk7CisKICAgICBpZiAodHJhY2stPmxhYmVsKCkuaXNFbXB0eSgpICYmIHRyYWNrLT5sYW5ndWFn
ZSgpLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIHRleHRUcmFja05vTGFiZWxUZXh0KCk7CiAg
ICAgaWYgKCF0cmFjay0+bGFiZWwoKS5pc0VtcHR5KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ndGsvTG9jYWxpemVkU3RyaW5nc0d0ay5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ndGsvTG9jYWxpemVkU3RyaW5nc0d0ay5jcHAKaW5kZXggOTQ5N2NhMjIwMmY3
ZjhkOWU4N2ZjNmYxYjFiZWFkOWMxNjU4MzY0Zi4uYzg3MzY0ZGYzNGU0NDIzMzFjNDVmOTZjMDVl
N2FjNTY2OTM3NjExYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0xv
Y2FsaXplZFN0cmluZ3NHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9M
b2NhbGl6ZWRTdHJpbmdzR3RrLmNwcApAQCAtNzkwLDE3ICs3OTAsMTcgQEAgU3RyaW5nIHRleHRU
cmFja0Nsb3NlZENhcHRpb25zVGV4dCgpCiAKIFN0cmluZyB0ZXh0VHJhY2tTdWJ0aXRsZXNUZXh0
KCkKIHsKLSAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChDXygiU3VidGl0bGVzIiwgIk1lbnUg
c2VjdGlvbiBoZWFkaW5nIGZvciBzdWJ0aXRsZXMiKSk7CisgICAgcmV0dXJuIFN0cmluZzo6ZnJv
bVVURjgoXygiU3VidGl0bGVzIikpOwogfQogCiBTdHJpbmcgdGV4dFRyYWNrT2ZmTWVudUl0ZW1U
ZXh0KCkKIHsKLSAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChDXygiT2ZmIiwgIk1lbnUgaXRl
bSBsYWJlbCBmb3IgdGhlIHRyYWNrIHRoYXQgcmVwcmVzZW50cyBkaXNhYmxpbmcgY2xvc2VkIGNh
cHRpb25zIikpOworICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KF8oIk9mZiIpKTsKIH0KIAog
U3RyaW5nIHRleHRUcmFja05vTGFiZWxUZXh0KCkKIHsKLSAgICByZXR1cm4gU3RyaW5nOjpmcm9t
VVRGOChDXygiTm8gbGFiZWwiLCAiTWVudSBpdGVtIGxhYmVsIGZvciBhIGNsb3NlZCBjYXB0aW9u
cyB0cmFjayB0aGF0IGhhcyBubyBvdGhlciBuYW1lIikpOworICAgIHJldHVybiBTdHJpbmc6OmZy
b21VVEY4KF8oIk5vIGxhYmVsIikpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0ay5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrLmgKaW5kZXggYThjOTczNWM3MDczNTM2YjNhMjI5MmU4
NjA0YTQ3NmU3MmI1NzNkMC4uNWU1MzQ3NjQwOTVhODEwMDcwYmRiZDZmYTM2MmVlYmYzNmNkYTEx
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3Rr
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrLmgKQEAg
LTg3LDYgKzg3LDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShWSURFTykKICAgICB2aXJ0dWFsIFN0
cmluZyBleHRyYU1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCk7CiAgICAgdmlydHVhbCBTdHJpbmcg
Zm9ybWF0TWVkaWFDb250cm9sc0N1cnJlbnRUaW1lKGZsb2F0IGN1cnJlbnRUaW1lLCBmbG9hdCBk
dXJhdGlvbikgY29uc3Q7CisgICAgdmlydHVhbCBib29sIHN1cHBvcnRzQ2xvc2VkQ2FwdGlvbmlu
ZygpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIHRydWU7IH0KIAogI2lmIEVOQUJMRShGVUxMU0NS
RUVOX0FQSSkKICAgICB2aXJ0dWFsIFN0cmluZyBleHRyYUZ1bGxTY3JlZW5TdHlsZVNoZWV0KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0
aW5ncy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5n
cy5jcHAKaW5kZXggNTNhNTQ3YTFmYjRmZjM1OWIwNzY4NDU4YTcxNDU0NGM3NTAzN2MzYi4uZTdi
ZDkyNDUyMDBmMzE1OTlkOGI0NzExZDA0OTIxNDc3OWMzOTBjYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmNwcApAQCAtMTQzLDYg
KzE0Myw4IEBAIHN0YXRpYyB2b2lkIHdlYktpdFNldHRpbmdzQ29uc3RydWN0ZWQoR09iamVjdCog
b2JqZWN0KQogICAgIEdfT0JKRUNUX0NMQVNTKHdlYmtpdF9zZXR0aW5nc19wYXJlbnRfY2xhc3Mp
LT5jb25zdHJ1Y3RlZChvYmplY3QpOwogCiAgICAgV2ViUHJlZmVyZW5jZXMqIHByZWZzID0gV0VC
S0lUX1NFVFRJTkdTKG9iamVjdCktPnByaXYtPnByZWZlcmVuY2VzLmdldCgpOworICAgIHByZWZz
LT5zZXRTaG91bGREaXNwbGF5U3VidGl0bGVzKFRSVUUpOworCiAgICAgRXhwZXJpbWVudGFsRmVh
dHVyZXMgZmVhdHVyZXM7CiAgICAgYm9vbCByZWdpb25CYXNlZENvbHVtbnNFbmFibGVkID0gZmVh
dHVyZXMuaXNFbmFibGVkKEV4cGVyaW1lbnRhbEZlYXR1cmVzOjpSZWdpb25CYXNlZENvbHVtbnMp
OwogICAgIGlmIChwcmVmcy0+cmVnaW9uQmFzZWRDb2x1bW5zRW5hYmxlZCgpICE9IHJlZ2lvbkJh
c2VkQ29sdW1uc0VuYWJsZWQpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNjY4MGFhMTI3ZGEwZjkxYmJhZjMzNDdkOGE2ZjUw
OTJhZDQwMGQ2ZS4uZGY1Y2Q0ZmVkM2U0Njk4OTQzN2MxYzllYmUwMWQ0MmZjNjViMzk5MyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE1IEBACisyMDEzLTA4LTIzICBEYW5pbG8gQ2VzYXIgTGVtZXMgZGUgUGF1
bGEgIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgorCisgICAgICAgIFtXSzJdW0dUS10g
YWRkIHN1cHBvcnQgZm9yIHN1YnRpdGxlcyBvbiB3ZWJraXQyR1RLCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTcwMDgKKworICAgICAgICBCeSBhY3Rp
dmF0aW5nIHN1YnRpdGxlcyBzdXBwb3J0IG9uIHdlYmtpdDJHVEssIHRoZSB2aWRlbyBwbGF5ZXIK
KyAgICAgICAgcmVjb2duaXplcyBhbmQgdXNlIHRleHQgPHRyYWNrcz4gaW5zaWRlIDx2aWRlbz4g
ZWxlbWVudHMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxMy0wOC0xOCAgQW50dGkg
S29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9y
Zy9iLzExOTk2Mz4gVXNlIFRleHROb2RlVHJhdmVyc2FsIGZvciBnZXR0aW5nIHNoZWV0IHRleHQg
aW4gU3R5bGVFbGVtZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25z
CmluZGV4IDg0YTAyYzYyMmZmZjcxZDRiMTc0NzNjYTVmZDYwNTNmMDMyMDA2YWQuLmVmNjQzNGIz
MGJkYTg2MTU2NWVjODNkMTAxYWUzZmEyM2YyZDFlMzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC03ODUsMTQgKzc4NSwxNCBAQCBCdWcoR1RLKSBtZWRp
YS9wcm9ncmVzcy1ldmVudHMtZ2VuZXJhdGVkLWNvcnJlY3RseS5odG1sIFsgRmFpbHVyZSBUaW1l
b3V0IF0KIAogd2Via2l0Lm9yZy9iLzEwMjI1NyBmYXN0L2RvbS9XaW5kb3cvb3Blbi13aW5kb3ct
bWluLXNpemUuaHRtbCBbIFRpbWVvdXQgXQogCi0jIEdUSyBzdGlsbCBoYXMgdGhlIENDIHRvZ2ds
ZSBidXR0b24sIG5vdCB0aGUgbWVudSBvZiB0cmFja3MuCi13ZWJraXQub3JnL2IvMTAxNjcwIG1l
ZGlhL3ZpZGVvLWNvbnRyb2xzLWNhcHRpb25zLXRyYWNrbWVudS5odG1sIFsgU2tpcCBdCi13ZWJr
aXQub3JnL2IvMTAxNjcwIG1lZGlhL3ZpZGVvLWNvbnRyb2xzLWNhcHRpb25zLXRyYWNrbWVudS1z
b3J0ZWQuaHRtbCBbIFNraXAgXQotd2Via2l0Lm9yZy9iLzEwMTY3MCBtZWRpYS92aWRlby1jb250
cm9scy1jYXB0aW9ucy10cmFja21lbnUtbG9jYWxpemVkLmh0bWwgWyBTa2lwIF0KLXdlYmtpdC5v
cmcvYi8xMDE2NzAgbWVkaWEvdmlkZW8tY29udHJvbHMtY2FwdGlvbnMtdHJhY2ttZW51LWhpZGUt
b24tY2xpY2suaHRtbCBbIFNraXAgXQotd2Via2l0Lm9yZy9iLzEwMTY3MCBtZWRpYS92aWRlby1j
b250cm9scy1jYXB0aW9ucy10cmFja21lbnUtaGlkZS1vbi1jbGljay1vdXRzaWRlLmh0bWwgWyBT
a2lwIF0KKyMgR1RLIGlzIG1vdmluZyBmcm9tIHRvZ2dsZSBidXR0b24gdG8gYSBtZW51IG9mIHRy
YWNrcy4KK3dlYmtpdC5vcmcvYi8xMDE2NzAgbWVkaWEvdmlkZW8tY29udHJvbHMtY2FwdGlvbnMt
dHJhY2ttZW51Lmh0bWwgWyBGYWlsdXJlIFBhc3MgXQord2Via2l0Lm9yZy9iLzEwMTY3MCBtZWRp
YS92aWRlby1jb250cm9scy1jYXB0aW9ucy10cmFja21lbnUtc29ydGVkLmh0bWwgWyBQYXNzIF0K
K3dlYmtpdC5vcmcvYi8xMDE2NzAgbWVkaWEvdmlkZW8tY29udHJvbHMtY2FwdGlvbnMtdHJhY2tt
ZW51LWxvY2FsaXplZC5odG1sIFsgUGFzcyBdCit3ZWJraXQub3JnL2IvMTAxNjcwIG1lZGlhL3Zp
ZGVvLWNvbnRyb2xzLWNhcHRpb25zLXRyYWNrbWVudS1oaWRlLW9uLWNsaWNrLmh0bWwgWyBQYXNz
IF0KK3dlYmtpdC5vcmcvYi8xMDE2NzAgbWVkaWEvdmlkZW8tY29udHJvbHMtY2FwdGlvbnMtdHJh
Y2ttZW51LWhpZGUtb24tY2xpY2stb3V0c2lkZS5odG1sIFsgUGFzcyBdCiB3ZWJraXQub3JnL2Iv
MTAxNjcwIG1lZGlhL3RyYWNrL3RyYWNrLXVzZXItcHJlZmVyZW5jZXMuaHRtbCBbIFNraXAgXQot
d2Via2l0Lm9yZy9iLzEwMTY3MCBtZWRpYS92aWRlby1jb250cm9scy1jYXB0aW9ucy10cmFja21l
bnUtaW5jbHVkZXMtZW5hYmxlZC10cmFjay5odG1sIFsgU2tpcCBdCit3ZWJraXQub3JnL2IvMTAx
NjcwIG1lZGlhL3ZpZGVvLWNvbnRyb2xzLWNhcHRpb25zLXRyYWNrbWVudS1pbmNsdWRlcy1lbmFi
bGVkLXRyYWNrLmh0bWwgWyBQYXNzIF0KIAogd2Via2l0Lm9yZy9iLzEwNzE5NCBzdG9yYWdlL2lu
ZGV4ZWRkYi9kYXRhYmFzZS1xdW90YS5odG1sIFsgVGltZW91dCBdCiB3ZWJraXQub3JnL2IvMTA3
MTk0IHN0b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmctYWN0aXZpdHktd29ya2Vycy5odG1sIFsgVGlt
ZW91dCBdCkBAIC0xMjA4LDcgKzEyMDgsOCBAQCB3ZWJraXQub3JnL2IvODk2NjMgZWRpdGluZy9k
ZWxldGluZy9kZWxldGUtMzgwMDgzNC1maXguaHRtbCBbIEZhaWx1cmUgXQogCiB3ZWJraXQub3Jn
L2IvODczNTUgY2FudmFzL3BoaWxpcC90ZXN0cy8yZC50ZXh0LmRyYXcuZm9udGZhY2Uubm90aW5w
YWdlLmh0bWwgWyBGYWlsdXJlIF0KIAotd2Via2l0Lm9yZy9iLzk1NDI4IG1lZGlhL3ZpZGVvLWNv
bnRyb2xzLWNhcHRpb25zLmh0bWwgWyBGYWlsdXJlIF0KKyMgR1RLIGlzIG1vdmluZyBmcm9tIHRo
ZSBzaW1wbGUgdG9nZ2xlIGJ1dHRvbiB0byBhIG1lbnUgb2YgdHJhY2tzCit3ZWJraXQub3JnL2Iv
OTU0MjggbWVkaWEvdmlkZW8tY29udHJvbHMtY2FwdGlvbnMuaHRtbCBbIFNraXAgXQogCiB3ZWJr
aXQub3JnL2IvOTU0Mjkgc3ZnL2N1c3RvbS9jbGFtcGVkLW1hc2tpbmctY2xpcHBpbmcuc3ZnIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209494</attachid>
            <date>2013-08-23 12:47:44 -0700</date>
            <delta_ts>2013-08-26 06:36:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117008-20130823164741.patch</filename>
            <type>text/plain</type>
            <size>23616</size>
            <attacher name="Danilo de Paula">danilo.eu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0MjQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTU0YjBmOWZkNmJjYzlk
MDE2OTY0NGM4Y2E5YmEwNWFhYmE5YzA1NS4uYjM5NDYxNDExODU2OTY5NmFiZWUyMWVhY2ZkMTNh
NWFkNGQ3NjNmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDEzLTA4LTIzICBEYW5p
bG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgor
CisgICAgICAgIFtXSzJdW0dUS10gYWRkIHN1cHBvcnQgZm9yIHN1YnRpdGxlcyBvbiB3ZWJraXQy
R1RLCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTcw
MDgKKworICAgICAgICBCeSBhY3RpdmF0aW5nIHN1YnRpdGxlcyBzdXBwb3J0IG9uIHdlYmtpdDJH
VEssIHRoZSB2aWRlbyBwbGF5ZXIKKyAgICAgICAgcmVjb2duaXplcyBhbmQgdXNlIHRleHQgPHRy
YWNrcz4gaW5zaWRlIDx2aWRlbz4gZWxlbWVudHMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTGF5b3V0IHRlc3RzICh0cmFjay1tZW51KSBzaG91bGQg
Y292ZXIgdGhpcyBjaGFuZ2UuCisKKyAgICAgICAgKiBjc3MvbWVkaWFDb250cm9sc0d0ay5jc3M6
CisgICAgICAgIChhdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10b2dnbGUtY2xvc2VkLWNh
cHRpb25zLWJ1dHRvbiwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdG9nZ2xlLWNsb3Nl
ZC1jYXB0aW9ucy1idXR0b24pOgorICAgICAgICAodmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJv
bHMtY2xvc2VkLWNhcHRpb25zLWNvbnRhaW5lcik6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1t
ZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCk6CisgICAgICAgICh2aWRl
bzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBoMyk6
CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMt
dHJhY2stbGlzdCB1bCk6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1j
bG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBsaSk6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1t
ZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBsaS5zZWxlY3RlZCk6Cisg
ICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50OjpN
ZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50Ojpk
ZWZhdWx0RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xF
bGVtZW50cy5oOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXI6OmNyZWF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lcjo6Y2FzdCk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lcjo6TWVkaWFD
b250cm9sc0d0a0V2ZW50TGlzdGVuZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9s
c0d0azo6TWVkaWFDb250cm9sc0d0ayk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xz
R3RrOjppbml0aWFsaXplQ29udHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9s
c0d0azo6c2V0TWVkaWFDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJv
bHNHdGs6OnJlc2V0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbHNHdGs6Om1ha2VU
cmFuc3BhcmVudCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzR3RrOjp0b2dnbGVD
bG9zZWRDYXB0aW9uVHJhY2tMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbHNH
dGs6OnNob3dDbG9zZWRDYXB0aW9uVHJhY2tMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
Q29udHJvbHNHdGs6OmhpZGVDbG9zZWRDYXB0aW9uVHJhY2tMaXN0KToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhQ29udHJvbHNHdGs6OmhhbmRsZUNsaWNrRXZlbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFDb250cm9sc0d0azo6ZXZlbnRMaXN0ZW5lcik6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lcjo6aGFuZGxlRXZlbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXI6Om9wZXJhdG9yPT0pOgorICAgICAg
ICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuaDoKKyAgICAgICAgKiBwYWdlL0NhcHRp
b25Vc2VyUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dHJhY2tEaXNwbGF5TmFt
ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL0xvY2FsaXplZFN0cmluZ3NHdGsuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6dGV4dFRyYWNrU3VidGl0bGVzVGV4dCk6CisgICAgICAgIChXZWJDb3Jl
Ojp0ZXh0VHJhY2tPZmZNZW51SXRlbVRleHQpOgorICAgICAgICAoV2ViQ29yZTo6dGV4dFRyYWNr
Tm9MYWJlbFRleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0ay5oOgor
CiAyMDEzLTA4LTE4ICBEYW5pbG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgIDxkYW5pbG8uY2VzYXJA
Y29sbGFib3JhLmNvLnVrPgogCiAgICAgICAgIFtFRkxdIG1pbm9yIG1ldGhvZCBuYW1lIGZpeCBm
b3IgdGhlIHRleHRUcmFja09mZk1lbnVJdGVtVGV4dCBtZXRob2QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA4NDMw
YzcwOWRmNjgzMjEyNDVlZTI4YWQ1YTEwNzg5ZjE0NzRmYTM5Li44NDRlOGQyZDY4OWI5ZjMzZDNl
YmQxZTUyNWU5NzUwNDk5ZGJjODJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMt
MDgtMTggIERhbmlsbyBDZXNhciBMZW1lcyBkZSBQYXVsYSAgPGRhbmlsby5jZXNhckBjb2xsYWJv
cmEuY28udWs+CisKKyAgICAgICAgW1dLMl1bR1RLXSBhZGQgc3VwcG9ydCBmb3Igc3VidGl0bGVz
IG9uIHdlYmtpdDJHVEsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExNzAwOAorCisgICAgICAgIEJ5IGFjdGl2YXRpbmcgc3VidGl0bGVzIHN1cHBvcnQg
b24gd2Via2l0MkdUSywgdGhlIHZpZGVvIHBsYXllcgorICAgICAgICByZWNvZ25pemVzIGFuZCB1
c2UgdGV4dCA8dHJhY2tzPiBpbnNpZGUgPHZpZGVvPiBlbGVtZW50cy4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFNldHRpbmdzLmNwcDoKKyAgICAgICAgKHdlYmtpdF9zZXR0aW5nc19jbGFzc19pbml0KToK
KyAgICAgICAgKHdlYmtpdF9zZXR0aW5nc19uZXcpOgorCiAyMDEzLTA4LTE3ICBEYXJpbiBBZGxl
ciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTE5
OTQxPiBNYWtlIFBhZ2U6OmRyYWdDb250cm9sbGVyIHJldHVybiBhIHJlZmVyZW5jZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL21lZGlhQ29udHJvbHNHdGsuY3NzIGIvU291cmNlL1dl
YkNvcmUvY3NzL21lZGlhQ29udHJvbHNHdGsuY3NzCmluZGV4IDU3MjlkNDU4NzIxYTBkODIxZjA5
MGJjZTNlMmZlYmJjMjMzMjhiZDcuLjYxYmExMmE5NWNlMjVhNzYyY2NiZWI1ZjhmNmYwMmUxODYy
YTQ3M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9tZWRpYUNvbnRyb2xzR3RrLmNz
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvbWVkaWFDb250cm9sc0d0ay5jc3MKQEAgLTIyMiw2
ICsyMjIsNjkgQEAgYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdG9nZ2xlLWNsb3NlZC1j
YXB0aW9ucy1idXR0b24sIHZpZGVvOjotd2Via2l0LW1lZGkKICAgICBoZWlnaHQ6IDMwcHg7CiAg
ICAgbGluZS1oZWlnaHQ6IDMwcHg7CiAgICAgbWFyZ2luOiAwIDlweCAwIC03cHg7CisgICAgYmFj
a2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0OworICAgIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVy
OworICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgaWQ9
InN2ZzczODQiIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3lu
dGF4LW5zIyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBoZWlnaHQ9IjE2IiB3
aWR0aD0iMTYiIHZlcnNpb249IjEuMSIgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMu
b3JnL25zIyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj48bWV0
YWRhdGEgaWQ9Im1ldGFkYXRhOTAiPjxyZGY6UkRGPjxjYzpXb3JrIHJkZjphYm91dD0iIj48ZGM6
Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD48ZGM6dHlwZSByZGY6cmVzb3VyY2U9Imh0
dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIi8+PGRjOnRpdGxlPkdub21lIFN5
bWJvbGljIEljb24gVGhlbWU8L2RjOnRpdGxlPjwvY2M6V29yaz48L3JkZjpSREY+PC9tZXRhZGF0
YT48ZyBpZD0ibGF5ZXI5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTAxLC0zNTcpIj48cGF0aCBp
ZD0icGF0aDEyMTQ4IiBzdHlsZT0iYmxvY2stcHJvZ3Jlc3Npb246dGI7Y29sb3I6I2JlYmViZTtk
aXJlY3Rpb246bHRyO3RleHQtaW5kZW50OjA7dGV4dC1hbGlnbjpzdGFydDtlbmFibGUtYmFja2dy
b3VuZDphY2N1bXVsYXRlO3RleHQtdHJhbnNmb3JtOm5vbmU7IiBmaWxsPSIjYmViZWJlIiBkPSJt
MTA0Ljc1LDM1Ny4wNmMtMi4wNjAyLDAtMy43NSwxLjY4OTgtMy43NSwzLjc1djQuNDM3NWMwLDIu
MDYwMiwxLjY4OTgsMy43NSwzLjc1LDMuNzVoNC45Mzc1bDMuNzUsMi42NTYyLDEuNTkzOCwxLjEy
NXYtMS45Njg4bC0wLjAzMTMtMi41YzEuMTEwNi0wLjU5NzE1LDEuOTY4OC0xLjY1MjYsMS45Njg4
LTMuMDYyNXYtNC40Mzc1YzAtMi4wNjAyLTEuNjg5OC0zLjc1LTMuNzUtMy43NWgtOC40Njg4em0w
LDIsOC40Njg4LDBjMC45ODY4LDAsMS43NSwwLjc2MzIsMS43NSwxLjc1djQuNDM3NWMwLDAuODYy
NzMtMC42MzUwOCwxLjU0MS0xLjEyNSwxLjYyNWwtMC44NCwwLjEydjAuODQzNzUsMS4wMzEybC0y
LjQwNjItMS42ODc1LTAuMjUtMC4xODc1aC0wLjMxMjUtNS4yODEyYy0wLjk4NjgsMC0xLjc1LTAu
NzYzMi0xLjc1LTEuNzV2LTQuNDM3NWMwLTAuOTg2OCwwLjc2MzItMS43NSwxLjc1LTEuNzV6Ii8+
PC9nPjwvc3ZnPicpOworfQorCit2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQt
Y2FwdGlvbnMtY29udGFpbmVyIHsKKyAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG1lZGlhLWNsb3Nl
ZC1jYXB0aW9ucy1jb250YWluZXI7CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIGRpc3Bs
YXk6IGJsb2NrOworICAgIHJpZ2h0OiAzOHB4OworICAgIGJvdHRvbTogMzVweDsKKyAgICBtYXgt
d2lkdGg6IC13ZWJraXQtY2FsYygxMDAlIC0gNDhweCk7IC8qIHJpZ2h0ICsgMTBweCAqLworICAg
IG1heC1oZWlnaHQ6IC13ZWJraXQtY2FsYygxMDAlIC0gMzVweCk7IC8qIGJvdHRvbSArIDEwcHgg
Ki8KKyAgICBvdmVyZmxvdy14OiBoaWRkZW47CisgICAgb3ZlcmZsb3cteTogYXV0bzsKKyAgICBi
YWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwLCAyMCwgMjAsIDAuOCk7CisgICAgYm9yZGVyLXJhZGl1
czogMTBweDsKKyAgICBjdXJzb3I6IGRlZmF1bHQ7CisgICAgei1pbmRleDogMjsKK30KKwordmlk
ZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY2xvc2VkLWNhcHRpb25zLXRyYWNrLWxpc3Qgewor
ICAgIGRpc3BsYXk6IGJsb2NrOworICAgIGZvbnQtZmFtaWx5OiAiSGVsdmV0aWNhIEJvbGQiLCBI
ZWx2ZXRpY2E7CisgICAgZm9udC1zaXplOiAxMHB0OworICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6
IG5vbmU7Cit9CisKK3ZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWNsb3NlZC1jYXB0aW9u
cy10cmFjay1saXN0IGgzIHsKKyAgICBtYXJnaW46IDFweCAzMHB4OworICAgIGNvbG9yOiAjNzU3
NTc1OworICAgIHRleHQtc2hhZG93OiAwIDFweCAwIGJsYWNrOworICAgIHBhZGRpbmctdG9wOiAw
cHg7CisgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CisgICAgZm9udC1zaXplOiAxMHB0OworfQorCit2
aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCB1
bCB7CisgICAgbGlzdC1zdHlsZS10eXBlOiBub25lOworICAgIG1hcmdpbjogMCAwIDRweCAwOwor
ICAgIHBhZGRpbmc6IDA7CisgICAgZm9udC13ZWlnaHQ6IGJvbGQ7Cit9CisKK3ZpZGVvOjotd2Vi
a2l0LW1lZGlhLWNvbnRyb2xzLWNsb3NlZC1jYXB0aW9ucy10cmFjay1saXN0IGxpIHsKKyAgICBw
b3NpdGlvbjogcmVsYXRpdmU7CisgICAgY29sb3I6IHdoaXRlOworICAgIGJhY2tncm91bmQtaW1h
Z2U6IG5vbmU7CisgICAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgYmxhY2s7CisgICAgbWFyZ2luOiAw
OworICAgIHBhZGRpbmctbGVmdDogMzdweDsKKyAgICBwYWRkaW5nLXJpZ2h0OiAzNXB4OworICAg
IHBhZGRpbmctdG9wOiAwLjE1ZW07CisgICAgcGFkZGluZy1ib3R0b206IDAuMmVtOworICAgIGJv
eC1zaXppbmc6IGJvcmRlci1ib3g7CisgICAgb3ZlcmZsb3c6IGhpZGRlbjsKKyAgICB3aGl0ZS1z
cGFjZTogbm93cmFwOworICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOworICAgIGJvcmRlci10
b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApOworICAgIGJvcmRlci1ib3R0b206IDFweCBz
b2xpZCByZ2JhKDAsIDAsIDAsIDApOworfQordmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMt
Y2xvc2VkLWNhcHRpb25zLXRyYWNrLWxpc3QgbGkuc2VsZWN0ZWQgeworICAgIGJhY2tncm91bmQt
Y29sb3I6IHJnYmEoMjMwLCAyMzAsIDIzMCwgMC4xNSk7CiB9CiAKIGF1ZGlvOjotd2Via2l0LW1l
ZGlhLWNvbnRyb2xzLWZ1bGxzY3JlZW4tYnV0dG9uLCB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250
cm9scy1mdWxsc2NyZWVuLWJ1dHRvbiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKaW5kZXggYTVhOGRmNDc1NGNkZTJkODcwMzQ0
NDNhNWI3ZGI1MDZhMjYyOWNkMi4uYTA1YzgwMDAxMGJmYzQ1MjVhZTFiMDAwMDc2Nzc2ZWEyYmVk
ODA3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9s
RWxlbWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJv
bEVsZW1lbnRzLmNwcApAQCAtNjc3LDExICs2NzcsMTEgQEAgY29uc3QgQXRvbWljU3RyaW5nJiBN
ZWRpYUNvbnRyb2xSZXR1cm5Ub1JlYWx0aW1lQnV0dG9uRWxlbWVudDo6c2hhZG93UHNldWRvSWQo
KQogCiBNZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQ6Ok1lZGlh
Q29udHJvbFRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uRWxlbWVudChEb2N1bWVudCogZG9jdW1l
bnQsIE1lZGlhQ29udHJvbHMqIGNvbnRyb2xzKQogICAgIDogTWVkaWFDb250cm9sSW5wdXRFbGVt
ZW50KGRvY3VtZW50LCBNZWRpYVNob3dDbG9zZWRDYXB0aW9uc0J1dHRvbikKLSNpZiBQTEFURk9S
TShNQUMpIHx8IFBMQVRGT1JNKFdJTikKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFdJ
TikgfHwgUExBVEZPUk0oR1RLKQogICAgICwgbV9jb250cm9scyhjb250cm9scykKICNlbmRpZgog
ewotI2lmICFQTEFURk9STShNQUMpICYmICFQTEFURk9STShXSU4pCisjaWYgIVBMQVRGT1JNKE1B
QykgJiYgIVBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oR1RLKQogICAgIFVOVVNFRF9QQVJBTShj
b250cm9scyk7CiAjZW5kaWYKIH0KQEAgLTcxMSw3ICs3MTEsNyBAQCB2b2lkIE1lZGlhQ29udHJv
bFRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihF
dmVudCogZQogICAgICAgICAvLyBVSS4gTm90IGFsbCBwb3J0cyBtYXkgd2FudCB0aGUgY2xvc2Vk
IGNhcHRpb25zIGJ1dHRvbiB0byB0b2dnbGUgYSBsaXN0IG9mIHRyYWNrcywgc28KICAgICAgICAg
Ly8gd2UgaGF2ZSB0byB1c2UgI2lmLgogICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTAxODc3Ci0jaWYgIVBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JN
KFdJTikKKyNpZiAhUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oV0lOKSAmJiAhUExBVEZPUk0o
R1RLKQogICAgICAgICBtZWRpYUNvbnRyb2xsZXIoKS0+c2V0Q2xvc2VkQ2FwdGlvbnNWaXNpYmxl
KCFtZWRpYUNvbnRyb2xsZXIoKS0+Y2xvc2VkQ2FwdGlvbnNWaXNpYmxlKCkpOwogICAgICAgICBz
ZXRDaGVja2VkKG1lZGlhQ29udHJvbGxlcigpLT5jbG9zZWRDYXB0aW9uc1Zpc2libGUoKSk7CiAg
ICAgICAgIHVwZGF0ZURpc3BsYXlUeXBlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaAppbmRleCA2ODI2MmQzNzdkMTI2ZjhiMmRhNGEz
ZThhZTg4NTNmMWNmZjg4ZWZkLi4zNjhhNTgxZjU5MGE0NTM2MGM0NWRiNGU1NTc0NzU3NGU5YWJk
MWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xF
bGVtZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVs
ZW1lbnRzLmgKQEAgLTI4MCw3ICsyODAsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgY29uc3Qg
QXRvbWljU3RyaW5nJiBzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1
YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KikgT1ZFUlJJREU7CiAKLSNpZiBQTEFU
Rk9STShNQUMpIHx8IFBMQVRGT1JNKFdJTikKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JN
KFdJTikgfHwgUExBVEZPUk0oR1RLKQogICAgIE1lZGlhQ29udHJvbHMqIG1fY29udHJvbHM7CiAj
ZW5kaWYKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNv
bnRyb2xzR3RrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNH
dGsuY3BwCmluZGV4IDcyODE4MjQ1NTgxMGQ5YTkxMDBkMTNmNzk5ZmVhMGUzM2ZhZWM0ZDYuLmU0
ZWY1OTg2NDE5OTA0Yzc2MzcyMWExZDMwYzc3YzYyMDRlYzFlYmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuY3BwCkBAIC0zMSwxMiArMzEsNDIg
QEAKICNpZiBFTkFCTEUoVklERU8pCiAjaW5jbHVkZSAiTWVkaWFDb250cm9sc0d0ay5oIgogCisj
aW5jbHVkZSAiQ2hyb21lLmgiCisjaW5jbHVkZSAiTW91c2VFdmVudC5oIgorCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKK2NsYXNzIE1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyIDogcHVibGlj
IEV2ZW50TGlzdGVuZXIgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhQ29u
dHJvbHNHdGtFdmVudExpc3RlbmVyPiBjcmVhdGUoTWVkaWFDb250cm9sc0d0ayogbWVkaWFDb250
cm9scykgeyByZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVy
KG1lZGlhQ29udHJvbHMpKTsgfQorICAgIHN0YXRpYyBjb25zdCBNZWRpYUNvbnRyb2xzR3RrRXZl
bnRMaXN0ZW5lciogY2FzdChjb25zdCBFdmVudExpc3RlbmVyKiBsaXN0ZW5lcikKKyAgICB7Cisg
ICAgICAgIHJldHVybiBsaXN0ZW5lci0+dHlwZSgpID09IEdPYmplY3RFdmVudExpc3RlbmVyVHlw
ZQorICAgICAgICAgICAgPyBzdGF0aWNfY2FzdDxjb25zdCBNZWRpYUNvbnRyb2xzR3RrRXZlbnRM
aXN0ZW5lcio+KGxpc3RlbmVyKQorICAgICAgICAgICAgOiAwOworICAgIH0KKworICAgIHZpcnR1
YWwgYm9vbCBvcGVyYXRvcj09KGNvbnN0IEV2ZW50TGlzdGVuZXImIG90aGVyKTsKKworcHJpdmF0
ZToKKyAgICBNZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lcihNZWRpYUNvbnRyb2xzR3RrKiBt
ZWRpYUNvbnRyb2xzKQorICAgICAgICA6IEV2ZW50TGlzdGVuZXIoR09iamVjdEV2ZW50TGlzdGVu
ZXJUeXBlKQorICAgICAgICAsIG1fbWVkaWFDb250cm9scyhtZWRpYUNvbnRyb2xzKQorICAgIHsK
KyAgICB9CisKKyAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlRXZlbnQoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCosIEV2ZW50Kik7CisKKyAgICBNZWRpYUNvbnRyb2xzR3RrKiBtX21lZGlhQ29udHJvbHM7
Cit9OworCiBNZWRpYUNvbnRyb2xzR3RrOjpNZWRpYUNvbnRyb2xzR3RrKERvY3VtZW50KiBkb2N1
bWVudCkKICAgICA6IE1lZGlhQ29udHJvbHMoZG9jdW1lbnQpCiAgICAgLCBtX2R1cmF0aW9uRGlz
cGxheSgwKQogICAgICwgbV9lbmNsb3N1cmUoMCkKKyAgICAsIG1fZXZlbnRMaXN0ZW5lcigwKQor
ICAgICwgbV9jbG9zZWRDYXB0aW9uc1RyYWNrTGlzdCgwKQorICAgICwgbV9jbG9zZWRDYXB0aW9u
c0NvbnRhaW5lcigwKQogewogfQogCkBAIC05MSwxMSArMTIxLDI0IEBAIGJvb2wgTWVkaWFDb250
cm9sc0d0azo6aW5pdGlhbGl6ZUNvbnRyb2xzKERvY3VtZW50KiBkb2N1bWVudCkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCiAgICAgaWYgKGRvY3VtZW50LT5wYWdlKCktPnRoZW1lKCktPnN1cHBv
cnRzQ2xvc2VkQ2FwdGlvbmluZygpKSB7CisgICAgICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xDbG9z
ZWRDYXB0aW9uc0NvbnRhaW5lckVsZW1lbnQ+IGNsb3NlZENhcHRpb25zQ29udGFpbmVyID0gTWVk
aWFDb250cm9sQ2xvc2VkQ2FwdGlvbnNDb250YWluZXJFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQp
OworCisgICAgICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xDbG9zZWRDYXB0aW9uc1RyYWNrTGlzdEVs
ZW1lbnQ+IGNsb3NlZENhcHRpb25zVHJhY2tMaXN0ID0gTWVkaWFDb250cm9sQ2xvc2VkQ2FwdGlv
bnNUcmFja0xpc3RFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIHRoaXMpOworICAgICAgICBtX2Ns
b3NlZENhcHRpb25zVHJhY2tMaXN0ID0gY2xvc2VkQ2FwdGlvbnNUcmFja0xpc3QuZ2V0KCk7Cisg
ICAgICAgIGNsb3NlZENhcHRpb25zQ29udGFpbmVyLT5hcHBlbmRDaGlsZChjbG9zZWRDYXB0aW9u
c1RyYWNrTGlzdC5yZWxlYXNlKCksIGV4Y2VwdGlvbkNvZGUsIEF0dGFjaExhemlseSk7CisgICAg
ICAgIGlmIChleGNlcHRpb25Db2RlKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAg
ICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQ+
IHRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uID0gTWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2Fw
dGlvbnNCdXR0b25FbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIHRoaXMpOwogICAgICAgICBtX3Rv
Z2dsZUNsb3NlZENhcHRpb25zQnV0dG9uID0gdG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b24uZ2V0
KCk7CiAgICAgICAgIHBhbmVsLT5hcHBlbmRDaGlsZCh0b2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRv
bi5yZWxlYXNlKCksIGV4Y2VwdGlvbkNvZGUsIEF0dGFjaExhemlseSk7CiAgICAgICAgIGlmIChl
eGNlcHRpb25Db2RlKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIG1fY2xv
c2VkQ2FwdGlvbnNDb250YWluZXIgPSBjbG9zZWRDYXB0aW9uc0NvbnRhaW5lci5nZXQoKTsKKyAg
ICAgICAgYXBwZW5kQ2hpbGQoY2xvc2VkQ2FwdGlvbnNDb250YWluZXIucmVsZWFzZSgpLCBleGNl
cHRpb25Db2RlLCBBdHRhY2hMYXppbHkpOworICAgICAgICBpZiAoZXhjZXB0aW9uQ29kZSkKKyAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKICAgICBSZWZQdHI8TWVkaWFDb250cm9s
RnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQ+IGZ1bGxzY3JlZW5CdXR0b24gPSBNZWRpYUNvbnRyb2xG
dWxsc2NyZWVuQnV0dG9uRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KTsKQEAgLTE0Nyw2ICsxOTAs
MTAgQEAgdm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpzZXRNZWRpYUNvbnRyb2xsZXIoTWVkaWFDb250
cm9sbGVySW50ZXJmYWNlKiBjb250cm9sbGVyKQogICAgICAgICBtX2R1cmF0aW9uRGlzcGxheS0+
c2V0TWVkaWFDb250cm9sbGVyKGNvbnRyb2xsZXIpOwogICAgIGlmIChtX2VuY2xvc3VyZSkKICAg
ICAgICAgbV9lbmNsb3N1cmUtPnNldE1lZGlhQ29udHJvbGxlcihjb250cm9sbGVyKTsKKyAgICBp
ZiAobV9jbG9zZWRDYXB0aW9uc0NvbnRhaW5lcikKKyAgICAgICAgbV9jbG9zZWRDYXB0aW9uc0Nv
bnRhaW5lci0+c2V0TWVkaWFDb250cm9sbGVyKGNvbnRyb2xsZXIpOworICAgIGlmIChtX2Nsb3Nl
ZENhcHRpb25zVHJhY2tMaXN0KQorICAgICAgICBtX2Nsb3NlZENhcHRpb25zVHJhY2tMaXN0LT5z
ZXRNZWRpYUNvbnRyb2xsZXIoY29udHJvbGxlcik7CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sc0d0
azo6cmVzZXQoKQpAQCAtMTU5LDYgKzIwNiwxMyBAQCB2b2lkIE1lZGlhQ29udHJvbHNHdGs6OnJl
c2V0KCkKICAgICBtX2R1cmF0aW9uRGlzcGxheS0+c2V0SW5uZXJUZXh0KHBhZ2UtPnRoZW1lKCkt
PmZvcm1hdE1lZGlhQ29udHJvbHNUaW1lKGR1cmF0aW9uKSwgQVNTRVJUX05PX0VYQ0VQVElPTik7
CiAgICAgbV9kdXJhdGlvbkRpc3BsYXktPnNldEN1cnJlbnRWYWx1ZShkdXJhdGlvbik7CiAKKyAg
ICBpZiAobV90b2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbikgeworICAgICAgICBpZiAobV9tZWRp
YUNvbnRyb2xsZXItPmhhc0Nsb3NlZENhcHRpb25zKCkpCisgICAgICAgICAgICBtX3RvZ2dsZUNs
b3NlZENhcHRpb25zQnV0dG9uLT5zaG93KCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1f
dG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b24tPmhpZGUoKTsKKyAgICB9CisKICAgICBNZWRpYUNv
bnRyb2xzOjpyZXNldCgpOwogfQogCkBAIC0yMDgsNiArMjYyLDggQEAgdm9pZCBNZWRpYUNvbnRy
b2xzR3RrOjptYWtlVHJhbnNwYXJlbnQoKQogCiAgICAgaWYgKG1fdm9sdW1lU2xpZGVyQ29udGFp
bmVyKQogICAgICAgICBtX3ZvbHVtZVNsaWRlckNvbnRhaW5lci0+aGlkZSgpOworCisgICAgaGlk
ZUNsb3NlZENhcHRpb25UcmFja0xpc3QoKTsKIH0KIAogdm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpz
aG93Vm9sdW1lU2xpZGVyKCkKQEAgLTIzNiw2ICsyOTIsOTAgQEAgdm9pZCBNZWRpYUNvbnRyb2xz
R3RrOjpjcmVhdGVUZXh0VHJhY2tEaXNwbGF5KCkKIH0KICNlbmRpZgogCit2b2lkIE1lZGlhQ29u
dHJvbHNHdGs6OnRvZ2dsZUNsb3NlZENhcHRpb25UcmFja0xpc3QoKQoreworICAgIGlmICghbV9t
ZWRpYUNvbnRyb2xsZXItPmhhc0Nsb3NlZENhcHRpb25zKCkpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGlmICghbV9jbG9zZWRDYXB0aW9uc0NvbnRhaW5lciB8fCAhbV9jbG9zZWRDYXB0aW9uc1Ry
YWNrTGlzdCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKG1fY2xvc2VkQ2FwdGlvbnNDb250
YWluZXItPmlzU2hvd2luZygpKSB7CisgICAgICAgIGhpZGVDbG9zZWRDYXB0aW9uVHJhY2tMaXN0
KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBtX2Nsb3NlZENhcHRpb25zVHJhY2tM
aXN0LT51cGRhdGVEaXNwbGF5KCk7CisgICAgc2hvd0Nsb3NlZENhcHRpb25UcmFja0xpc3QoKTsK
IH0KIAordm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpzaG93Q2xvc2VkQ2FwdGlvblRyYWNrTGlzdCgp
Cit7CisgICAgbV92b2x1bWVTbGlkZXJDb250YWluZXItPmhpZGUoKTsKKworICAgIGlmICghbV9j
bG9zZWRDYXB0aW9uc0NvbnRhaW5lciB8fCBtX2Nsb3NlZENhcHRpb25zQ29udGFpbmVyLT5pc1No
b3dpbmcoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9jbG9zZWRDYXB0aW9uc0NvbnRhaW5l
ci0+c2hvdygpOworICAgIG1fcGFuZWwtPnNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVy
dHlQb2ludGVyRXZlbnRzLCBDU1NWYWx1ZU5vbmUpOworCisgICAgUmVmUHRyPEV2ZW50TGlzdGVu
ZXI+IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcigpOworCisgICAgLy8gQ2hlY2sgZm9yIGNsaWNr
cyBvdXRzaWRlIHRoZSBtZWRpYS1jb250cm9sCisgICAgZG9jdW1lbnQoKS0+YWRkRXZlbnRMaXN0
ZW5lcihldmVudE5hbWVzKCkuY2xpY2tFdmVudCwgbGlzdGVuZXIsIHRydWUpOworICAgIC8vIENo
ZWNrIGZvciBjbGlja3MgaW5zaWRlIHRoZSBtZWRpYS1jb250cm9sIGJveAorICAgIGFkZEV2ZW50
TGlzdGVuZXIoZXZlbnROYW1lcygpLmNsaWNrRXZlbnQsIGxpc3RlbmVyLCB0cnVlKTsKK30KKwor
dm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpoaWRlQ2xvc2VkQ2FwdGlvblRyYWNrTGlzdCgpCit7Cisg
ICAgaWYgKCFtX2Nsb3NlZENhcHRpb25zQ29udGFpbmVyIHx8ICFtX2Nsb3NlZENhcHRpb25zQ29u
dGFpbmVyLT5pc1Nob3dpbmcoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9jbG9zZWRDYXB0
aW9uc0NvbnRhaW5lci0+aGlkZSgpOworICAgIG1fcGFuZWwtPnJlbW92ZUlubGluZVN0eWxlUHJv
cGVydHkoQ1NTUHJvcGVydHlQb2ludGVyRXZlbnRzKTsKKworICAgIEV2ZW50TGlzdGVuZXIqIGxp
c3RlbmVyID0gZXZlbnRMaXN0ZW5lcigpLmdldCgpOworCisgICAgZG9jdW1lbnQoKS0+cmVtb3Zl
RXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuY2xpY2tFdmVudCwgbGlzdGVuZXIsIHRydWUpOwor
ICAgIHJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmNsaWNrRXZlbnQsIGxpc3RlbmVy
LCB0cnVlKTsKK30KKwordm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpoYW5kbGVDbGlja0V2ZW50KEV2
ZW50ICpldmVudCkKK3sKKyAgICBOb2RlKiBjdXJyZW50VGFyZ2V0ID0gZXZlbnQtPmN1cnJlbnRU
YXJnZXQoKS0+dG9Ob2RlKCk7CisgICAgTm9kZSogdGFyZ2V0ID0gZXZlbnQtPnRhcmdldCgpLT50
b05vZGUoKTsKKworICAgIGlmICgoY3VycmVudFRhcmdldCA9PSBkb2N1bWVudCgpICYmICFzaGFk
b3dIb3N0KCktPmNvbnRhaW5zKHRhcmdldCkpCisgICAgICAgIHx8IGN1cnJlbnRUYXJnZXQgPT0g
dGhpcykgeworICAgICAgICBoaWRlQ2xvc2VkQ2FwdGlvblRyYWNrTGlzdCgpOworICAgICAgICBl
dmVudC0+c3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7CisgICAgICAgIGV2ZW50LT5zZXREZWZh
dWx0SGFuZGxlZCgpOworICAgIH0KK30KKworUGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xzR3RrRXZl
bnRMaXN0ZW5lcj4gTWVkaWFDb250cm9sc0d0azo6ZXZlbnRMaXN0ZW5lcigpCit7CisgICAgaWYg
KCFtX2V2ZW50TGlzdGVuZXIpCisgICAgICAgIG1fZXZlbnRMaXN0ZW5lciA9IE1lZGlhQ29udHJv
bHNHdGtFdmVudExpc3RlbmVyOjpjcmVhdGUodGhpcyk7CisKKyAgICByZXR1cm4gbV9ldmVudExp
c3RlbmVyOworfQorCit2b2lkIE1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyOjpoYW5kbGVF
dmVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgRXZlbnQqIGV2ZW50KQoreworICAgIGlmIChl
dmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5jbGlja0V2ZW50KQorICAgICAgICBtX21lZGlh
Q29udHJvbHMtPmhhbmRsZUNsaWNrRXZlbnQoZXZlbnQpOworCisgICAgcmV0dXJuOworfQorCiti
b29sIE1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyOjpvcGVyYXRvcj09KGNvbnN0IEV2ZW50
TGlzdGVuZXImIGxpc3RlbmVyKQoreworICAgIGlmIChjb25zdCBNZWRpYUNvbnRyb2xzR3RrRXZl
bnRMaXN0ZW5lciogbWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXIgPSBNZWRpYUNvbnRyb2xz
R3RrRXZlbnRMaXN0ZW5lcjo6Y2FzdCgmbGlzdGVuZXIpKQorICAgICAgICByZXR1cm4gbV9tZWRp
YUNvbnRyb2xzID09IG1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyLT5tX21lZGlhQ29udHJv
bHM7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuaAppbmRleCAyZWEzMjU5OWY1YzRkN2M5MjQ5
MjE2YWY2MTVjMzU3MTVjNzFjYjQ5Li4xNjAzN2Y2NjEzNDVlYTU1NmE5YWNhNzMzNGI3NmIzMmM1
ODRiMmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRy
b2xzR3RrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sc0d0
ay5oCkBAIC0zNSw2ICszNSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgTWVk
aWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXI7CisKIGNsYXNzIE1lZGlhQ29udHJvbHNHdGsgOiBw
dWJsaWMgTWVkaWFDb250cm9scyB7CiBwdWJsaWM6CiAgICAgLy8gQ2FsbGVkIGZyb20gcG9ydC1z
cGVjaWZpYyBwYXJlbnQgY3JlYXRlIGZ1bmN0aW9uIHRvIGNyZWF0ZSBjdXN0b20gY29udHJvbHMu
CkBAIC00Nyw2ICs0OSw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQ3VycmVu
dFRpbWVEaXNwbGF5KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHNob3dWb2x1bWVTbGlk
ZXIoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgbWFrZVRyYW5zcGFyZW50KCkgT1ZFUlJJ
REU7CisgICAgdmlydHVhbCB2b2lkIHRvZ2dsZUNsb3NlZENhcHRpb25UcmFja0xpc3QoKSBPVkVS
UklERTsKKworICAgIHZvaWQgaGFuZGxlQ2xpY2tFdmVudChFdmVudCopOwogCiAjaWYgRU5BQkxF
KFZJREVPX1RSQUNLKQogICAgIHZvaWQgY3JlYXRlVGV4dFRyYWNrRGlzcGxheSgpIE9WRVJSSURF
OwpAQCAtNTQsMTMgKzU5LDIxIEBAIHB1YmxpYzoKIAogcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0
IE1lZGlhQ29udHJvbHNHdGsoRG9jdW1lbnQqKTsKLQogICAgIGJvb2wgaW5pdGlhbGl6ZUNvbnRy
b2xzKERvY3VtZW50Kik7CiAKIHByaXZhdGU6CisgICAgdm9pZCBzaG93Q2xvc2VkQ2FwdGlvblRy
YWNrTGlzdCgpOworICAgIHZvaWQgaGlkZUNsb3NlZENhcHRpb25UcmFja0xpc3QoKTsKKworICAg
IFBhc3NSZWZQdHI8TWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXI+IGV2ZW50TGlzdGVuZXIo
KTsKKwogICAgIE1lZGlhQ29udHJvbFRpbWVSZW1haW5pbmdEaXNwbGF5RWxlbWVudCogbV9kdXJh
dGlvbkRpc3BsYXk7CiAgICAgTWVkaWFDb250cm9sUGFuZWxFbmNsb3N1cmVFbGVtZW50KiBtX2Vu
Y2xvc3VyZTsKICAgICBNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJDb250YWluZXJFbGVtZW50KiBt
X3ZvbHVtZVNsaWRlckNvbnRhaW5lcjsKKyAgICBNZWRpYUNvbnRyb2xDbG9zZWRDYXB0aW9uc1Ry
YWNrTGlzdEVsZW1lbnQqIG1fY2xvc2VkQ2FwdGlvbnNUcmFja0xpc3Q7CisgICAgTWVkaWFDb250
cm9sQ2xvc2VkQ2FwdGlvbnNDb250YWluZXJFbGVtZW50KiBtX2Nsb3NlZENhcHRpb25zQ29udGFp
bmVyOworCisgICAgUmVmUHRyPE1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyPiBtX2V2ZW50
TGlzdGVuZXI7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRp
b25Vc2VyUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclBy
ZWZlcmVuY2VzLmNwcAppbmRleCAyNTBlYTU1OWQyMTNiNjkxZWM3ZDI0N2FjODA3OWIzNDI1NjQy
NTgwLi4yODg5YmIyNmZkMmJjYWEyMjQwZTE4YTI5NmNiZjFlMzEyZjU2MzI4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAKQEAgLTE1Nyw2ICsx
NTcsOSBAQCB2b2lkIENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6OnNldFByZWZlcnJlZExhbmd1YWdl
KGNvbnN0IFN0cmluZyYgbGFuZ3VhZ2UpCiAKIHN0YXRpYyBTdHJpbmcgdHJhY2tEaXNwbGF5TmFt
ZShUZXh0VHJhY2sqIHRyYWNrKQogeworICAgIGlmICh0cmFjayA9PSBUZXh0VHJhY2s6OmNhcHRp
b25NZW51T2ZmSXRlbSgpKQorICAgICAgICByZXR1cm4gdGV4dFRyYWNrT2ZmTWVudUl0ZW1UZXh0
KCk7CisKICAgICBpZiAodHJhY2stPmxhYmVsKCkuaXNFbXB0eSgpICYmIHRyYWNrLT5sYW5ndWFn
ZSgpLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIHRleHRUcmFja05vTGFiZWxUZXh0KCk7CiAg
ICAgaWYgKCF0cmFjay0+bGFiZWwoKS5pc0VtcHR5KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ndGsvTG9jYWxpemVkU3RyaW5nc0d0ay5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ndGsvTG9jYWxpemVkU3RyaW5nc0d0ay5jcHAKaW5kZXggOTQ5N2NhMjIwMmY3
ZjhkOWU4N2ZjNmYxYjFiZWFkOWMxNjU4MzY0Zi4uYzg3MzY0ZGYzNGU0NDIzMzFjNDVmOTZjMDVl
N2FjNTY2OTM3NjExYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0xv
Y2FsaXplZFN0cmluZ3NHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9M
b2NhbGl6ZWRTdHJpbmdzR3RrLmNwcApAQCAtNzkwLDE3ICs3OTAsMTcgQEAgU3RyaW5nIHRleHRU
cmFja0Nsb3NlZENhcHRpb25zVGV4dCgpCiAKIFN0cmluZyB0ZXh0VHJhY2tTdWJ0aXRsZXNUZXh0
KCkKIHsKLSAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChDXygiU3VidGl0bGVzIiwgIk1lbnUg
c2VjdGlvbiBoZWFkaW5nIGZvciBzdWJ0aXRsZXMiKSk7CisgICAgcmV0dXJuIFN0cmluZzo6ZnJv
bVVURjgoXygiU3VidGl0bGVzIikpOwogfQogCiBTdHJpbmcgdGV4dFRyYWNrT2ZmTWVudUl0ZW1U
ZXh0KCkKIHsKLSAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChDXygiT2ZmIiwgIk1lbnUgaXRl
bSBsYWJlbCBmb3IgdGhlIHRyYWNrIHRoYXQgcmVwcmVzZW50cyBkaXNhYmxpbmcgY2xvc2VkIGNh
cHRpb25zIikpOworICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KF8oIk9mZiIpKTsKIH0KIAog
U3RyaW5nIHRleHRUcmFja05vTGFiZWxUZXh0KCkKIHsKLSAgICByZXR1cm4gU3RyaW5nOjpmcm9t
VVRGOChDXygiTm8gbGFiZWwiLCAiTWVudSBpdGVtIGxhYmVsIGZvciBhIGNsb3NlZCBjYXB0aW9u
cyB0cmFjayB0aGF0IGhhcyBubyBvdGhlciBuYW1lIikpOworICAgIHJldHVybiBTdHJpbmc6OmZy
b21VVEY4KF8oIk5vIGxhYmVsIikpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0ay5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrLmgKaW5kZXggYThjOTczNWM3MDczNTM2YjNhMjI5MmU4
NjA0YTQ3NmU3MmI1NzNkMC4uNWU1MzQ3NjQwOTVhODEwMDcwYmRiZDZmYTM2MmVlYmYzNmNkYTEx
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3Rr
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrLmgKQEAg
LTg3LDYgKzg3LDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShWSURFTykKICAgICB2aXJ0dWFsIFN0
cmluZyBleHRyYU1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCk7CiAgICAgdmlydHVhbCBTdHJpbmcg
Zm9ybWF0TWVkaWFDb250cm9sc0N1cnJlbnRUaW1lKGZsb2F0IGN1cnJlbnRUaW1lLCBmbG9hdCBk
dXJhdGlvbikgY29uc3Q7CisgICAgdmlydHVhbCBib29sIHN1cHBvcnRzQ2xvc2VkQ2FwdGlvbmlu
ZygpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIHRydWU7IH0KIAogI2lmIEVOQUJMRShGVUxMU0NS
RUVOX0FQSSkKICAgICB2aXJ0dWFsIFN0cmluZyBleHRyYUZ1bGxTY3JlZW5TdHlsZVNoZWV0KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0
aW5ncy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5n
cy5jcHAKaW5kZXggNTNhNTQ3YTFmYjRmZjM1OWIwNzY4NDU4YTcxNDU0NGM3NTAzN2MzYi4uMWVl
M2ZiMjM0ODg5ZmM0YmM4ZjEwZjQyYzhlM2VjNzg2NDFkNzY0MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmNwcApAQCAtMTQzLDYg
KzE0Myw4IEBAIHN0YXRpYyB2b2lkIHdlYktpdFNldHRpbmdzQ29uc3RydWN0ZWQoR09iamVjdCog
b2JqZWN0KQogICAgIEdfT0JKRUNUX0NMQVNTKHdlYmtpdF9zZXR0aW5nc19wYXJlbnRfY2xhc3Mp
LT5jb25zdHJ1Y3RlZChvYmplY3QpOwogCiAgICAgV2ViUHJlZmVyZW5jZXMqIHByZWZzID0gV0VC
S0lUX1NFVFRJTkdTKG9iamVjdCktPnByaXYtPnByZWZlcmVuY2VzLmdldCgpOworICAgIHByZWZz
LT5zZXRTaG91bGREaXNwbGF5U3VidGl0bGVzKHRydWUpOworCiAgICAgRXhwZXJpbWVudGFsRmVh
dHVyZXMgZmVhdHVyZXM7CiAgICAgYm9vbCByZWdpb25CYXNlZENvbHVtbnNFbmFibGVkID0gZmVh
dHVyZXMuaXNFbmFibGVkKEV4cGVyaW1lbnRhbEZlYXR1cmVzOjpSZWdpb25CYXNlZENvbHVtbnMp
OwogICAgIGlmIChwcmVmcy0+cmVnaW9uQmFzZWRDb2x1bW5zRW5hYmxlZCgpICE9IHJlZ2lvbkJh
c2VkQ29sdW1uc0VuYWJsZWQpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNjY4MGFhMTI3ZGEwZjkxYmJhZjMzNDdkOGE2ZjUw
OTJhZDQwMGQ2ZS4uZGY1Y2Q0ZmVkM2U0Njk4OTQzN2MxYzllYmUwMWQ0MmZjNjViMzk5MyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE1IEBACisyMDEzLTA4LTIzICBEYW5pbG8gQ2VzYXIgTGVtZXMgZGUgUGF1
bGEgIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgorCisgICAgICAgIFtXSzJdW0dUS10g
YWRkIHN1cHBvcnQgZm9yIHN1YnRpdGxlcyBvbiB3ZWJraXQyR1RLCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTcwMDgKKworICAgICAgICBCeSBhY3Rp
dmF0aW5nIHN1YnRpdGxlcyBzdXBwb3J0IG9uIHdlYmtpdDJHVEssIHRoZSB2aWRlbyBwbGF5ZXIK
KyAgICAgICAgcmVjb2duaXplcyBhbmQgdXNlIHRleHQgPHRyYWNrcz4gaW5zaWRlIDx2aWRlbz4g
ZWxlbWVudHMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxMy0wOC0xOCAgQW50dGkg
S29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9y
Zy9iLzExOTk2Mz4gVXNlIFRleHROb2RlVHJhdmVyc2FsIGZvciBnZXR0aW5nIHNoZWV0IHRleHQg
aW4gU3R5bGVFbGVtZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25z
CmluZGV4IDg0YTAyYzYyMmZmZjcxZDRiMTc0NzNjYTVmZDYwNTNmMDMyMDA2YWQuLmMyODk0MDFm
Njg1YmQ2NDY0OWYzZjYwZDI0YzI5MDY2ZmQ1NTVlMDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC03ODUsMTIgKzc4NSw4IEBAIEJ1ZyhHVEspIG1lZGlh
L3Byb2dyZXNzLWV2ZW50cy1nZW5lcmF0ZWQtY29ycmVjdGx5Lmh0bWwgWyBGYWlsdXJlIFRpbWVv
dXQgXQogCiB3ZWJraXQub3JnL2IvMTAyMjU3IGZhc3QvZG9tL1dpbmRvdy9vcGVuLXdpbmRvdy1t
aW4tc2l6ZS5odG1sIFsgVGltZW91dCBdCiAKLSMgR1RLIHN0aWxsIGhhcyB0aGUgQ0MgdG9nZ2xl
IGJ1dHRvbiwgbm90IHRoZSBtZW51IG9mIHRyYWNrcy4KKyMgR1RLIGlzIG1vdmluZyBmcm9tIHRv
Z2dsZSBidXR0b24gdG8gYSBtZW51IG9mIHRyYWNrcy4KIHdlYmtpdC5vcmcvYi8xMDE2NzAgbWVk
aWEvdmlkZW8tY29udHJvbHMtY2FwdGlvbnMtdHJhY2ttZW51Lmh0bWwgWyBTa2lwIF0KLXdlYmtp
dC5vcmcvYi8xMDE2NzAgbWVkaWEvdmlkZW8tY29udHJvbHMtY2FwdGlvbnMtdHJhY2ttZW51LXNv
cnRlZC5odG1sIFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMTAxNjcwIG1lZGlhL3ZpZGVvLWNvbnRy
b2xzLWNhcHRpb25zLXRyYWNrbWVudS1sb2NhbGl6ZWQuaHRtbCBbIFNraXAgXQotd2Via2l0Lm9y
Zy9iLzEwMTY3MCBtZWRpYS92aWRlby1jb250cm9scy1jYXB0aW9ucy10cmFja21lbnUtaGlkZS1v
bi1jbGljay5odG1sIFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMTAxNjcwIG1lZGlhL3ZpZGVvLWNv
bnRyb2xzLWNhcHRpb25zLXRyYWNrbWVudS1oaWRlLW9uLWNsaWNrLW91dHNpZGUuaHRtbCBbIFNr
aXAgXQogd2Via2l0Lm9yZy9iLzEwMTY3MCBtZWRpYS90cmFjay90cmFjay11c2VyLXByZWZlcmVu
Y2VzLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xMDE2NzAgbWVkaWEvdmlkZW8tY29udHJv
bHMtY2FwdGlvbnMtdHJhY2ttZW51LWluY2x1ZGVzLWVuYWJsZWQtdHJhY2suaHRtbCBbIFNraXAg
XQogCkBAIC0xMjA4LDcgKzEyMDQsOCBAQCB3ZWJraXQub3JnL2IvODk2NjMgZWRpdGluZy9kZWxl
dGluZy9kZWxldGUtMzgwMDgzNC1maXguaHRtbCBbIEZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2Iv
ODczNTUgY2FudmFzL3BoaWxpcC90ZXN0cy8yZC50ZXh0LmRyYXcuZm9udGZhY2Uubm90aW5wYWdl
Lmh0bWwgWyBGYWlsdXJlIF0KIAotd2Via2l0Lm9yZy9iLzk1NDI4IG1lZGlhL3ZpZGVvLWNvbnRy
b2xzLWNhcHRpb25zLmh0bWwgWyBGYWlsdXJlIF0KKyMgR1RLIGlzIG1vdmluZyBmcm9tIHRoZSBz
aW1wbGUgdG9nZ2xlIGJ1dHRvbiB0byBhIG1lbnUgb2YgdHJhY2tzCit3ZWJraXQub3JnL2IvOTU0
MjggbWVkaWEvdmlkZW8tY29udHJvbHMtY2FwdGlvbnMuaHRtbCBbIFNraXAgXQogCiB3ZWJraXQu
b3JnL2IvOTU0Mjkgc3ZnL2N1c3RvbS9jbGFtcGVkLW1hc2tpbmctY2xpcHBpbmcuc3ZnIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209644</attachid>
            <date>2013-08-26 06:37:10 -0700</date>
            <delta_ts>2013-08-26 06:45:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117008-20130826103705.patch</filename>
            <type>text/plain</type>
            <size>24477</size>
            <attacher name="Danilo de Paula">danilo.eu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0MjQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTU0YjBmOWZkNmJjYzlk
MDE2OTY0NGM4Y2E5YmEwNWFhYmE5YzA1NS4uYjM5NDYxNDExODU2OTY5NmFiZWUyMWVhY2ZkMTNh
NWFkNGQ3NjNmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDEzLTA4LTIzICBEYW5p
bG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgor
CisgICAgICAgIFtXSzJdW0dUS10gYWRkIHN1cHBvcnQgZm9yIHN1YnRpdGxlcyBvbiB3ZWJraXQy
R1RLCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTcw
MDgKKworICAgICAgICBCeSBhY3RpdmF0aW5nIHN1YnRpdGxlcyBzdXBwb3J0IG9uIHdlYmtpdDJH
VEssIHRoZSB2aWRlbyBwbGF5ZXIKKyAgICAgICAgcmVjb2duaXplcyBhbmQgdXNlIHRleHQgPHRy
YWNrcz4gaW5zaWRlIDx2aWRlbz4gZWxlbWVudHMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTGF5b3V0IHRlc3RzICh0cmFjay1tZW51KSBzaG91bGQg
Y292ZXIgdGhpcyBjaGFuZ2UuCisKKyAgICAgICAgKiBjc3MvbWVkaWFDb250cm9sc0d0ay5jc3M6
CisgICAgICAgIChhdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10b2dnbGUtY2xvc2VkLWNh
cHRpb25zLWJ1dHRvbiwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdG9nZ2xlLWNsb3Nl
ZC1jYXB0aW9ucy1idXR0b24pOgorICAgICAgICAodmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJv
bHMtY2xvc2VkLWNhcHRpb25zLWNvbnRhaW5lcik6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1t
ZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCk6CisgICAgICAgICh2aWRl
bzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBoMyk6
CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMt
dHJhY2stbGlzdCB1bCk6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1j
bG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBsaSk6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1t
ZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBsaS5zZWxlY3RlZCk6Cisg
ICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50OjpN
ZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50Ojpk
ZWZhdWx0RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xF
bGVtZW50cy5oOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXI6OmNyZWF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lcjo6Y2FzdCk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lcjo6TWVkaWFD
b250cm9sc0d0a0V2ZW50TGlzdGVuZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9s
c0d0azo6TWVkaWFDb250cm9sc0d0ayk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xz
R3RrOjppbml0aWFsaXplQ29udHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9s
c0d0azo6c2V0TWVkaWFDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJv
bHNHdGs6OnJlc2V0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbHNHdGs6Om1ha2VU
cmFuc3BhcmVudCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzR3RrOjp0b2dnbGVD
bG9zZWRDYXB0aW9uVHJhY2tMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbHNH
dGs6OnNob3dDbG9zZWRDYXB0aW9uVHJhY2tMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
Q29udHJvbHNHdGs6OmhpZGVDbG9zZWRDYXB0aW9uVHJhY2tMaXN0KToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhQ29udHJvbHNHdGs6OmhhbmRsZUNsaWNrRXZlbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFDb250cm9sc0d0azo6ZXZlbnRMaXN0ZW5lcik6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lcjo6aGFuZGxlRXZlbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXI6Om9wZXJhdG9yPT0pOgorICAgICAg
ICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuaDoKKyAgICAgICAgKiBwYWdlL0NhcHRp
b25Vc2VyUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dHJhY2tEaXNwbGF5TmFt
ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL0xvY2FsaXplZFN0cmluZ3NHdGsuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6dGV4dFRyYWNrU3VidGl0bGVzVGV4dCk6CisgICAgICAgIChXZWJDb3Jl
Ojp0ZXh0VHJhY2tPZmZNZW51SXRlbVRleHQpOgorICAgICAgICAoV2ViQ29yZTo6dGV4dFRyYWNr
Tm9MYWJlbFRleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0ay5oOgor
CiAyMDEzLTA4LTE4ICBEYW5pbG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgIDxkYW5pbG8uY2VzYXJA
Y29sbGFib3JhLmNvLnVrPgogCiAgICAgICAgIFtFRkxdIG1pbm9yIG1ldGhvZCBuYW1lIGZpeCBm
b3IgdGhlIHRleHRUcmFja09mZk1lbnVJdGVtVGV4dCBtZXRob2QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA4NDMw
YzcwOWRmNjgzMjEyNDVlZTI4YWQ1YTEwNzg5ZjE0NzRmYTM5Li44NDRlOGQyZDY4OWI5ZjMzZDNl
YmQxZTUyNWU5NzUwNDk5ZGJjODJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMt
MDgtMTggIERhbmlsbyBDZXNhciBMZW1lcyBkZSBQYXVsYSAgPGRhbmlsby5jZXNhckBjb2xsYWJv
cmEuY28udWs+CisKKyAgICAgICAgW1dLMl1bR1RLXSBhZGQgc3VwcG9ydCBmb3Igc3VidGl0bGVz
IG9uIHdlYmtpdDJHVEsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExNzAwOAorCisgICAgICAgIEJ5IGFjdGl2YXRpbmcgc3VidGl0bGVzIHN1cHBvcnQg
b24gd2Via2l0MkdUSywgdGhlIHZpZGVvIHBsYXllcgorICAgICAgICByZWNvZ25pemVzIGFuZCB1
c2UgdGV4dCA8dHJhY2tzPiBpbnNpZGUgPHZpZGVvPiBlbGVtZW50cy4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFNldHRpbmdzLmNwcDoKKyAgICAgICAgKHdlYmtpdF9zZXR0aW5nc19jbGFzc19pbml0KToK
KyAgICAgICAgKHdlYmtpdF9zZXR0aW5nc19uZXcpOgorCiAyMDEzLTA4LTE3ICBEYXJpbiBBZGxl
ciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTE5
OTQxPiBNYWtlIFBhZ2U6OmRyYWdDb250cm9sbGVyIHJldHVybiBhIHJlZmVyZW5jZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL21lZGlhQ29udHJvbHNHdGsuY3NzIGIvU291cmNlL1dl
YkNvcmUvY3NzL21lZGlhQ29udHJvbHNHdGsuY3NzCmluZGV4IDU3MjlkNDU4NzIxYTBkODIxZjA5
MGJjZTNlMmZlYmJjMjMzMjhiZDcuLjYxYmExMmE5NWNlMjVhNzYyY2NiZWI1ZjhmNmYwMmUxODYy
YTQ3M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9tZWRpYUNvbnRyb2xzR3RrLmNz
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvbWVkaWFDb250cm9sc0d0ay5jc3MKQEAgLTIyMiw2
ICsyMjIsNjkgQEAgYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdG9nZ2xlLWNsb3NlZC1j
YXB0aW9ucy1idXR0b24sIHZpZGVvOjotd2Via2l0LW1lZGkKICAgICBoZWlnaHQ6IDMwcHg7CiAg
ICAgbGluZS1oZWlnaHQ6IDMwcHg7CiAgICAgbWFyZ2luOiAwIDlweCAwIC03cHg7CisgICAgYmFj
a2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0OworICAgIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVy
OworICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgaWQ9
InN2ZzczODQiIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3lu
dGF4LW5zIyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBoZWlnaHQ9IjE2IiB3
aWR0aD0iMTYiIHZlcnNpb249IjEuMSIgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMu
b3JnL25zIyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj48bWV0
YWRhdGEgaWQ9Im1ldGFkYXRhOTAiPjxyZGY6UkRGPjxjYzpXb3JrIHJkZjphYm91dD0iIj48ZGM6
Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD48ZGM6dHlwZSByZGY6cmVzb3VyY2U9Imh0
dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIi8+PGRjOnRpdGxlPkdub21lIFN5
bWJvbGljIEljb24gVGhlbWU8L2RjOnRpdGxlPjwvY2M6V29yaz48L3JkZjpSREY+PC9tZXRhZGF0
YT48ZyBpZD0ibGF5ZXI5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTAxLC0zNTcpIj48cGF0aCBp
ZD0icGF0aDEyMTQ4IiBzdHlsZT0iYmxvY2stcHJvZ3Jlc3Npb246dGI7Y29sb3I6I2JlYmViZTtk
aXJlY3Rpb246bHRyO3RleHQtaW5kZW50OjA7dGV4dC1hbGlnbjpzdGFydDtlbmFibGUtYmFja2dy
b3VuZDphY2N1bXVsYXRlO3RleHQtdHJhbnNmb3JtOm5vbmU7IiBmaWxsPSIjYmViZWJlIiBkPSJt
MTA0Ljc1LDM1Ny4wNmMtMi4wNjAyLDAtMy43NSwxLjY4OTgtMy43NSwzLjc1djQuNDM3NWMwLDIu
MDYwMiwxLjY4OTgsMy43NSwzLjc1LDMuNzVoNC45Mzc1bDMuNzUsMi42NTYyLDEuNTkzOCwxLjEy
NXYtMS45Njg4bC0wLjAzMTMtMi41YzEuMTEwNi0wLjU5NzE1LDEuOTY4OC0xLjY1MjYsMS45Njg4
LTMuMDYyNXYtNC40Mzc1YzAtMi4wNjAyLTEuNjg5OC0zLjc1LTMuNzUtMy43NWgtOC40Njg4em0w
LDIsOC40Njg4LDBjMC45ODY4LDAsMS43NSwwLjc2MzIsMS43NSwxLjc1djQuNDM3NWMwLDAuODYy
NzMtMC42MzUwOCwxLjU0MS0xLjEyNSwxLjYyNWwtMC44NCwwLjEydjAuODQzNzUsMS4wMzEybC0y
LjQwNjItMS42ODc1LTAuMjUtMC4xODc1aC0wLjMxMjUtNS4yODEyYy0wLjk4NjgsMC0xLjc1LTAu
NzYzMi0xLjc1LTEuNzV2LTQuNDM3NWMwLTAuOTg2OCwwLjc2MzItMS43NSwxLjc1LTEuNzV6Ii8+
PC9nPjwvc3ZnPicpOworfQorCit2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQt
Y2FwdGlvbnMtY29udGFpbmVyIHsKKyAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG1lZGlhLWNsb3Nl
ZC1jYXB0aW9ucy1jb250YWluZXI7CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIGRpc3Bs
YXk6IGJsb2NrOworICAgIHJpZ2h0OiAzOHB4OworICAgIGJvdHRvbTogMzVweDsKKyAgICBtYXgt
d2lkdGg6IC13ZWJraXQtY2FsYygxMDAlIC0gNDhweCk7IC8qIHJpZ2h0ICsgMTBweCAqLworICAg
IG1heC1oZWlnaHQ6IC13ZWJraXQtY2FsYygxMDAlIC0gMzVweCk7IC8qIGJvdHRvbSArIDEwcHgg
Ki8KKyAgICBvdmVyZmxvdy14OiBoaWRkZW47CisgICAgb3ZlcmZsb3cteTogYXV0bzsKKyAgICBi
YWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwLCAyMCwgMjAsIDAuOCk7CisgICAgYm9yZGVyLXJhZGl1
czogMTBweDsKKyAgICBjdXJzb3I6IGRlZmF1bHQ7CisgICAgei1pbmRleDogMjsKK30KKwordmlk
ZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY2xvc2VkLWNhcHRpb25zLXRyYWNrLWxpc3Qgewor
ICAgIGRpc3BsYXk6IGJsb2NrOworICAgIGZvbnQtZmFtaWx5OiAiSGVsdmV0aWNhIEJvbGQiLCBI
ZWx2ZXRpY2E7CisgICAgZm9udC1zaXplOiAxMHB0OworICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6
IG5vbmU7Cit9CisKK3ZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWNsb3NlZC1jYXB0aW9u
cy10cmFjay1saXN0IGgzIHsKKyAgICBtYXJnaW46IDFweCAzMHB4OworICAgIGNvbG9yOiAjNzU3
NTc1OworICAgIHRleHQtc2hhZG93OiAwIDFweCAwIGJsYWNrOworICAgIHBhZGRpbmctdG9wOiAw
cHg7CisgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CisgICAgZm9udC1zaXplOiAxMHB0OworfQorCit2
aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCB1
bCB7CisgICAgbGlzdC1zdHlsZS10eXBlOiBub25lOworICAgIG1hcmdpbjogMCAwIDRweCAwOwor
ICAgIHBhZGRpbmc6IDA7CisgICAgZm9udC13ZWlnaHQ6IGJvbGQ7Cit9CisKK3ZpZGVvOjotd2Vi
a2l0LW1lZGlhLWNvbnRyb2xzLWNsb3NlZC1jYXB0aW9ucy10cmFjay1saXN0IGxpIHsKKyAgICBw
b3NpdGlvbjogcmVsYXRpdmU7CisgICAgY29sb3I6IHdoaXRlOworICAgIGJhY2tncm91bmQtaW1h
Z2U6IG5vbmU7CisgICAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgYmxhY2s7CisgICAgbWFyZ2luOiAw
OworICAgIHBhZGRpbmctbGVmdDogMzdweDsKKyAgICBwYWRkaW5nLXJpZ2h0OiAzNXB4OworICAg
IHBhZGRpbmctdG9wOiAwLjE1ZW07CisgICAgcGFkZGluZy1ib3R0b206IDAuMmVtOworICAgIGJv
eC1zaXppbmc6IGJvcmRlci1ib3g7CisgICAgb3ZlcmZsb3c6IGhpZGRlbjsKKyAgICB3aGl0ZS1z
cGFjZTogbm93cmFwOworICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOworICAgIGJvcmRlci10
b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApOworICAgIGJvcmRlci1ib3R0b206IDFweCBz
b2xpZCByZ2JhKDAsIDAsIDAsIDApOworfQordmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMt
Y2xvc2VkLWNhcHRpb25zLXRyYWNrLWxpc3QgbGkuc2VsZWN0ZWQgeworICAgIGJhY2tncm91bmQt
Y29sb3I6IHJnYmEoMjMwLCAyMzAsIDIzMCwgMC4xNSk7CiB9CiAKIGF1ZGlvOjotd2Via2l0LW1l
ZGlhLWNvbnRyb2xzLWZ1bGxzY3JlZW4tYnV0dG9uLCB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250
cm9scy1mdWxsc2NyZWVuLWJ1dHRvbiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKaW5kZXggYTVhOGRmNDc1NGNkZTJkODcwMzQ0
NDNhNWI3ZGI1MDZhMjYyOWNkMi4uYTA1YzgwMDAxMGJmYzQ1MjVhZTFiMDAwMDc2Nzc2ZWEyYmVk
ODA3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9s
RWxlbWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJv
bEVsZW1lbnRzLmNwcApAQCAtNjc3LDExICs2NzcsMTEgQEAgY29uc3QgQXRvbWljU3RyaW5nJiBN
ZWRpYUNvbnRyb2xSZXR1cm5Ub1JlYWx0aW1lQnV0dG9uRWxlbWVudDo6c2hhZG93UHNldWRvSWQo
KQogCiBNZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQ6Ok1lZGlh
Q29udHJvbFRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uRWxlbWVudChEb2N1bWVudCogZG9jdW1l
bnQsIE1lZGlhQ29udHJvbHMqIGNvbnRyb2xzKQogICAgIDogTWVkaWFDb250cm9sSW5wdXRFbGVt
ZW50KGRvY3VtZW50LCBNZWRpYVNob3dDbG9zZWRDYXB0aW9uc0J1dHRvbikKLSNpZiBQTEFURk9S
TShNQUMpIHx8IFBMQVRGT1JNKFdJTikKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFdJ
TikgfHwgUExBVEZPUk0oR1RLKQogICAgICwgbV9jb250cm9scyhjb250cm9scykKICNlbmRpZgog
ewotI2lmICFQTEFURk9STShNQUMpICYmICFQTEFURk9STShXSU4pCisjaWYgIVBMQVRGT1JNKE1B
QykgJiYgIVBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oR1RLKQogICAgIFVOVVNFRF9QQVJBTShj
b250cm9scyk7CiAjZW5kaWYKIH0KQEAgLTcxMSw3ICs3MTEsNyBAQCB2b2lkIE1lZGlhQ29udHJv
bFRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihF
dmVudCogZQogICAgICAgICAvLyBVSS4gTm90IGFsbCBwb3J0cyBtYXkgd2FudCB0aGUgY2xvc2Vk
IGNhcHRpb25zIGJ1dHRvbiB0byB0b2dnbGUgYSBsaXN0IG9mIHRyYWNrcywgc28KICAgICAgICAg
Ly8gd2UgaGF2ZSB0byB1c2UgI2lmLgogICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTAxODc3Ci0jaWYgIVBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JN
KFdJTikKKyNpZiAhUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oV0lOKSAmJiAhUExBVEZPUk0o
R1RLKQogICAgICAgICBtZWRpYUNvbnRyb2xsZXIoKS0+c2V0Q2xvc2VkQ2FwdGlvbnNWaXNpYmxl
KCFtZWRpYUNvbnRyb2xsZXIoKS0+Y2xvc2VkQ2FwdGlvbnNWaXNpYmxlKCkpOwogICAgICAgICBz
ZXRDaGVja2VkKG1lZGlhQ29udHJvbGxlcigpLT5jbG9zZWRDYXB0aW9uc1Zpc2libGUoKSk7CiAg
ICAgICAgIHVwZGF0ZURpc3BsYXlUeXBlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaAppbmRleCA2ODI2MmQzNzdkMTI2ZjhiMmRhNGEz
ZThhZTg4NTNmMWNmZjg4ZWZkLi4zNjhhNTgxZjU5MGE0NTM2MGM0NWRiNGU1NTc0NzU3NGU5YWJk
MWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xF
bGVtZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVs
ZW1lbnRzLmgKQEAgLTI4MCw3ICsyODAsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgY29uc3Qg
QXRvbWljU3RyaW5nJiBzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1
YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KikgT1ZFUlJJREU7CiAKLSNpZiBQTEFU
Rk9STShNQUMpIHx8IFBMQVRGT1JNKFdJTikKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JN
KFdJTikgfHwgUExBVEZPUk0oR1RLKQogICAgIE1lZGlhQ29udHJvbHMqIG1fY29udHJvbHM7CiAj
ZW5kaWYKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNv
bnRyb2xzR3RrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNH
dGsuY3BwCmluZGV4IDcyODE4MjQ1NTgxMGQ5YTkxMDBkMTNmNzk5ZmVhMGUzM2ZhZWM0ZDYuLmU0
ZWY1OTg2NDE5OTA0Yzc2MzcyMWExZDMwYzc3YzYyMDRlYzFlYmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuY3BwCkBAIC0zMSwxMiArMzEsNDIg
QEAKICNpZiBFTkFCTEUoVklERU8pCiAjaW5jbHVkZSAiTWVkaWFDb250cm9sc0d0ay5oIgogCisj
aW5jbHVkZSAiQ2hyb21lLmgiCisjaW5jbHVkZSAiTW91c2VFdmVudC5oIgorCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKK2NsYXNzIE1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyIDogcHVibGlj
IEV2ZW50TGlzdGVuZXIgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhQ29u
dHJvbHNHdGtFdmVudExpc3RlbmVyPiBjcmVhdGUoTWVkaWFDb250cm9sc0d0ayogbWVkaWFDb250
cm9scykgeyByZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVy
KG1lZGlhQ29udHJvbHMpKTsgfQorICAgIHN0YXRpYyBjb25zdCBNZWRpYUNvbnRyb2xzR3RrRXZl
bnRMaXN0ZW5lciogY2FzdChjb25zdCBFdmVudExpc3RlbmVyKiBsaXN0ZW5lcikKKyAgICB7Cisg
ICAgICAgIHJldHVybiBsaXN0ZW5lci0+dHlwZSgpID09IEdPYmplY3RFdmVudExpc3RlbmVyVHlw
ZQorICAgICAgICAgICAgPyBzdGF0aWNfY2FzdDxjb25zdCBNZWRpYUNvbnRyb2xzR3RrRXZlbnRM
aXN0ZW5lcio+KGxpc3RlbmVyKQorICAgICAgICAgICAgOiAwOworICAgIH0KKworICAgIHZpcnR1
YWwgYm9vbCBvcGVyYXRvcj09KGNvbnN0IEV2ZW50TGlzdGVuZXImIG90aGVyKTsKKworcHJpdmF0
ZToKKyAgICBNZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lcihNZWRpYUNvbnRyb2xzR3RrKiBt
ZWRpYUNvbnRyb2xzKQorICAgICAgICA6IEV2ZW50TGlzdGVuZXIoR09iamVjdEV2ZW50TGlzdGVu
ZXJUeXBlKQorICAgICAgICAsIG1fbWVkaWFDb250cm9scyhtZWRpYUNvbnRyb2xzKQorICAgIHsK
KyAgICB9CisKKyAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlRXZlbnQoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCosIEV2ZW50Kik7CisKKyAgICBNZWRpYUNvbnRyb2xzR3RrKiBtX21lZGlhQ29udHJvbHM7
Cit9OworCiBNZWRpYUNvbnRyb2xzR3RrOjpNZWRpYUNvbnRyb2xzR3RrKERvY3VtZW50KiBkb2N1
bWVudCkKICAgICA6IE1lZGlhQ29udHJvbHMoZG9jdW1lbnQpCiAgICAgLCBtX2R1cmF0aW9uRGlz
cGxheSgwKQogICAgICwgbV9lbmNsb3N1cmUoMCkKKyAgICAsIG1fZXZlbnRMaXN0ZW5lcigwKQor
ICAgICwgbV9jbG9zZWRDYXB0aW9uc1RyYWNrTGlzdCgwKQorICAgICwgbV9jbG9zZWRDYXB0aW9u
c0NvbnRhaW5lcigwKQogewogfQogCkBAIC05MSwxMSArMTIxLDI0IEBAIGJvb2wgTWVkaWFDb250
cm9sc0d0azo6aW5pdGlhbGl6ZUNvbnRyb2xzKERvY3VtZW50KiBkb2N1bWVudCkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCiAgICAgaWYgKGRvY3VtZW50LT5wYWdlKCktPnRoZW1lKCktPnN1cHBv
cnRzQ2xvc2VkQ2FwdGlvbmluZygpKSB7CisgICAgICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xDbG9z
ZWRDYXB0aW9uc0NvbnRhaW5lckVsZW1lbnQ+IGNsb3NlZENhcHRpb25zQ29udGFpbmVyID0gTWVk
aWFDb250cm9sQ2xvc2VkQ2FwdGlvbnNDb250YWluZXJFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQp
OworCisgICAgICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xDbG9zZWRDYXB0aW9uc1RyYWNrTGlzdEVs
ZW1lbnQ+IGNsb3NlZENhcHRpb25zVHJhY2tMaXN0ID0gTWVkaWFDb250cm9sQ2xvc2VkQ2FwdGlv
bnNUcmFja0xpc3RFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIHRoaXMpOworICAgICAgICBtX2Ns
b3NlZENhcHRpb25zVHJhY2tMaXN0ID0gY2xvc2VkQ2FwdGlvbnNUcmFja0xpc3QuZ2V0KCk7Cisg
ICAgICAgIGNsb3NlZENhcHRpb25zQ29udGFpbmVyLT5hcHBlbmRDaGlsZChjbG9zZWRDYXB0aW9u
c1RyYWNrTGlzdC5yZWxlYXNlKCksIGV4Y2VwdGlvbkNvZGUsIEF0dGFjaExhemlseSk7CisgICAg
ICAgIGlmIChleGNlcHRpb25Db2RlKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAg
ICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQ+
IHRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uID0gTWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2Fw
dGlvbnNCdXR0b25FbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIHRoaXMpOwogICAgICAgICBtX3Rv
Z2dsZUNsb3NlZENhcHRpb25zQnV0dG9uID0gdG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b24uZ2V0
KCk7CiAgICAgICAgIHBhbmVsLT5hcHBlbmRDaGlsZCh0b2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRv
bi5yZWxlYXNlKCksIGV4Y2VwdGlvbkNvZGUsIEF0dGFjaExhemlseSk7CiAgICAgICAgIGlmIChl
eGNlcHRpb25Db2RlKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIG1fY2xv
c2VkQ2FwdGlvbnNDb250YWluZXIgPSBjbG9zZWRDYXB0aW9uc0NvbnRhaW5lci5nZXQoKTsKKyAg
ICAgICAgYXBwZW5kQ2hpbGQoY2xvc2VkQ2FwdGlvbnNDb250YWluZXIucmVsZWFzZSgpLCBleGNl
cHRpb25Db2RlLCBBdHRhY2hMYXppbHkpOworICAgICAgICBpZiAoZXhjZXB0aW9uQ29kZSkKKyAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKICAgICBSZWZQdHI8TWVkaWFDb250cm9s
RnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQ+IGZ1bGxzY3JlZW5CdXR0b24gPSBNZWRpYUNvbnRyb2xG
dWxsc2NyZWVuQnV0dG9uRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KTsKQEAgLTE0Nyw2ICsxOTAs
MTAgQEAgdm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpzZXRNZWRpYUNvbnRyb2xsZXIoTWVkaWFDb250
cm9sbGVySW50ZXJmYWNlKiBjb250cm9sbGVyKQogICAgICAgICBtX2R1cmF0aW9uRGlzcGxheS0+
c2V0TWVkaWFDb250cm9sbGVyKGNvbnRyb2xsZXIpOwogICAgIGlmIChtX2VuY2xvc3VyZSkKICAg
ICAgICAgbV9lbmNsb3N1cmUtPnNldE1lZGlhQ29udHJvbGxlcihjb250cm9sbGVyKTsKKyAgICBp
ZiAobV9jbG9zZWRDYXB0aW9uc0NvbnRhaW5lcikKKyAgICAgICAgbV9jbG9zZWRDYXB0aW9uc0Nv
bnRhaW5lci0+c2V0TWVkaWFDb250cm9sbGVyKGNvbnRyb2xsZXIpOworICAgIGlmIChtX2Nsb3Nl
ZENhcHRpb25zVHJhY2tMaXN0KQorICAgICAgICBtX2Nsb3NlZENhcHRpb25zVHJhY2tMaXN0LT5z
ZXRNZWRpYUNvbnRyb2xsZXIoY29udHJvbGxlcik7CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sc0d0
azo6cmVzZXQoKQpAQCAtMTU5LDYgKzIwNiwxMyBAQCB2b2lkIE1lZGlhQ29udHJvbHNHdGs6OnJl
c2V0KCkKICAgICBtX2R1cmF0aW9uRGlzcGxheS0+c2V0SW5uZXJUZXh0KHBhZ2UtPnRoZW1lKCkt
PmZvcm1hdE1lZGlhQ29udHJvbHNUaW1lKGR1cmF0aW9uKSwgQVNTRVJUX05PX0VYQ0VQVElPTik7
CiAgICAgbV9kdXJhdGlvbkRpc3BsYXktPnNldEN1cnJlbnRWYWx1ZShkdXJhdGlvbik7CiAKKyAg
ICBpZiAobV90b2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbikgeworICAgICAgICBpZiAobV9tZWRp
YUNvbnRyb2xsZXItPmhhc0Nsb3NlZENhcHRpb25zKCkpCisgICAgICAgICAgICBtX3RvZ2dsZUNs
b3NlZENhcHRpb25zQnV0dG9uLT5zaG93KCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1f
dG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b24tPmhpZGUoKTsKKyAgICB9CisKICAgICBNZWRpYUNv
bnRyb2xzOjpyZXNldCgpOwogfQogCkBAIC0yMDgsNiArMjYyLDggQEAgdm9pZCBNZWRpYUNvbnRy
b2xzR3RrOjptYWtlVHJhbnNwYXJlbnQoKQogCiAgICAgaWYgKG1fdm9sdW1lU2xpZGVyQ29udGFp
bmVyKQogICAgICAgICBtX3ZvbHVtZVNsaWRlckNvbnRhaW5lci0+aGlkZSgpOworCisgICAgaGlk
ZUNsb3NlZENhcHRpb25UcmFja0xpc3QoKTsKIH0KIAogdm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpz
aG93Vm9sdW1lU2xpZGVyKCkKQEAgLTIzNiw2ICsyOTIsOTAgQEAgdm9pZCBNZWRpYUNvbnRyb2xz
R3RrOjpjcmVhdGVUZXh0VHJhY2tEaXNwbGF5KCkKIH0KICNlbmRpZgogCit2b2lkIE1lZGlhQ29u
dHJvbHNHdGs6OnRvZ2dsZUNsb3NlZENhcHRpb25UcmFja0xpc3QoKQoreworICAgIGlmICghbV9t
ZWRpYUNvbnRyb2xsZXItPmhhc0Nsb3NlZENhcHRpb25zKCkpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGlmICghbV9jbG9zZWRDYXB0aW9uc0NvbnRhaW5lciB8fCAhbV9jbG9zZWRDYXB0aW9uc1Ry
YWNrTGlzdCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKG1fY2xvc2VkQ2FwdGlvbnNDb250
YWluZXItPmlzU2hvd2luZygpKSB7CisgICAgICAgIGhpZGVDbG9zZWRDYXB0aW9uVHJhY2tMaXN0
KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBtX2Nsb3NlZENhcHRpb25zVHJhY2tM
aXN0LT51cGRhdGVEaXNwbGF5KCk7CisgICAgc2hvd0Nsb3NlZENhcHRpb25UcmFja0xpc3QoKTsK
IH0KIAordm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpzaG93Q2xvc2VkQ2FwdGlvblRyYWNrTGlzdCgp
Cit7CisgICAgbV92b2x1bWVTbGlkZXJDb250YWluZXItPmhpZGUoKTsKKworICAgIGlmICghbV9j
bG9zZWRDYXB0aW9uc0NvbnRhaW5lciB8fCBtX2Nsb3NlZENhcHRpb25zQ29udGFpbmVyLT5pc1No
b3dpbmcoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9jbG9zZWRDYXB0aW9uc0NvbnRhaW5l
ci0+c2hvdygpOworICAgIG1fcGFuZWwtPnNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVy
dHlQb2ludGVyRXZlbnRzLCBDU1NWYWx1ZU5vbmUpOworCisgICAgUmVmUHRyPEV2ZW50TGlzdGVu
ZXI+IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcigpOworCisgICAgLy8gQ2hlY2sgZm9yIGNsaWNr
cyBvdXRzaWRlIHRoZSBtZWRpYS1jb250cm9sCisgICAgZG9jdW1lbnQoKS0+YWRkRXZlbnRMaXN0
ZW5lcihldmVudE5hbWVzKCkuY2xpY2tFdmVudCwgbGlzdGVuZXIsIHRydWUpOworICAgIC8vIENo
ZWNrIGZvciBjbGlja3MgaW5zaWRlIHRoZSBtZWRpYS1jb250cm9sIGJveAorICAgIGFkZEV2ZW50
TGlzdGVuZXIoZXZlbnROYW1lcygpLmNsaWNrRXZlbnQsIGxpc3RlbmVyLCB0cnVlKTsKK30KKwor
dm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpoaWRlQ2xvc2VkQ2FwdGlvblRyYWNrTGlzdCgpCit7Cisg
ICAgaWYgKCFtX2Nsb3NlZENhcHRpb25zQ29udGFpbmVyIHx8ICFtX2Nsb3NlZENhcHRpb25zQ29u
dGFpbmVyLT5pc1Nob3dpbmcoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9jbG9zZWRDYXB0
aW9uc0NvbnRhaW5lci0+aGlkZSgpOworICAgIG1fcGFuZWwtPnJlbW92ZUlubGluZVN0eWxlUHJv
cGVydHkoQ1NTUHJvcGVydHlQb2ludGVyRXZlbnRzKTsKKworICAgIEV2ZW50TGlzdGVuZXIqIGxp
c3RlbmVyID0gZXZlbnRMaXN0ZW5lcigpLmdldCgpOworCisgICAgZG9jdW1lbnQoKS0+cmVtb3Zl
RXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuY2xpY2tFdmVudCwgbGlzdGVuZXIsIHRydWUpOwor
ICAgIHJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmNsaWNrRXZlbnQsIGxpc3RlbmVy
LCB0cnVlKTsKK30KKwordm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpoYW5kbGVDbGlja0V2ZW50KEV2
ZW50ICpldmVudCkKK3sKKyAgICBOb2RlKiBjdXJyZW50VGFyZ2V0ID0gZXZlbnQtPmN1cnJlbnRU
YXJnZXQoKS0+dG9Ob2RlKCk7CisgICAgTm9kZSogdGFyZ2V0ID0gZXZlbnQtPnRhcmdldCgpLT50
b05vZGUoKTsKKworICAgIGlmICgoY3VycmVudFRhcmdldCA9PSBkb2N1bWVudCgpICYmICFzaGFk
b3dIb3N0KCktPmNvbnRhaW5zKHRhcmdldCkpCisgICAgICAgIHx8IGN1cnJlbnRUYXJnZXQgPT0g
dGhpcykgeworICAgICAgICBoaWRlQ2xvc2VkQ2FwdGlvblRyYWNrTGlzdCgpOworICAgICAgICBl
dmVudC0+c3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7CisgICAgICAgIGV2ZW50LT5zZXREZWZh
dWx0SGFuZGxlZCgpOworICAgIH0KK30KKworUGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xzR3RrRXZl
bnRMaXN0ZW5lcj4gTWVkaWFDb250cm9sc0d0azo6ZXZlbnRMaXN0ZW5lcigpCit7CisgICAgaWYg
KCFtX2V2ZW50TGlzdGVuZXIpCisgICAgICAgIG1fZXZlbnRMaXN0ZW5lciA9IE1lZGlhQ29udHJv
bHNHdGtFdmVudExpc3RlbmVyOjpjcmVhdGUodGhpcyk7CisKKyAgICByZXR1cm4gbV9ldmVudExp
c3RlbmVyOworfQorCit2b2lkIE1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyOjpoYW5kbGVF
dmVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgRXZlbnQqIGV2ZW50KQoreworICAgIGlmIChl
dmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5jbGlja0V2ZW50KQorICAgICAgICBtX21lZGlh
Q29udHJvbHMtPmhhbmRsZUNsaWNrRXZlbnQoZXZlbnQpOworCisgICAgcmV0dXJuOworfQorCiti
b29sIE1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyOjpvcGVyYXRvcj09KGNvbnN0IEV2ZW50
TGlzdGVuZXImIGxpc3RlbmVyKQoreworICAgIGlmIChjb25zdCBNZWRpYUNvbnRyb2xzR3RrRXZl
bnRMaXN0ZW5lciogbWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXIgPSBNZWRpYUNvbnRyb2xz
R3RrRXZlbnRMaXN0ZW5lcjo6Y2FzdCgmbGlzdGVuZXIpKQorICAgICAgICByZXR1cm4gbV9tZWRp
YUNvbnRyb2xzID09IG1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyLT5tX21lZGlhQ29udHJv
bHM7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuaAppbmRleCAyZWEzMjU5OWY1YzRkN2M5MjQ5
MjE2YWY2MTVjMzU3MTVjNzFjYjQ5Li4xNjAzN2Y2NjEzNDVlYTU1NmE5YWNhNzMzNGI3NmIzMmM1
ODRiMmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRy
b2xzR3RrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sc0d0
ay5oCkBAIC0zNSw2ICszNSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgTWVk
aWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXI7CisKIGNsYXNzIE1lZGlhQ29udHJvbHNHdGsgOiBw
dWJsaWMgTWVkaWFDb250cm9scyB7CiBwdWJsaWM6CiAgICAgLy8gQ2FsbGVkIGZyb20gcG9ydC1z
cGVjaWZpYyBwYXJlbnQgY3JlYXRlIGZ1bmN0aW9uIHRvIGNyZWF0ZSBjdXN0b20gY29udHJvbHMu
CkBAIC00Nyw2ICs0OSw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQ3VycmVu
dFRpbWVEaXNwbGF5KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHNob3dWb2x1bWVTbGlk
ZXIoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgbWFrZVRyYW5zcGFyZW50KCkgT1ZFUlJJ
REU7CisgICAgdmlydHVhbCB2b2lkIHRvZ2dsZUNsb3NlZENhcHRpb25UcmFja0xpc3QoKSBPVkVS
UklERTsKKworICAgIHZvaWQgaGFuZGxlQ2xpY2tFdmVudChFdmVudCopOwogCiAjaWYgRU5BQkxF
KFZJREVPX1RSQUNLKQogICAgIHZvaWQgY3JlYXRlVGV4dFRyYWNrRGlzcGxheSgpIE9WRVJSSURF
OwpAQCAtNTQsMTMgKzU5LDIxIEBAIHB1YmxpYzoKIAogcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0
IE1lZGlhQ29udHJvbHNHdGsoRG9jdW1lbnQqKTsKLQogICAgIGJvb2wgaW5pdGlhbGl6ZUNvbnRy
b2xzKERvY3VtZW50Kik7CiAKIHByaXZhdGU6CisgICAgdm9pZCBzaG93Q2xvc2VkQ2FwdGlvblRy
YWNrTGlzdCgpOworICAgIHZvaWQgaGlkZUNsb3NlZENhcHRpb25UcmFja0xpc3QoKTsKKworICAg
IFBhc3NSZWZQdHI8TWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXI+IGV2ZW50TGlzdGVuZXIo
KTsKKwogICAgIE1lZGlhQ29udHJvbFRpbWVSZW1haW5pbmdEaXNwbGF5RWxlbWVudCogbV9kdXJh
dGlvbkRpc3BsYXk7CiAgICAgTWVkaWFDb250cm9sUGFuZWxFbmNsb3N1cmVFbGVtZW50KiBtX2Vu
Y2xvc3VyZTsKICAgICBNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJDb250YWluZXJFbGVtZW50KiBt
X3ZvbHVtZVNsaWRlckNvbnRhaW5lcjsKKyAgICBNZWRpYUNvbnRyb2xDbG9zZWRDYXB0aW9uc1Ry
YWNrTGlzdEVsZW1lbnQqIG1fY2xvc2VkQ2FwdGlvbnNUcmFja0xpc3Q7CisgICAgTWVkaWFDb250
cm9sQ2xvc2VkQ2FwdGlvbnNDb250YWluZXJFbGVtZW50KiBtX2Nsb3NlZENhcHRpb25zQ29udGFp
bmVyOworCisgICAgUmVmUHRyPE1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyPiBtX2V2ZW50
TGlzdGVuZXI7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRp
b25Vc2VyUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclBy
ZWZlcmVuY2VzLmNwcAppbmRleCAyNTBlYTU1OWQyMTNiNjkxZWM3ZDI0N2FjODA3OWIzNDI1NjQy
NTgwLi4yODg5YmIyNmZkMmJjYWEyMjQwZTE4YTI5NmNiZjFlMzEyZjU2MzI4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAKQEAgLTE1Nyw2ICsx
NTcsOSBAQCB2b2lkIENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6OnNldFByZWZlcnJlZExhbmd1YWdl
KGNvbnN0IFN0cmluZyYgbGFuZ3VhZ2UpCiAKIHN0YXRpYyBTdHJpbmcgdHJhY2tEaXNwbGF5TmFt
ZShUZXh0VHJhY2sqIHRyYWNrKQogeworICAgIGlmICh0cmFjayA9PSBUZXh0VHJhY2s6OmNhcHRp
b25NZW51T2ZmSXRlbSgpKQorICAgICAgICByZXR1cm4gdGV4dFRyYWNrT2ZmTWVudUl0ZW1UZXh0
KCk7CisKICAgICBpZiAodHJhY2stPmxhYmVsKCkuaXNFbXB0eSgpICYmIHRyYWNrLT5sYW5ndWFn
ZSgpLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIHRleHRUcmFja05vTGFiZWxUZXh0KCk7CiAg
ICAgaWYgKCF0cmFjay0+bGFiZWwoKS5pc0VtcHR5KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ndGsvTG9jYWxpemVkU3RyaW5nc0d0ay5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ndGsvTG9jYWxpemVkU3RyaW5nc0d0ay5jcHAKaW5kZXggOTQ5N2NhMjIwMmY3
ZjhkOWU4N2ZjNmYxYjFiZWFkOWMxNjU4MzY0Zi4uYzg3MzY0ZGYzNGU0NDIzMzFjNDVmOTZjMDVl
N2FjNTY2OTM3NjExYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0xv
Y2FsaXplZFN0cmluZ3NHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9M
b2NhbGl6ZWRTdHJpbmdzR3RrLmNwcApAQCAtNzkwLDE3ICs3OTAsMTcgQEAgU3RyaW5nIHRleHRU
cmFja0Nsb3NlZENhcHRpb25zVGV4dCgpCiAKIFN0cmluZyB0ZXh0VHJhY2tTdWJ0aXRsZXNUZXh0
KCkKIHsKLSAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChDXygiU3VidGl0bGVzIiwgIk1lbnUg
c2VjdGlvbiBoZWFkaW5nIGZvciBzdWJ0aXRsZXMiKSk7CisgICAgcmV0dXJuIFN0cmluZzo6ZnJv
bVVURjgoXygiU3VidGl0bGVzIikpOwogfQogCiBTdHJpbmcgdGV4dFRyYWNrT2ZmTWVudUl0ZW1U
ZXh0KCkKIHsKLSAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChDXygiT2ZmIiwgIk1lbnUgaXRl
bSBsYWJlbCBmb3IgdGhlIHRyYWNrIHRoYXQgcmVwcmVzZW50cyBkaXNhYmxpbmcgY2xvc2VkIGNh
cHRpb25zIikpOworICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KF8oIk9mZiIpKTsKIH0KIAog
U3RyaW5nIHRleHRUcmFja05vTGFiZWxUZXh0KCkKIHsKLSAgICByZXR1cm4gU3RyaW5nOjpmcm9t
VVRGOChDXygiTm8gbGFiZWwiLCAiTWVudSBpdGVtIGxhYmVsIGZvciBhIGNsb3NlZCBjYXB0aW9u
cyB0cmFjayB0aGF0IGhhcyBubyBvdGhlciBuYW1lIikpOworICAgIHJldHVybiBTdHJpbmc6OmZy
b21VVEY4KF8oIk5vIGxhYmVsIikpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0ay5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrLmgKaW5kZXggYThjOTczNWM3MDczNTM2YjNhMjI5MmU4
NjA0YTQ3NmU3MmI1NzNkMC4uNWU1MzQ3NjQwOTVhODEwMDcwYmRiZDZmYTM2MmVlYmYzNmNkYTEx
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3Rr
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrLmgKQEAg
LTg3LDYgKzg3LDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShWSURFTykKICAgICB2aXJ0dWFsIFN0
cmluZyBleHRyYU1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCk7CiAgICAgdmlydHVhbCBTdHJpbmcg
Zm9ybWF0TWVkaWFDb250cm9sc0N1cnJlbnRUaW1lKGZsb2F0IGN1cnJlbnRUaW1lLCBmbG9hdCBk
dXJhdGlvbikgY29uc3Q7CisgICAgdmlydHVhbCBib29sIHN1cHBvcnRzQ2xvc2VkQ2FwdGlvbmlu
ZygpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIHRydWU7IH0KIAogI2lmIEVOQUJMRShGVUxMU0NS
RUVOX0FQSSkKICAgICB2aXJ0dWFsIFN0cmluZyBleHRyYUZ1bGxTY3JlZW5TdHlsZVNoZWV0KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0
aW5ncy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5n
cy5jcHAKaW5kZXggNTNhNTQ3YTFmYjRmZjM1OWIwNzY4NDU4YTcxNDU0NGM3NTAzN2MzYi4uMWVl
M2ZiMjM0ODg5ZmM0YmM4ZjEwZjQyYzhlM2VjNzg2NDFkNzY0MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmNwcApAQCAtMTQzLDYg
KzE0Myw4IEBAIHN0YXRpYyB2b2lkIHdlYktpdFNldHRpbmdzQ29uc3RydWN0ZWQoR09iamVjdCog
b2JqZWN0KQogICAgIEdfT0JKRUNUX0NMQVNTKHdlYmtpdF9zZXR0aW5nc19wYXJlbnRfY2xhc3Mp
LT5jb25zdHJ1Y3RlZChvYmplY3QpOwogCiAgICAgV2ViUHJlZmVyZW5jZXMqIHByZWZzID0gV0VC
S0lUX1NFVFRJTkdTKG9iamVjdCktPnByaXYtPnByZWZlcmVuY2VzLmdldCgpOworICAgIHByZWZz
LT5zZXRTaG91bGREaXNwbGF5U3VidGl0bGVzKHRydWUpOworCiAgICAgRXhwZXJpbWVudGFsRmVh
dHVyZXMgZmVhdHVyZXM7CiAgICAgYm9vbCByZWdpb25CYXNlZENvbHVtbnNFbmFibGVkID0gZmVh
dHVyZXMuaXNFbmFibGVkKEV4cGVyaW1lbnRhbEZlYXR1cmVzOjpSZWdpb25CYXNlZENvbHVtbnMp
OwogICAgIGlmIChwcmVmcy0+cmVnaW9uQmFzZWRDb2x1bW5zRW5hYmxlZCgpICE9IHJlZ2lvbkJh
c2VkQ29sdW1uc0VuYWJsZWQpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNjY4MGFhMTI3ZGEwZjkxYmJhZjMzNDdkOGE2ZjUw
OTJhZDQwMGQ2ZS4uZGY1Y2Q0ZmVkM2U0Njk4OTQzN2MxYzllYmUwMWQ0MmZjNjViMzk5MyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE1IEBACisyMDEzLTA4LTIzICBEYW5pbG8gQ2VzYXIgTGVtZXMgZGUgUGF1
bGEgIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgorCisgICAgICAgIFtXSzJdW0dUS10g
YWRkIHN1cHBvcnQgZm9yIHN1YnRpdGxlcyBvbiB3ZWJraXQyR1RLCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTcwMDgKKworICAgICAgICBCeSBhY3Rp
dmF0aW5nIHN1YnRpdGxlcyBzdXBwb3J0IG9uIHdlYmtpdDJHVEssIHRoZSB2aWRlbyBwbGF5ZXIK
KyAgICAgICAgcmVjb2duaXplcyBhbmQgdXNlIHRleHQgPHRyYWNrcz4gaW5zaWRlIDx2aWRlbz4g
ZWxlbWVudHMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxMy0wOC0xOCAgQW50dGkg
S29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9y
Zy9iLzExOTk2Mz4gVXNlIFRleHROb2RlVHJhdmVyc2FsIGZvciBnZXR0aW5nIHNoZWV0IHRleHQg
aW4gU3R5bGVFbGVtZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25z
CmluZGV4IDg0YTAyYzYyMmZmZjcxZDRiMTc0NzNjYTVmZDYwNTNmMDMyMDA2YWQuLjA3YmZhMzJi
M2ZjZjRhZjgwMDdmZTYzYjgyODc1NTYyNWVlZTE1YjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC03ODUsMTUgKzc4NSw2IEBAIEJ1ZyhHVEspIG1lZGlh
L3Byb2dyZXNzLWV2ZW50cy1nZW5lcmF0ZWQtY29ycmVjdGx5Lmh0bWwgWyBGYWlsdXJlIFRpbWVv
dXQgXQogCiB3ZWJraXQub3JnL2IvMTAyMjU3IGZhc3QvZG9tL1dpbmRvdy9vcGVuLXdpbmRvdy1t
aW4tc2l6ZS5odG1sIFsgVGltZW91dCBdCiAKLSMgR1RLIHN0aWxsIGhhcyB0aGUgQ0MgdG9nZ2xl
IGJ1dHRvbiwgbm90IHRoZSBtZW51IG9mIHRyYWNrcy4KLXdlYmtpdC5vcmcvYi8xMDE2NzAgbWVk
aWEvdmlkZW8tY29udHJvbHMtY2FwdGlvbnMtdHJhY2ttZW51Lmh0bWwgWyBTa2lwIF0KLXdlYmtp
dC5vcmcvYi8xMDE2NzAgbWVkaWEvdmlkZW8tY29udHJvbHMtY2FwdGlvbnMtdHJhY2ttZW51LXNv
cnRlZC5odG1sIFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMTAxNjcwIG1lZGlhL3ZpZGVvLWNvbnRy
b2xzLWNhcHRpb25zLXRyYWNrbWVudS1sb2NhbGl6ZWQuaHRtbCBbIFNraXAgXQotd2Via2l0Lm9y
Zy9iLzEwMTY3MCBtZWRpYS92aWRlby1jb250cm9scy1jYXB0aW9ucy10cmFja21lbnUtaGlkZS1v
bi1jbGljay5odG1sIFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMTAxNjcwIG1lZGlhL3ZpZGVvLWNv
bnRyb2xzLWNhcHRpb25zLXRyYWNrbWVudS1oaWRlLW9uLWNsaWNrLW91dHNpZGUuaHRtbCBbIFNr
aXAgXQotd2Via2l0Lm9yZy9iLzEwMTY3MCBtZWRpYS90cmFjay90cmFjay11c2VyLXByZWZlcmVu
Y2VzLmh0bWwgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi8xMDE2NzAgbWVkaWEvdmlkZW8tY29udHJv
bHMtY2FwdGlvbnMtdHJhY2ttZW51LWluY2x1ZGVzLWVuYWJsZWQtdHJhY2suaHRtbCBbIFNraXAg
XQotCiB3ZWJraXQub3JnL2IvMTA3MTk0IHN0b3JhZ2UvaW5kZXhlZGRiL2RhdGFiYXNlLXF1b3Rh
Lmh0bWwgWyBUaW1lb3V0IF0KIHdlYmtpdC5vcmcvYi8xMDcxOTQgc3RvcmFnZS9pbmRleGVkZGIv
cGVuZGluZy1hY3Rpdml0eS13b3JrZXJzLmh0bWwgWyBUaW1lb3V0IF0KIHdlYmtpdC5vcmcvYi8x
MDcxOTQgc3RvcmFnZS9pbmRleGVkZGIvcGVuZGluZy12ZXJzaW9uLWNoYW5nZS1vbi1leGl0Lmh0
bWwgWyBUaW1lb3V0IF0KQEAgLTkwMCw2ICs4OTEsMTEgQEAgd2Via2l0Lm9yZy9iLzQ0NDc4IGZh
c3QvdGV4dC9oeXBoZW4tbWluLXByZWZlcnJlZC13aWR0aC5odG1sIFsgU2tpcCBdCiAjIExheW91
dFRlc3RDb250cm9sbGVyOjphcHBsaWNhdGlvbkNhY2hlRGlza1VzYWdlRm9yT3JpZ2luIGlzbid0
IGltcGxlbWVudGVkLgogd2Via2l0Lm9yZy9iLzU3MTI3IGh0dHAvdGVzdHMvYXBwY2FjaGUvb3Jp
Z2luLXVzYWdlLmh0bWwgWyBGYWlsdXJlIF0KIAorIyBHVEsgaXMgbW92aW5nIGZyb20gdG9nZ2xl
IGJ1dHRvbiB0byBhIG1lbnUgb2YgdHJhY2tzLgord2Via2l0Lm9yZy9iLzEwMTY3MCBtZWRpYS92
aWRlby1jb250cm9scy1jYXB0aW9ucy10cmFja21lbnUuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0
Lm9yZy9iLzEwMTY3MCBtZWRpYS90cmFjay90cmFjay11c2VyLXByZWZlcmVuY2VzLmh0bWwgWyBG
YWlsdXJlIF0KK3dlYmtpdC5vcmcvYi8xMDE2NzAgbWVkaWEvdmlkZW8tY29udHJvbHMtY2FwdGlv
bnMtdHJhY2ttZW51LWluY2x1ZGVzLWVuYWJsZWQtdHJhY2suaHRtbCBbIEZhaWx1cmUgXQorCiBC
dWcoR1RLKSBodHRwL3Rlc3RzL2xvYWRpbmcvYmFkLXNjaGVtZS1zdWJmcmFtZS5odG1sIFsgRmFp
bHVyZSBdCiAKICMgTmVlZGVkIHRvIGNvdmVyIHRoZSBmaXggZm9yIDxyZGFyOi8vcHJvYmxlbS82
NzI3NDk1PgpAQCAtMTIwOCw3ICsxMjA0LDggQEAgd2Via2l0Lm9yZy9iLzg5NjYzIGVkaXRpbmcv
ZGVsZXRpbmcvZGVsZXRlLTM4MDA4MzQtZml4Lmh0bWwgWyBGYWlsdXJlIF0KIAogd2Via2l0Lm9y
Zy9iLzg3MzU1IGNhbnZhcy9waGlsaXAvdGVzdHMvMmQudGV4dC5kcmF3LmZvbnRmYWNlLm5vdGlu
cGFnZS5odG1sIFsgRmFpbHVyZSBdCiAKLXdlYmtpdC5vcmcvYi85NTQyOCBtZWRpYS92aWRlby1j
b250cm9scy1jYXB0aW9ucy5odG1sIFsgRmFpbHVyZSBdCisjIEdUSyBpcyBtb3ZpbmcgZnJvbSB0
aGUgc2ltcGxlIHRvZ2dsZSBidXR0b24gdG8gYSBtZW51IG9mIHRyYWNrcword2Via2l0Lm9yZy9i
Lzk1NDI4IG1lZGlhL3ZpZGVvLWNvbnRyb2xzLWNhcHRpb25zLmh0bWwgW0ZhaWx1cmUgXQogCiB3
ZWJraXQub3JnL2IvOTU0Mjkgc3ZnL2N1c3RvbS9jbGFtcGVkLW1hc2tpbmctY2xpcHBpbmcuc3Zn
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209647</attachid>
            <date>2013-08-26 06:45:12 -0700</date>
            <delta_ts>2013-08-28 10:51:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117008-20130826104507.patch</filename>
            <type>text/plain</type>
            <size>24409</size>
            <attacher name="Danilo de Paula">danilo.eu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0MjQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTU0YjBmOWZkNmJjYzlk
MDE2OTY0NGM4Y2E5YmEwNWFhYmE5YzA1NS4uYjM5NDYxNDExODU2OTY5NmFiZWUyMWVhY2ZkMTNh
NWFkNGQ3NjNmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDEzLTA4LTIzICBEYW5p
bG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgor
CisgICAgICAgIFtXSzJdW0dUS10gYWRkIHN1cHBvcnQgZm9yIHN1YnRpdGxlcyBvbiB3ZWJraXQy
R1RLCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTcw
MDgKKworICAgICAgICBCeSBhY3RpdmF0aW5nIHN1YnRpdGxlcyBzdXBwb3J0IG9uIHdlYmtpdDJH
VEssIHRoZSB2aWRlbyBwbGF5ZXIKKyAgICAgICAgcmVjb2duaXplcyBhbmQgdXNlIHRleHQgPHRy
YWNrcz4gaW5zaWRlIDx2aWRlbz4gZWxlbWVudHMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTGF5b3V0IHRlc3RzICh0cmFjay1tZW51KSBzaG91bGQg
Y292ZXIgdGhpcyBjaGFuZ2UuCisKKyAgICAgICAgKiBjc3MvbWVkaWFDb250cm9sc0d0ay5jc3M6
CisgICAgICAgIChhdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10b2dnbGUtY2xvc2VkLWNh
cHRpb25zLWJ1dHRvbiwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdG9nZ2xlLWNsb3Nl
ZC1jYXB0aW9ucy1idXR0b24pOgorICAgICAgICAodmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJv
bHMtY2xvc2VkLWNhcHRpb25zLWNvbnRhaW5lcik6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1t
ZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCk6CisgICAgICAgICh2aWRl
bzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBoMyk6
CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMt
dHJhY2stbGlzdCB1bCk6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1j
bG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBsaSk6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1t
ZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBsaS5zZWxlY3RlZCk6Cisg
ICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50OjpN
ZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50Ojpk
ZWZhdWx0RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xF
bGVtZW50cy5oOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXI6OmNyZWF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lcjo6Y2FzdCk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lcjo6TWVkaWFD
b250cm9sc0d0a0V2ZW50TGlzdGVuZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9s
c0d0azo6TWVkaWFDb250cm9sc0d0ayk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xz
R3RrOjppbml0aWFsaXplQ29udHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9s
c0d0azo6c2V0TWVkaWFDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJv
bHNHdGs6OnJlc2V0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbHNHdGs6Om1ha2VU
cmFuc3BhcmVudCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzR3RrOjp0b2dnbGVD
bG9zZWRDYXB0aW9uVHJhY2tMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbHNH
dGs6OnNob3dDbG9zZWRDYXB0aW9uVHJhY2tMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
Q29udHJvbHNHdGs6OmhpZGVDbG9zZWRDYXB0aW9uVHJhY2tMaXN0KToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhQ29udHJvbHNHdGs6OmhhbmRsZUNsaWNrRXZlbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFDb250cm9sc0d0azo6ZXZlbnRMaXN0ZW5lcik6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lcjo6aGFuZGxlRXZlbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXI6Om9wZXJhdG9yPT0pOgorICAgICAg
ICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuaDoKKyAgICAgICAgKiBwYWdlL0NhcHRp
b25Vc2VyUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dHJhY2tEaXNwbGF5TmFt
ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL0xvY2FsaXplZFN0cmluZ3NHdGsuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6dGV4dFRyYWNrU3VidGl0bGVzVGV4dCk6CisgICAgICAgIChXZWJDb3Jl
Ojp0ZXh0VHJhY2tPZmZNZW51SXRlbVRleHQpOgorICAgICAgICAoV2ViQ29yZTo6dGV4dFRyYWNr
Tm9MYWJlbFRleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0ay5oOgor
CiAyMDEzLTA4LTE4ICBEYW5pbG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgIDxkYW5pbG8uY2VzYXJA
Y29sbGFib3JhLmNvLnVrPgogCiAgICAgICAgIFtFRkxdIG1pbm9yIG1ldGhvZCBuYW1lIGZpeCBm
b3IgdGhlIHRleHRUcmFja09mZk1lbnVJdGVtVGV4dCBtZXRob2QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA4NDMw
YzcwOWRmNjgzMjEyNDVlZTI4YWQ1YTEwNzg5ZjE0NzRmYTM5Li44NDRlOGQyZDY4OWI5ZjMzZDNl
YmQxZTUyNWU5NzUwNDk5ZGJjODJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMt
MDgtMTggIERhbmlsbyBDZXNhciBMZW1lcyBkZSBQYXVsYSAgPGRhbmlsby5jZXNhckBjb2xsYWJv
cmEuY28udWs+CisKKyAgICAgICAgW1dLMl1bR1RLXSBhZGQgc3VwcG9ydCBmb3Igc3VidGl0bGVz
IG9uIHdlYmtpdDJHVEsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExNzAwOAorCisgICAgICAgIEJ5IGFjdGl2YXRpbmcgc3VidGl0bGVzIHN1cHBvcnQg
b24gd2Via2l0MkdUSywgdGhlIHZpZGVvIHBsYXllcgorICAgICAgICByZWNvZ25pemVzIGFuZCB1
c2UgdGV4dCA8dHJhY2tzPiBpbnNpZGUgPHZpZGVvPiBlbGVtZW50cy4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFNldHRpbmdzLmNwcDoKKyAgICAgICAgKHdlYmtpdF9zZXR0aW5nc19jbGFzc19pbml0KToK
KyAgICAgICAgKHdlYmtpdF9zZXR0aW5nc19uZXcpOgorCiAyMDEzLTA4LTE3ICBEYXJpbiBBZGxl
ciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTE5
OTQxPiBNYWtlIFBhZ2U6OmRyYWdDb250cm9sbGVyIHJldHVybiBhIHJlZmVyZW5jZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL21lZGlhQ29udHJvbHNHdGsuY3NzIGIvU291cmNlL1dl
YkNvcmUvY3NzL21lZGlhQ29udHJvbHNHdGsuY3NzCmluZGV4IDU3MjlkNDU4NzIxYTBkODIxZjA5
MGJjZTNlMmZlYmJjMjMzMjhiZDcuLjYxYmExMmE5NWNlMjVhNzYyY2NiZWI1ZjhmNmYwMmUxODYy
YTQ3M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9tZWRpYUNvbnRyb2xzR3RrLmNz
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvbWVkaWFDb250cm9sc0d0ay5jc3MKQEAgLTIyMiw2
ICsyMjIsNjkgQEAgYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdG9nZ2xlLWNsb3NlZC1j
YXB0aW9ucy1idXR0b24sIHZpZGVvOjotd2Via2l0LW1lZGkKICAgICBoZWlnaHQ6IDMwcHg7CiAg
ICAgbGluZS1oZWlnaHQ6IDMwcHg7CiAgICAgbWFyZ2luOiAwIDlweCAwIC03cHg7CisgICAgYmFj
a2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0OworICAgIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVy
OworICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgaWQ9
InN2ZzczODQiIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3lu
dGF4LW5zIyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBoZWlnaHQ9IjE2IiB3
aWR0aD0iMTYiIHZlcnNpb249IjEuMSIgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMu
b3JnL25zIyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj48bWV0
YWRhdGEgaWQ9Im1ldGFkYXRhOTAiPjxyZGY6UkRGPjxjYzpXb3JrIHJkZjphYm91dD0iIj48ZGM6
Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD48ZGM6dHlwZSByZGY6cmVzb3VyY2U9Imh0
dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIi8+PGRjOnRpdGxlPkdub21lIFN5
bWJvbGljIEljb24gVGhlbWU8L2RjOnRpdGxlPjwvY2M6V29yaz48L3JkZjpSREY+PC9tZXRhZGF0
YT48ZyBpZD0ibGF5ZXI5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTAxLC0zNTcpIj48cGF0aCBp
ZD0icGF0aDEyMTQ4IiBzdHlsZT0iYmxvY2stcHJvZ3Jlc3Npb246dGI7Y29sb3I6I2JlYmViZTtk
aXJlY3Rpb246bHRyO3RleHQtaW5kZW50OjA7dGV4dC1hbGlnbjpzdGFydDtlbmFibGUtYmFja2dy
b3VuZDphY2N1bXVsYXRlO3RleHQtdHJhbnNmb3JtOm5vbmU7IiBmaWxsPSIjYmViZWJlIiBkPSJt
MTA0Ljc1LDM1Ny4wNmMtMi4wNjAyLDAtMy43NSwxLjY4OTgtMy43NSwzLjc1djQuNDM3NWMwLDIu
MDYwMiwxLjY4OTgsMy43NSwzLjc1LDMuNzVoNC45Mzc1bDMuNzUsMi42NTYyLDEuNTkzOCwxLjEy
NXYtMS45Njg4bC0wLjAzMTMtMi41YzEuMTEwNi0wLjU5NzE1LDEuOTY4OC0xLjY1MjYsMS45Njg4
LTMuMDYyNXYtNC40Mzc1YzAtMi4wNjAyLTEuNjg5OC0zLjc1LTMuNzUtMy43NWgtOC40Njg4em0w
LDIsOC40Njg4LDBjMC45ODY4LDAsMS43NSwwLjc2MzIsMS43NSwxLjc1djQuNDM3NWMwLDAuODYy
NzMtMC42MzUwOCwxLjU0MS0xLjEyNSwxLjYyNWwtMC44NCwwLjEydjAuODQzNzUsMS4wMzEybC0y
LjQwNjItMS42ODc1LTAuMjUtMC4xODc1aC0wLjMxMjUtNS4yODEyYy0wLjk4NjgsMC0xLjc1LTAu
NzYzMi0xLjc1LTEuNzV2LTQuNDM3NWMwLTAuOTg2OCwwLjc2MzItMS43NSwxLjc1LTEuNzV6Ii8+
PC9nPjwvc3ZnPicpOworfQorCit2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQt
Y2FwdGlvbnMtY29udGFpbmVyIHsKKyAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG1lZGlhLWNsb3Nl
ZC1jYXB0aW9ucy1jb250YWluZXI7CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIGRpc3Bs
YXk6IGJsb2NrOworICAgIHJpZ2h0OiAzOHB4OworICAgIGJvdHRvbTogMzVweDsKKyAgICBtYXgt
d2lkdGg6IC13ZWJraXQtY2FsYygxMDAlIC0gNDhweCk7IC8qIHJpZ2h0ICsgMTBweCAqLworICAg
IG1heC1oZWlnaHQ6IC13ZWJraXQtY2FsYygxMDAlIC0gMzVweCk7IC8qIGJvdHRvbSArIDEwcHgg
Ki8KKyAgICBvdmVyZmxvdy14OiBoaWRkZW47CisgICAgb3ZlcmZsb3cteTogYXV0bzsKKyAgICBi
YWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwLCAyMCwgMjAsIDAuOCk7CisgICAgYm9yZGVyLXJhZGl1
czogMTBweDsKKyAgICBjdXJzb3I6IGRlZmF1bHQ7CisgICAgei1pbmRleDogMjsKK30KKwordmlk
ZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY2xvc2VkLWNhcHRpb25zLXRyYWNrLWxpc3Qgewor
ICAgIGRpc3BsYXk6IGJsb2NrOworICAgIGZvbnQtZmFtaWx5OiAiSGVsdmV0aWNhIEJvbGQiLCBI
ZWx2ZXRpY2E7CisgICAgZm9udC1zaXplOiAxMHB0OworICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6
IG5vbmU7Cit9CisKK3ZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWNsb3NlZC1jYXB0aW9u
cy10cmFjay1saXN0IGgzIHsKKyAgICBtYXJnaW46IDFweCAzMHB4OworICAgIGNvbG9yOiAjNzU3
NTc1OworICAgIHRleHQtc2hhZG93OiAwIDFweCAwIGJsYWNrOworICAgIHBhZGRpbmctdG9wOiAw
cHg7CisgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CisgICAgZm9udC1zaXplOiAxMHB0OworfQorCit2
aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCB1
bCB7CisgICAgbGlzdC1zdHlsZS10eXBlOiBub25lOworICAgIG1hcmdpbjogMCAwIDRweCAwOwor
ICAgIHBhZGRpbmc6IDA7CisgICAgZm9udC13ZWlnaHQ6IGJvbGQ7Cit9CisKK3ZpZGVvOjotd2Vi
a2l0LW1lZGlhLWNvbnRyb2xzLWNsb3NlZC1jYXB0aW9ucy10cmFjay1saXN0IGxpIHsKKyAgICBw
b3NpdGlvbjogcmVsYXRpdmU7CisgICAgY29sb3I6IHdoaXRlOworICAgIGJhY2tncm91bmQtaW1h
Z2U6IG5vbmU7CisgICAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgYmxhY2s7CisgICAgbWFyZ2luOiAw
OworICAgIHBhZGRpbmctbGVmdDogMzdweDsKKyAgICBwYWRkaW5nLXJpZ2h0OiAzNXB4OworICAg
IHBhZGRpbmctdG9wOiAwLjE1ZW07CisgICAgcGFkZGluZy1ib3R0b206IDAuMmVtOworICAgIGJv
eC1zaXppbmc6IGJvcmRlci1ib3g7CisgICAgb3ZlcmZsb3c6IGhpZGRlbjsKKyAgICB3aGl0ZS1z
cGFjZTogbm93cmFwOworICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOworICAgIGJvcmRlci10
b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApOworICAgIGJvcmRlci1ib3R0b206IDFweCBz
b2xpZCByZ2JhKDAsIDAsIDAsIDApOworfQordmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMt
Y2xvc2VkLWNhcHRpb25zLXRyYWNrLWxpc3QgbGkuc2VsZWN0ZWQgeworICAgIGJhY2tncm91bmQt
Y29sb3I6IHJnYmEoMjMwLCAyMzAsIDIzMCwgMC4xNSk7CiB9CiAKIGF1ZGlvOjotd2Via2l0LW1l
ZGlhLWNvbnRyb2xzLWZ1bGxzY3JlZW4tYnV0dG9uLCB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250
cm9scy1mdWxsc2NyZWVuLWJ1dHRvbiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKaW5kZXggYTVhOGRmNDc1NGNkZTJkODcwMzQ0
NDNhNWI3ZGI1MDZhMjYyOWNkMi4uYTA1YzgwMDAxMGJmYzQ1MjVhZTFiMDAwMDc2Nzc2ZWEyYmVk
ODA3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9s
RWxlbWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJv
bEVsZW1lbnRzLmNwcApAQCAtNjc3LDExICs2NzcsMTEgQEAgY29uc3QgQXRvbWljU3RyaW5nJiBN
ZWRpYUNvbnRyb2xSZXR1cm5Ub1JlYWx0aW1lQnV0dG9uRWxlbWVudDo6c2hhZG93UHNldWRvSWQo
KQogCiBNZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQ6Ok1lZGlh
Q29udHJvbFRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uRWxlbWVudChEb2N1bWVudCogZG9jdW1l
bnQsIE1lZGlhQ29udHJvbHMqIGNvbnRyb2xzKQogICAgIDogTWVkaWFDb250cm9sSW5wdXRFbGVt
ZW50KGRvY3VtZW50LCBNZWRpYVNob3dDbG9zZWRDYXB0aW9uc0J1dHRvbikKLSNpZiBQTEFURk9S
TShNQUMpIHx8IFBMQVRGT1JNKFdJTikKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFdJ
TikgfHwgUExBVEZPUk0oR1RLKQogICAgICwgbV9jb250cm9scyhjb250cm9scykKICNlbmRpZgog
ewotI2lmICFQTEFURk9STShNQUMpICYmICFQTEFURk9STShXSU4pCisjaWYgIVBMQVRGT1JNKE1B
QykgJiYgIVBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oR1RLKQogICAgIFVOVVNFRF9QQVJBTShj
b250cm9scyk7CiAjZW5kaWYKIH0KQEAgLTcxMSw3ICs3MTEsNyBAQCB2b2lkIE1lZGlhQ29udHJv
bFRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihF
dmVudCogZQogICAgICAgICAvLyBVSS4gTm90IGFsbCBwb3J0cyBtYXkgd2FudCB0aGUgY2xvc2Vk
IGNhcHRpb25zIGJ1dHRvbiB0byB0b2dnbGUgYSBsaXN0IG9mIHRyYWNrcywgc28KICAgICAgICAg
Ly8gd2UgaGF2ZSB0byB1c2UgI2lmLgogICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTAxODc3Ci0jaWYgIVBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JN
KFdJTikKKyNpZiAhUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oV0lOKSAmJiAhUExBVEZPUk0o
R1RLKQogICAgICAgICBtZWRpYUNvbnRyb2xsZXIoKS0+c2V0Q2xvc2VkQ2FwdGlvbnNWaXNpYmxl
KCFtZWRpYUNvbnRyb2xsZXIoKS0+Y2xvc2VkQ2FwdGlvbnNWaXNpYmxlKCkpOwogICAgICAgICBz
ZXRDaGVja2VkKG1lZGlhQ29udHJvbGxlcigpLT5jbG9zZWRDYXB0aW9uc1Zpc2libGUoKSk7CiAg
ICAgICAgIHVwZGF0ZURpc3BsYXlUeXBlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaAppbmRleCA2ODI2MmQzNzdkMTI2ZjhiMmRhNGEz
ZThhZTg4NTNmMWNmZjg4ZWZkLi4zNjhhNTgxZjU5MGE0NTM2MGM0NWRiNGU1NTc0NzU3NGU5YWJk
MWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xF
bGVtZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVs
ZW1lbnRzLmgKQEAgLTI4MCw3ICsyODAsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgY29uc3Qg
QXRvbWljU3RyaW5nJiBzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1
YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KikgT1ZFUlJJREU7CiAKLSNpZiBQTEFU
Rk9STShNQUMpIHx8IFBMQVRGT1JNKFdJTikKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JN
KFdJTikgfHwgUExBVEZPUk0oR1RLKQogICAgIE1lZGlhQ29udHJvbHMqIG1fY29udHJvbHM7CiAj
ZW5kaWYKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNv
bnRyb2xzR3RrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNH
dGsuY3BwCmluZGV4IDcyODE4MjQ1NTgxMGQ5YTkxMDBkMTNmNzk5ZmVhMGUzM2ZhZWM0ZDYuLmU0
ZWY1OTg2NDE5OTA0Yzc2MzcyMWExZDMwYzc3YzYyMDRlYzFlYmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuY3BwCkBAIC0zMSwxMiArMzEsNDIg
QEAKICNpZiBFTkFCTEUoVklERU8pCiAjaW5jbHVkZSAiTWVkaWFDb250cm9sc0d0ay5oIgogCisj
aW5jbHVkZSAiQ2hyb21lLmgiCisjaW5jbHVkZSAiTW91c2VFdmVudC5oIgorCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKK2NsYXNzIE1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyIDogcHVibGlj
IEV2ZW50TGlzdGVuZXIgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhQ29u
dHJvbHNHdGtFdmVudExpc3RlbmVyPiBjcmVhdGUoTWVkaWFDb250cm9sc0d0ayogbWVkaWFDb250
cm9scykgeyByZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVy
KG1lZGlhQ29udHJvbHMpKTsgfQorICAgIHN0YXRpYyBjb25zdCBNZWRpYUNvbnRyb2xzR3RrRXZl
bnRMaXN0ZW5lciogY2FzdChjb25zdCBFdmVudExpc3RlbmVyKiBsaXN0ZW5lcikKKyAgICB7Cisg
ICAgICAgIHJldHVybiBsaXN0ZW5lci0+dHlwZSgpID09IEdPYmplY3RFdmVudExpc3RlbmVyVHlw
ZQorICAgICAgICAgICAgPyBzdGF0aWNfY2FzdDxjb25zdCBNZWRpYUNvbnRyb2xzR3RrRXZlbnRM
aXN0ZW5lcio+KGxpc3RlbmVyKQorICAgICAgICAgICAgOiAwOworICAgIH0KKworICAgIHZpcnR1
YWwgYm9vbCBvcGVyYXRvcj09KGNvbnN0IEV2ZW50TGlzdGVuZXImIG90aGVyKTsKKworcHJpdmF0
ZToKKyAgICBNZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lcihNZWRpYUNvbnRyb2xzR3RrKiBt
ZWRpYUNvbnRyb2xzKQorICAgICAgICA6IEV2ZW50TGlzdGVuZXIoR09iamVjdEV2ZW50TGlzdGVu
ZXJUeXBlKQorICAgICAgICAsIG1fbWVkaWFDb250cm9scyhtZWRpYUNvbnRyb2xzKQorICAgIHsK
KyAgICB9CisKKyAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlRXZlbnQoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCosIEV2ZW50Kik7CisKKyAgICBNZWRpYUNvbnRyb2xzR3RrKiBtX21lZGlhQ29udHJvbHM7
Cit9OworCiBNZWRpYUNvbnRyb2xzR3RrOjpNZWRpYUNvbnRyb2xzR3RrKERvY3VtZW50KiBkb2N1
bWVudCkKICAgICA6IE1lZGlhQ29udHJvbHMoZG9jdW1lbnQpCiAgICAgLCBtX2R1cmF0aW9uRGlz
cGxheSgwKQogICAgICwgbV9lbmNsb3N1cmUoMCkKKyAgICAsIG1fZXZlbnRMaXN0ZW5lcigwKQor
ICAgICwgbV9jbG9zZWRDYXB0aW9uc1RyYWNrTGlzdCgwKQorICAgICwgbV9jbG9zZWRDYXB0aW9u
c0NvbnRhaW5lcigwKQogewogfQogCkBAIC05MSwxMSArMTIxLDI0IEBAIGJvb2wgTWVkaWFDb250
cm9sc0d0azo6aW5pdGlhbGl6ZUNvbnRyb2xzKERvY3VtZW50KiBkb2N1bWVudCkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCiAgICAgaWYgKGRvY3VtZW50LT5wYWdlKCktPnRoZW1lKCktPnN1cHBv
cnRzQ2xvc2VkQ2FwdGlvbmluZygpKSB7CisgICAgICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xDbG9z
ZWRDYXB0aW9uc0NvbnRhaW5lckVsZW1lbnQ+IGNsb3NlZENhcHRpb25zQ29udGFpbmVyID0gTWVk
aWFDb250cm9sQ2xvc2VkQ2FwdGlvbnNDb250YWluZXJFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQp
OworCisgICAgICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xDbG9zZWRDYXB0aW9uc1RyYWNrTGlzdEVs
ZW1lbnQ+IGNsb3NlZENhcHRpb25zVHJhY2tMaXN0ID0gTWVkaWFDb250cm9sQ2xvc2VkQ2FwdGlv
bnNUcmFja0xpc3RFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIHRoaXMpOworICAgICAgICBtX2Ns
b3NlZENhcHRpb25zVHJhY2tMaXN0ID0gY2xvc2VkQ2FwdGlvbnNUcmFja0xpc3QuZ2V0KCk7Cisg
ICAgICAgIGNsb3NlZENhcHRpb25zQ29udGFpbmVyLT5hcHBlbmRDaGlsZChjbG9zZWRDYXB0aW9u
c1RyYWNrTGlzdC5yZWxlYXNlKCksIGV4Y2VwdGlvbkNvZGUsIEF0dGFjaExhemlseSk7CisgICAg
ICAgIGlmIChleGNlcHRpb25Db2RlKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAg
ICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQ+
IHRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uID0gTWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2Fw
dGlvbnNCdXR0b25FbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIHRoaXMpOwogICAgICAgICBtX3Rv
Z2dsZUNsb3NlZENhcHRpb25zQnV0dG9uID0gdG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b24uZ2V0
KCk7CiAgICAgICAgIHBhbmVsLT5hcHBlbmRDaGlsZCh0b2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRv
bi5yZWxlYXNlKCksIGV4Y2VwdGlvbkNvZGUsIEF0dGFjaExhemlseSk7CiAgICAgICAgIGlmIChl
eGNlcHRpb25Db2RlKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIG1fY2xv
c2VkQ2FwdGlvbnNDb250YWluZXIgPSBjbG9zZWRDYXB0aW9uc0NvbnRhaW5lci5nZXQoKTsKKyAg
ICAgICAgYXBwZW5kQ2hpbGQoY2xvc2VkQ2FwdGlvbnNDb250YWluZXIucmVsZWFzZSgpLCBleGNl
cHRpb25Db2RlLCBBdHRhY2hMYXppbHkpOworICAgICAgICBpZiAoZXhjZXB0aW9uQ29kZSkKKyAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKICAgICBSZWZQdHI8TWVkaWFDb250cm9s
RnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQ+IGZ1bGxzY3JlZW5CdXR0b24gPSBNZWRpYUNvbnRyb2xG
dWxsc2NyZWVuQnV0dG9uRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KTsKQEAgLTE0Nyw2ICsxOTAs
MTAgQEAgdm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpzZXRNZWRpYUNvbnRyb2xsZXIoTWVkaWFDb250
cm9sbGVySW50ZXJmYWNlKiBjb250cm9sbGVyKQogICAgICAgICBtX2R1cmF0aW9uRGlzcGxheS0+
c2V0TWVkaWFDb250cm9sbGVyKGNvbnRyb2xsZXIpOwogICAgIGlmIChtX2VuY2xvc3VyZSkKICAg
ICAgICAgbV9lbmNsb3N1cmUtPnNldE1lZGlhQ29udHJvbGxlcihjb250cm9sbGVyKTsKKyAgICBp
ZiAobV9jbG9zZWRDYXB0aW9uc0NvbnRhaW5lcikKKyAgICAgICAgbV9jbG9zZWRDYXB0aW9uc0Nv
bnRhaW5lci0+c2V0TWVkaWFDb250cm9sbGVyKGNvbnRyb2xsZXIpOworICAgIGlmIChtX2Nsb3Nl
ZENhcHRpb25zVHJhY2tMaXN0KQorICAgICAgICBtX2Nsb3NlZENhcHRpb25zVHJhY2tMaXN0LT5z
ZXRNZWRpYUNvbnRyb2xsZXIoY29udHJvbGxlcik7CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sc0d0
azo6cmVzZXQoKQpAQCAtMTU5LDYgKzIwNiwxMyBAQCB2b2lkIE1lZGlhQ29udHJvbHNHdGs6OnJl
c2V0KCkKICAgICBtX2R1cmF0aW9uRGlzcGxheS0+c2V0SW5uZXJUZXh0KHBhZ2UtPnRoZW1lKCkt
PmZvcm1hdE1lZGlhQ29udHJvbHNUaW1lKGR1cmF0aW9uKSwgQVNTRVJUX05PX0VYQ0VQVElPTik7
CiAgICAgbV9kdXJhdGlvbkRpc3BsYXktPnNldEN1cnJlbnRWYWx1ZShkdXJhdGlvbik7CiAKKyAg
ICBpZiAobV90b2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbikgeworICAgICAgICBpZiAobV9tZWRp
YUNvbnRyb2xsZXItPmhhc0Nsb3NlZENhcHRpb25zKCkpCisgICAgICAgICAgICBtX3RvZ2dsZUNs
b3NlZENhcHRpb25zQnV0dG9uLT5zaG93KCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1f
dG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b24tPmhpZGUoKTsKKyAgICB9CisKICAgICBNZWRpYUNv
bnRyb2xzOjpyZXNldCgpOwogfQogCkBAIC0yMDgsNiArMjYyLDggQEAgdm9pZCBNZWRpYUNvbnRy
b2xzR3RrOjptYWtlVHJhbnNwYXJlbnQoKQogCiAgICAgaWYgKG1fdm9sdW1lU2xpZGVyQ29udGFp
bmVyKQogICAgICAgICBtX3ZvbHVtZVNsaWRlckNvbnRhaW5lci0+aGlkZSgpOworCisgICAgaGlk
ZUNsb3NlZENhcHRpb25UcmFja0xpc3QoKTsKIH0KIAogdm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpz
aG93Vm9sdW1lU2xpZGVyKCkKQEAgLTIzNiw2ICsyOTIsOTAgQEAgdm9pZCBNZWRpYUNvbnRyb2xz
R3RrOjpjcmVhdGVUZXh0VHJhY2tEaXNwbGF5KCkKIH0KICNlbmRpZgogCit2b2lkIE1lZGlhQ29u
dHJvbHNHdGs6OnRvZ2dsZUNsb3NlZENhcHRpb25UcmFja0xpc3QoKQoreworICAgIGlmICghbV9t
ZWRpYUNvbnRyb2xsZXItPmhhc0Nsb3NlZENhcHRpb25zKCkpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGlmICghbV9jbG9zZWRDYXB0aW9uc0NvbnRhaW5lciB8fCAhbV9jbG9zZWRDYXB0aW9uc1Ry
YWNrTGlzdCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKG1fY2xvc2VkQ2FwdGlvbnNDb250
YWluZXItPmlzU2hvd2luZygpKSB7CisgICAgICAgIGhpZGVDbG9zZWRDYXB0aW9uVHJhY2tMaXN0
KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBtX2Nsb3NlZENhcHRpb25zVHJhY2tM
aXN0LT51cGRhdGVEaXNwbGF5KCk7CisgICAgc2hvd0Nsb3NlZENhcHRpb25UcmFja0xpc3QoKTsK
IH0KIAordm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpzaG93Q2xvc2VkQ2FwdGlvblRyYWNrTGlzdCgp
Cit7CisgICAgbV92b2x1bWVTbGlkZXJDb250YWluZXItPmhpZGUoKTsKKworICAgIGlmICghbV9j
bG9zZWRDYXB0aW9uc0NvbnRhaW5lciB8fCBtX2Nsb3NlZENhcHRpb25zQ29udGFpbmVyLT5pc1No
b3dpbmcoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9jbG9zZWRDYXB0aW9uc0NvbnRhaW5l
ci0+c2hvdygpOworICAgIG1fcGFuZWwtPnNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVy
dHlQb2ludGVyRXZlbnRzLCBDU1NWYWx1ZU5vbmUpOworCisgICAgUmVmUHRyPEV2ZW50TGlzdGVu
ZXI+IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcigpOworCisgICAgLy8gQ2hlY2sgZm9yIGNsaWNr
cyBvdXRzaWRlIHRoZSBtZWRpYS1jb250cm9sCisgICAgZG9jdW1lbnQoKS0+YWRkRXZlbnRMaXN0
ZW5lcihldmVudE5hbWVzKCkuY2xpY2tFdmVudCwgbGlzdGVuZXIsIHRydWUpOworICAgIC8vIENo
ZWNrIGZvciBjbGlja3MgaW5zaWRlIHRoZSBtZWRpYS1jb250cm9sIGJveAorICAgIGFkZEV2ZW50
TGlzdGVuZXIoZXZlbnROYW1lcygpLmNsaWNrRXZlbnQsIGxpc3RlbmVyLCB0cnVlKTsKK30KKwor
dm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpoaWRlQ2xvc2VkQ2FwdGlvblRyYWNrTGlzdCgpCit7Cisg
ICAgaWYgKCFtX2Nsb3NlZENhcHRpb25zQ29udGFpbmVyIHx8ICFtX2Nsb3NlZENhcHRpb25zQ29u
dGFpbmVyLT5pc1Nob3dpbmcoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9jbG9zZWRDYXB0
aW9uc0NvbnRhaW5lci0+aGlkZSgpOworICAgIG1fcGFuZWwtPnJlbW92ZUlubGluZVN0eWxlUHJv
cGVydHkoQ1NTUHJvcGVydHlQb2ludGVyRXZlbnRzKTsKKworICAgIEV2ZW50TGlzdGVuZXIqIGxp
c3RlbmVyID0gZXZlbnRMaXN0ZW5lcigpLmdldCgpOworCisgICAgZG9jdW1lbnQoKS0+cmVtb3Zl
RXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuY2xpY2tFdmVudCwgbGlzdGVuZXIsIHRydWUpOwor
ICAgIHJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmNsaWNrRXZlbnQsIGxpc3RlbmVy
LCB0cnVlKTsKK30KKwordm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpoYW5kbGVDbGlja0V2ZW50KEV2
ZW50ICpldmVudCkKK3sKKyAgICBOb2RlKiBjdXJyZW50VGFyZ2V0ID0gZXZlbnQtPmN1cnJlbnRU
YXJnZXQoKS0+dG9Ob2RlKCk7CisgICAgTm9kZSogdGFyZ2V0ID0gZXZlbnQtPnRhcmdldCgpLT50
b05vZGUoKTsKKworICAgIGlmICgoY3VycmVudFRhcmdldCA9PSBkb2N1bWVudCgpICYmICFzaGFk
b3dIb3N0KCktPmNvbnRhaW5zKHRhcmdldCkpCisgICAgICAgIHx8IGN1cnJlbnRUYXJnZXQgPT0g
dGhpcykgeworICAgICAgICBoaWRlQ2xvc2VkQ2FwdGlvblRyYWNrTGlzdCgpOworICAgICAgICBl
dmVudC0+c3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7CisgICAgICAgIGV2ZW50LT5zZXREZWZh
dWx0SGFuZGxlZCgpOworICAgIH0KK30KKworUGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xzR3RrRXZl
bnRMaXN0ZW5lcj4gTWVkaWFDb250cm9sc0d0azo6ZXZlbnRMaXN0ZW5lcigpCit7CisgICAgaWYg
KCFtX2V2ZW50TGlzdGVuZXIpCisgICAgICAgIG1fZXZlbnRMaXN0ZW5lciA9IE1lZGlhQ29udHJv
bHNHdGtFdmVudExpc3RlbmVyOjpjcmVhdGUodGhpcyk7CisKKyAgICByZXR1cm4gbV9ldmVudExp
c3RlbmVyOworfQorCit2b2lkIE1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyOjpoYW5kbGVF
dmVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgRXZlbnQqIGV2ZW50KQoreworICAgIGlmIChl
dmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5jbGlja0V2ZW50KQorICAgICAgICBtX21lZGlh
Q29udHJvbHMtPmhhbmRsZUNsaWNrRXZlbnQoZXZlbnQpOworCisgICAgcmV0dXJuOworfQorCiti
b29sIE1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyOjpvcGVyYXRvcj09KGNvbnN0IEV2ZW50
TGlzdGVuZXImIGxpc3RlbmVyKQoreworICAgIGlmIChjb25zdCBNZWRpYUNvbnRyb2xzR3RrRXZl
bnRMaXN0ZW5lciogbWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXIgPSBNZWRpYUNvbnRyb2xz
R3RrRXZlbnRMaXN0ZW5lcjo6Y2FzdCgmbGlzdGVuZXIpKQorICAgICAgICByZXR1cm4gbV9tZWRp
YUNvbnRyb2xzID09IG1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyLT5tX21lZGlhQ29udHJv
bHM7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuaAppbmRleCAyZWEzMjU5OWY1YzRkN2M5MjQ5
MjE2YWY2MTVjMzU3MTVjNzFjYjQ5Li4xNjAzN2Y2NjEzNDVlYTU1NmE5YWNhNzMzNGI3NmIzMmM1
ODRiMmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRy
b2xzR3RrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sc0d0
ay5oCkBAIC0zNSw2ICszNSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgTWVk
aWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXI7CisKIGNsYXNzIE1lZGlhQ29udHJvbHNHdGsgOiBw
dWJsaWMgTWVkaWFDb250cm9scyB7CiBwdWJsaWM6CiAgICAgLy8gQ2FsbGVkIGZyb20gcG9ydC1z
cGVjaWZpYyBwYXJlbnQgY3JlYXRlIGZ1bmN0aW9uIHRvIGNyZWF0ZSBjdXN0b20gY29udHJvbHMu
CkBAIC00Nyw2ICs0OSw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQ3VycmVu
dFRpbWVEaXNwbGF5KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHNob3dWb2x1bWVTbGlk
ZXIoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgbWFrZVRyYW5zcGFyZW50KCkgT1ZFUlJJ
REU7CisgICAgdmlydHVhbCB2b2lkIHRvZ2dsZUNsb3NlZENhcHRpb25UcmFja0xpc3QoKSBPVkVS
UklERTsKKworICAgIHZvaWQgaGFuZGxlQ2xpY2tFdmVudChFdmVudCopOwogCiAjaWYgRU5BQkxF
KFZJREVPX1RSQUNLKQogICAgIHZvaWQgY3JlYXRlVGV4dFRyYWNrRGlzcGxheSgpIE9WRVJSSURF
OwpAQCAtNTQsMTMgKzU5LDIxIEBAIHB1YmxpYzoKIAogcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0
IE1lZGlhQ29udHJvbHNHdGsoRG9jdW1lbnQqKTsKLQogICAgIGJvb2wgaW5pdGlhbGl6ZUNvbnRy
b2xzKERvY3VtZW50Kik7CiAKIHByaXZhdGU6CisgICAgdm9pZCBzaG93Q2xvc2VkQ2FwdGlvblRy
YWNrTGlzdCgpOworICAgIHZvaWQgaGlkZUNsb3NlZENhcHRpb25UcmFja0xpc3QoKTsKKworICAg
IFBhc3NSZWZQdHI8TWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXI+IGV2ZW50TGlzdGVuZXIo
KTsKKwogICAgIE1lZGlhQ29udHJvbFRpbWVSZW1haW5pbmdEaXNwbGF5RWxlbWVudCogbV9kdXJh
dGlvbkRpc3BsYXk7CiAgICAgTWVkaWFDb250cm9sUGFuZWxFbmNsb3N1cmVFbGVtZW50KiBtX2Vu
Y2xvc3VyZTsKICAgICBNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJDb250YWluZXJFbGVtZW50KiBt
X3ZvbHVtZVNsaWRlckNvbnRhaW5lcjsKKyAgICBNZWRpYUNvbnRyb2xDbG9zZWRDYXB0aW9uc1Ry
YWNrTGlzdEVsZW1lbnQqIG1fY2xvc2VkQ2FwdGlvbnNUcmFja0xpc3Q7CisgICAgTWVkaWFDb250
cm9sQ2xvc2VkQ2FwdGlvbnNDb250YWluZXJFbGVtZW50KiBtX2Nsb3NlZENhcHRpb25zQ29udGFp
bmVyOworCisgICAgUmVmUHRyPE1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyPiBtX2V2ZW50
TGlzdGVuZXI7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRp
b25Vc2VyUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclBy
ZWZlcmVuY2VzLmNwcAppbmRleCAyNTBlYTU1OWQyMTNiNjkxZWM3ZDI0N2FjODA3OWIzNDI1NjQy
NTgwLi4yODg5YmIyNmZkMmJjYWEyMjQwZTE4YTI5NmNiZjFlMzEyZjU2MzI4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAKQEAgLTE1Nyw2ICsx
NTcsOSBAQCB2b2lkIENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6OnNldFByZWZlcnJlZExhbmd1YWdl
KGNvbnN0IFN0cmluZyYgbGFuZ3VhZ2UpCiAKIHN0YXRpYyBTdHJpbmcgdHJhY2tEaXNwbGF5TmFt
ZShUZXh0VHJhY2sqIHRyYWNrKQogeworICAgIGlmICh0cmFjayA9PSBUZXh0VHJhY2s6OmNhcHRp
b25NZW51T2ZmSXRlbSgpKQorICAgICAgICByZXR1cm4gdGV4dFRyYWNrT2ZmTWVudUl0ZW1UZXh0
KCk7CisKICAgICBpZiAodHJhY2stPmxhYmVsKCkuaXNFbXB0eSgpICYmIHRyYWNrLT5sYW5ndWFn
ZSgpLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIHRleHRUcmFja05vTGFiZWxUZXh0KCk7CiAg
ICAgaWYgKCF0cmFjay0+bGFiZWwoKS5pc0VtcHR5KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ndGsvTG9jYWxpemVkU3RyaW5nc0d0ay5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ndGsvTG9jYWxpemVkU3RyaW5nc0d0ay5jcHAKaW5kZXggOTQ5N2NhMjIwMmY3
ZjhkOWU4N2ZjNmYxYjFiZWFkOWMxNjU4MzY0Zi4uYzg3MzY0ZGYzNGU0NDIzMzFjNDVmOTZjMDVl
N2FjNTY2OTM3NjExYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0xv
Y2FsaXplZFN0cmluZ3NHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9M
b2NhbGl6ZWRTdHJpbmdzR3RrLmNwcApAQCAtNzkwLDE3ICs3OTAsMTcgQEAgU3RyaW5nIHRleHRU
cmFja0Nsb3NlZENhcHRpb25zVGV4dCgpCiAKIFN0cmluZyB0ZXh0VHJhY2tTdWJ0aXRsZXNUZXh0
KCkKIHsKLSAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChDXygiU3VidGl0bGVzIiwgIk1lbnUg
c2VjdGlvbiBoZWFkaW5nIGZvciBzdWJ0aXRsZXMiKSk7CisgICAgcmV0dXJuIFN0cmluZzo6ZnJv
bVVURjgoXygiU3VidGl0bGVzIikpOwogfQogCiBTdHJpbmcgdGV4dFRyYWNrT2ZmTWVudUl0ZW1U
ZXh0KCkKIHsKLSAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChDXygiT2ZmIiwgIk1lbnUgaXRl
bSBsYWJlbCBmb3IgdGhlIHRyYWNrIHRoYXQgcmVwcmVzZW50cyBkaXNhYmxpbmcgY2xvc2VkIGNh
cHRpb25zIikpOworICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KF8oIk9mZiIpKTsKIH0KIAog
U3RyaW5nIHRleHRUcmFja05vTGFiZWxUZXh0KCkKIHsKLSAgICByZXR1cm4gU3RyaW5nOjpmcm9t
VVRGOChDXygiTm8gbGFiZWwiLCAiTWVudSBpdGVtIGxhYmVsIGZvciBhIGNsb3NlZCBjYXB0aW9u
cyB0cmFjayB0aGF0IGhhcyBubyBvdGhlciBuYW1lIikpOworICAgIHJldHVybiBTdHJpbmc6OmZy
b21VVEY4KF8oIk5vIGxhYmVsIikpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0ay5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrLmgKaW5kZXggYThjOTczNWM3MDczNTM2YjNhMjI5MmU4
NjA0YTQ3NmU3MmI1NzNkMC4uNWU1MzQ3NjQwOTVhODEwMDcwYmRiZDZmYTM2MmVlYmYzNmNkYTEx
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3Rr
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrLmgKQEAg
LTg3LDYgKzg3LDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShWSURFTykKICAgICB2aXJ0dWFsIFN0
cmluZyBleHRyYU1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCk7CiAgICAgdmlydHVhbCBTdHJpbmcg
Zm9ybWF0TWVkaWFDb250cm9sc0N1cnJlbnRUaW1lKGZsb2F0IGN1cnJlbnRUaW1lLCBmbG9hdCBk
dXJhdGlvbikgY29uc3Q7CisgICAgdmlydHVhbCBib29sIHN1cHBvcnRzQ2xvc2VkQ2FwdGlvbmlu
ZygpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIHRydWU7IH0KIAogI2lmIEVOQUJMRShGVUxMU0NS
RUVOX0FQSSkKICAgICB2aXJ0dWFsIFN0cmluZyBleHRyYUZ1bGxTY3JlZW5TdHlsZVNoZWV0KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0
aW5ncy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5n
cy5jcHAKaW5kZXggNTNhNTQ3YTFmYjRmZjM1OWIwNzY4NDU4YTcxNDU0NGM3NTAzN2MzYi4uMWVl
M2ZiMjM0ODg5ZmM0YmM4ZjEwZjQyYzhlM2VjNzg2NDFkNzY0MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmNwcApAQCAtMTQzLDYg
KzE0Myw4IEBAIHN0YXRpYyB2b2lkIHdlYktpdFNldHRpbmdzQ29uc3RydWN0ZWQoR09iamVjdCog
b2JqZWN0KQogICAgIEdfT0JKRUNUX0NMQVNTKHdlYmtpdF9zZXR0aW5nc19wYXJlbnRfY2xhc3Mp
LT5jb25zdHJ1Y3RlZChvYmplY3QpOwogCiAgICAgV2ViUHJlZmVyZW5jZXMqIHByZWZzID0gV0VC
S0lUX1NFVFRJTkdTKG9iamVjdCktPnByaXYtPnByZWZlcmVuY2VzLmdldCgpOworICAgIHByZWZz
LT5zZXRTaG91bGREaXNwbGF5U3VidGl0bGVzKHRydWUpOworCiAgICAgRXhwZXJpbWVudGFsRmVh
dHVyZXMgZmVhdHVyZXM7CiAgICAgYm9vbCByZWdpb25CYXNlZENvbHVtbnNFbmFibGVkID0gZmVh
dHVyZXMuaXNFbmFibGVkKEV4cGVyaW1lbnRhbEZlYXR1cmVzOjpSZWdpb25CYXNlZENvbHVtbnMp
OwogICAgIGlmIChwcmVmcy0+cmVnaW9uQmFzZWRDb2x1bW5zRW5hYmxlZCgpICE9IHJlZ2lvbkJh
c2VkQ29sdW1uc0VuYWJsZWQpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNjY4MGFhMTI3ZGEwZjkxYmJhZjMzNDdkOGE2ZjUw
OTJhZDQwMGQ2ZS4uZGY1Y2Q0ZmVkM2U0Njk4OTQzN2MxYzllYmUwMWQ0MmZjNjViMzk5MyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE1IEBACisyMDEzLTA4LTIzICBEYW5pbG8gQ2VzYXIgTGVtZXMgZGUgUGF1
bGEgIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgorCisgICAgICAgIFtXSzJdW0dUS10g
YWRkIHN1cHBvcnQgZm9yIHN1YnRpdGxlcyBvbiB3ZWJraXQyR1RLCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTcwMDgKKworICAgICAgICBCeSBhY3Rp
dmF0aW5nIHN1YnRpdGxlcyBzdXBwb3J0IG9uIHdlYmtpdDJHVEssIHRoZSB2aWRlbyBwbGF5ZXIK
KyAgICAgICAgcmVjb2duaXplcyBhbmQgdXNlIHRleHQgPHRyYWNrcz4gaW5zaWRlIDx2aWRlbz4g
ZWxlbWVudHMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxMy0wOC0xOCAgQW50dGkg
S29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9y
Zy9iLzExOTk2Mz4gVXNlIFRleHROb2RlVHJhdmVyc2FsIGZvciBnZXR0aW5nIHNoZWV0IHRleHQg
aW4gU3R5bGVFbGVtZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25z
CmluZGV4IDg0YTAyYzYyMmZmZjcxZDRiMTc0NzNjYTVmZDYwNTNmMDMyMDA2YWQuLjA5MjhmZmY2
ODJhYjVlNTQ2YmFhYzUyYzJmMmYwYzY2YjFiOGE5ZjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC03ODUsMTUgKzc4NSw2IEBAIEJ1ZyhHVEspIG1lZGlh
L3Byb2dyZXNzLWV2ZW50cy1nZW5lcmF0ZWQtY29ycmVjdGx5Lmh0bWwgWyBGYWlsdXJlIFRpbWVv
dXQgXQogCiB3ZWJraXQub3JnL2IvMTAyMjU3IGZhc3QvZG9tL1dpbmRvdy9vcGVuLXdpbmRvdy1t
aW4tc2l6ZS5odG1sIFsgVGltZW91dCBdCiAKLSMgR1RLIHN0aWxsIGhhcyB0aGUgQ0MgdG9nZ2xl
IGJ1dHRvbiwgbm90IHRoZSBtZW51IG9mIHRyYWNrcy4KLXdlYmtpdC5vcmcvYi8xMDE2NzAgbWVk
aWEvdmlkZW8tY29udHJvbHMtY2FwdGlvbnMtdHJhY2ttZW51Lmh0bWwgWyBTa2lwIF0KLXdlYmtp
dC5vcmcvYi8xMDE2NzAgbWVkaWEvdmlkZW8tY29udHJvbHMtY2FwdGlvbnMtdHJhY2ttZW51LXNv
cnRlZC5odG1sIFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMTAxNjcwIG1lZGlhL3ZpZGVvLWNvbnRy
b2xzLWNhcHRpb25zLXRyYWNrbWVudS1sb2NhbGl6ZWQuaHRtbCBbIFNraXAgXQotd2Via2l0Lm9y
Zy9iLzEwMTY3MCBtZWRpYS92aWRlby1jb250cm9scy1jYXB0aW9ucy10cmFja21lbnUtaGlkZS1v
bi1jbGljay5odG1sIFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMTAxNjcwIG1lZGlhL3ZpZGVvLWNv
bnRyb2xzLWNhcHRpb25zLXRyYWNrbWVudS1oaWRlLW9uLWNsaWNrLW91dHNpZGUuaHRtbCBbIFNr
aXAgXQotd2Via2l0Lm9yZy9iLzEwMTY3MCBtZWRpYS90cmFjay90cmFjay11c2VyLXByZWZlcmVu
Y2VzLmh0bWwgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi8xMDE2NzAgbWVkaWEvdmlkZW8tY29udHJv
bHMtY2FwdGlvbnMtdHJhY2ttZW51LWluY2x1ZGVzLWVuYWJsZWQtdHJhY2suaHRtbCBbIFNraXAg
XQotCiB3ZWJraXQub3JnL2IvMTA3MTk0IHN0b3JhZ2UvaW5kZXhlZGRiL2RhdGFiYXNlLXF1b3Rh
Lmh0bWwgWyBUaW1lb3V0IF0KIHdlYmtpdC5vcmcvYi8xMDcxOTQgc3RvcmFnZS9pbmRleGVkZGIv
cGVuZGluZy1hY3Rpdml0eS13b3JrZXJzLmh0bWwgWyBUaW1lb3V0IF0KIHdlYmtpdC5vcmcvYi8x
MDcxOTQgc3RvcmFnZS9pbmRleGVkZGIvcGVuZGluZy12ZXJzaW9uLWNoYW5nZS1vbi1leGl0Lmh0
bWwgWyBUaW1lb3V0IF0KQEAgLTkwMCw2ICs4OTEsMTEgQEAgd2Via2l0Lm9yZy9iLzQ0NDc4IGZh
c3QvdGV4dC9oeXBoZW4tbWluLXByZWZlcnJlZC13aWR0aC5odG1sIFsgU2tpcCBdCiAjIExheW91
dFRlc3RDb250cm9sbGVyOjphcHBsaWNhdGlvbkNhY2hlRGlza1VzYWdlRm9yT3JpZ2luIGlzbid0
IGltcGxlbWVudGVkLgogd2Via2l0Lm9yZy9iLzU3MTI3IGh0dHAvdGVzdHMvYXBwY2FjaGUvb3Jp
Z2luLXVzYWdlLmh0bWwgWyBGYWlsdXJlIF0KIAorIyBHVEsgaXMgbW92aW5nIGZyb20gdG9nZ2xl
IGJ1dHRvbiB0byBhIG1lbnUgb2YgdHJhY2tzLgord2Via2l0Lm9yZy9iLzEwMTY3MCBtZWRpYS92
aWRlby1jb250cm9scy1jYXB0aW9ucy10cmFja21lbnUuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0
Lm9yZy9iLzEwMTY3MCBtZWRpYS90cmFjay90cmFjay11c2VyLXByZWZlcmVuY2VzLmh0bWwgWyBG
YWlsdXJlIF0KK3dlYmtpdC5vcmcvYi8xMDE2NzAgbWVkaWEvdmlkZW8tY29udHJvbHMtY2FwdGlv
bnMtdHJhY2ttZW51LWluY2x1ZGVzLWVuYWJsZWQtdHJhY2suaHRtbCBbIEZhaWx1cmUgXQorCiBC
dWcoR1RLKSBodHRwL3Rlc3RzL2xvYWRpbmcvYmFkLXNjaGVtZS1zdWJmcmFtZS5odG1sIFsgRmFp
bHVyZSBdCiAKICMgTmVlZGVkIHRvIGNvdmVyIHRoZSBmaXggZm9yIDxyZGFyOi8vcHJvYmxlbS82
NzI3NDk1PgpAQCAtMTIwOCw2ICsxMjA0LDcgQEAgd2Via2l0Lm9yZy9iLzg5NjYzIGVkaXRpbmcv
ZGVsZXRpbmcvZGVsZXRlLTM4MDA4MzQtZml4Lmh0bWwgWyBGYWlsdXJlIF0KIAogd2Via2l0Lm9y
Zy9iLzg3MzU1IGNhbnZhcy9waGlsaXAvdGVzdHMvMmQudGV4dC5kcmF3LmZvbnRmYWNlLm5vdGlu
cGFnZS5odG1sIFsgRmFpbHVyZSBdCiAKKyMgR1RLIGlzIG1vdmluZyBmcm9tIHRoZSBzaW1wbGUg
dG9nZ2xlIGJ1dHRvbiB0byBhIG1lbnUgb2YgdHJhY2tzCiB3ZWJraXQub3JnL2IvOTU0MjggbWVk
aWEvdmlkZW8tY29udHJvbHMtY2FwdGlvbnMuaHRtbCBbIEZhaWx1cmUgXQogCiB3ZWJraXQub3Jn
L2IvOTU0Mjkgc3ZnL2N1c3RvbS9jbGFtcGVkLW1hc2tpbmctY2xpcHBpbmcuc3ZnIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209902</attachid>
            <date>2013-08-28 10:51:26 -0700</date>
            <delta_ts>2013-08-30 14:11:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117008-20130828145123.patch</filename>
            <type>text/plain</type>
            <size>24459</size>
            <attacher name="Danilo de Paula">danilo.eu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0MjQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTU0YjBmOWZkNmJjYzlk
MDE2OTY0NGM4Y2E5YmEwNWFhYmE5YzA1NS4uYjM5NDYxNDExODU2OTY5NmFiZWUyMWVhY2ZkMTNh
NWFkNGQ3NjNmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDEzLTA4LTIzICBEYW5p
bG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgor
CisgICAgICAgIFtXSzJdW0dUS10gYWRkIHN1cHBvcnQgZm9yIHN1YnRpdGxlcyBvbiB3ZWJraXQy
R1RLCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTcw
MDgKKworICAgICAgICBCeSBhY3RpdmF0aW5nIHN1YnRpdGxlcyBzdXBwb3J0IG9uIHdlYmtpdDJH
VEssIHRoZSB2aWRlbyBwbGF5ZXIKKyAgICAgICAgcmVjb2duaXplcyBhbmQgdXNlIHRleHQgPHRy
YWNrcz4gaW5zaWRlIDx2aWRlbz4gZWxlbWVudHMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTGF5b3V0IHRlc3RzICh0cmFjay1tZW51KSBzaG91bGQg
Y292ZXIgdGhpcyBjaGFuZ2UuCisKKyAgICAgICAgKiBjc3MvbWVkaWFDb250cm9sc0d0ay5jc3M6
CisgICAgICAgIChhdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10b2dnbGUtY2xvc2VkLWNh
cHRpb25zLWJ1dHRvbiwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdG9nZ2xlLWNsb3Nl
ZC1jYXB0aW9ucy1idXR0b24pOgorICAgICAgICAodmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJv
bHMtY2xvc2VkLWNhcHRpb25zLWNvbnRhaW5lcik6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1t
ZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCk6CisgICAgICAgICh2aWRl
bzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBoMyk6
CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMt
dHJhY2stbGlzdCB1bCk6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1j
bG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBsaSk6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1t
ZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBsaS5zZWxlY3RlZCk6Cisg
ICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50OjpN
ZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50Ojpk
ZWZhdWx0RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xF
bGVtZW50cy5oOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXI6OmNyZWF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lcjo6Y2FzdCk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lcjo6TWVkaWFD
b250cm9sc0d0a0V2ZW50TGlzdGVuZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9s
c0d0azo6TWVkaWFDb250cm9sc0d0ayk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xz
R3RrOjppbml0aWFsaXplQ29udHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9s
c0d0azo6c2V0TWVkaWFDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJv
bHNHdGs6OnJlc2V0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbHNHdGs6Om1ha2VU
cmFuc3BhcmVudCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzR3RrOjp0b2dnbGVD
bG9zZWRDYXB0aW9uVHJhY2tMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbHNH
dGs6OnNob3dDbG9zZWRDYXB0aW9uVHJhY2tMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
Q29udHJvbHNHdGs6OmhpZGVDbG9zZWRDYXB0aW9uVHJhY2tMaXN0KToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhQ29udHJvbHNHdGs6OmhhbmRsZUNsaWNrRXZlbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFDb250cm9sc0d0azo6ZXZlbnRMaXN0ZW5lcik6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lcjo6aGFuZGxlRXZlbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXI6Om9wZXJhdG9yPT0pOgorICAgICAg
ICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuaDoKKyAgICAgICAgKiBwYWdlL0NhcHRp
b25Vc2VyUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dHJhY2tEaXNwbGF5TmFt
ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL0xvY2FsaXplZFN0cmluZ3NHdGsuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6dGV4dFRyYWNrU3VidGl0bGVzVGV4dCk6CisgICAgICAgIChXZWJDb3Jl
Ojp0ZXh0VHJhY2tPZmZNZW51SXRlbVRleHQpOgorICAgICAgICAoV2ViQ29yZTo6dGV4dFRyYWNr
Tm9MYWJlbFRleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0ay5oOgor
CiAyMDEzLTA4LTE4ICBEYW5pbG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgIDxkYW5pbG8uY2VzYXJA
Y29sbGFib3JhLmNvLnVrPgogCiAgICAgICAgIFtFRkxdIG1pbm9yIG1ldGhvZCBuYW1lIGZpeCBm
b3IgdGhlIHRleHRUcmFja09mZk1lbnVJdGVtVGV4dCBtZXRob2QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA4NDMw
YzcwOWRmNjgzMjEyNDVlZTI4YWQ1YTEwNzg5ZjE0NzRmYTM5Li44NDRlOGQyZDY4OWI5ZjMzZDNl
YmQxZTUyNWU5NzUwNDk5ZGJjODJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMt
MDgtMTggIERhbmlsbyBDZXNhciBMZW1lcyBkZSBQYXVsYSAgPGRhbmlsby5jZXNhckBjb2xsYWJv
cmEuY28udWs+CisKKyAgICAgICAgW1dLMl1bR1RLXSBhZGQgc3VwcG9ydCBmb3Igc3VidGl0bGVz
IG9uIHdlYmtpdDJHVEsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExNzAwOAorCisgICAgICAgIEJ5IGFjdGl2YXRpbmcgc3VidGl0bGVzIHN1cHBvcnQg
b24gd2Via2l0MkdUSywgdGhlIHZpZGVvIHBsYXllcgorICAgICAgICByZWNvZ25pemVzIGFuZCB1
c2UgdGV4dCA8dHJhY2tzPiBpbnNpZGUgPHZpZGVvPiBlbGVtZW50cy4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFNldHRpbmdzLmNwcDoKKyAgICAgICAgKHdlYmtpdF9zZXR0aW5nc19jbGFzc19pbml0KToK
KyAgICAgICAgKHdlYmtpdF9zZXR0aW5nc19uZXcpOgorCiAyMDEzLTA4LTE3ICBEYXJpbiBBZGxl
ciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTE5
OTQxPiBNYWtlIFBhZ2U6OmRyYWdDb250cm9sbGVyIHJldHVybiBhIHJlZmVyZW5jZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL21lZGlhQ29udHJvbHNHdGsuY3NzIGIvU291cmNlL1dl
YkNvcmUvY3NzL21lZGlhQ29udHJvbHNHdGsuY3NzCmluZGV4IDU3MjlkNDU4NzIxYTBkODIxZjA5
MGJjZTNlMmZlYmJjMjMzMjhiZDcuLjYxYmExMmE5NWNlMjVhNzYyY2NiZWI1ZjhmNmYwMmUxODYy
YTQ3M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9tZWRpYUNvbnRyb2xzR3RrLmNz
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvbWVkaWFDb250cm9sc0d0ay5jc3MKQEAgLTIyMiw2
ICsyMjIsNjkgQEAgYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdG9nZ2xlLWNsb3NlZC1j
YXB0aW9ucy1idXR0b24sIHZpZGVvOjotd2Via2l0LW1lZGkKICAgICBoZWlnaHQ6IDMwcHg7CiAg
ICAgbGluZS1oZWlnaHQ6IDMwcHg7CiAgICAgbWFyZ2luOiAwIDlweCAwIC03cHg7CisgICAgYmFj
a2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0OworICAgIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVy
OworICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgaWQ9
InN2ZzczODQiIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3lu
dGF4LW5zIyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBoZWlnaHQ9IjE2IiB3
aWR0aD0iMTYiIHZlcnNpb249IjEuMSIgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMu
b3JnL25zIyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj48bWV0
YWRhdGEgaWQ9Im1ldGFkYXRhOTAiPjxyZGY6UkRGPjxjYzpXb3JrIHJkZjphYm91dD0iIj48ZGM6
Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD48ZGM6dHlwZSByZGY6cmVzb3VyY2U9Imh0
dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIi8+PGRjOnRpdGxlPkdub21lIFN5
bWJvbGljIEljb24gVGhlbWU8L2RjOnRpdGxlPjwvY2M6V29yaz48L3JkZjpSREY+PC9tZXRhZGF0
YT48ZyBpZD0ibGF5ZXI5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTAxLC0zNTcpIj48cGF0aCBp
ZD0icGF0aDEyMTQ4IiBzdHlsZT0iYmxvY2stcHJvZ3Jlc3Npb246dGI7Y29sb3I6I2JlYmViZTtk
aXJlY3Rpb246bHRyO3RleHQtaW5kZW50OjA7dGV4dC1hbGlnbjpzdGFydDtlbmFibGUtYmFja2dy
b3VuZDphY2N1bXVsYXRlO3RleHQtdHJhbnNmb3JtOm5vbmU7IiBmaWxsPSIjYmViZWJlIiBkPSJt
MTA0Ljc1LDM1Ny4wNmMtMi4wNjAyLDAtMy43NSwxLjY4OTgtMy43NSwzLjc1djQuNDM3NWMwLDIu
MDYwMiwxLjY4OTgsMy43NSwzLjc1LDMuNzVoNC45Mzc1bDMuNzUsMi42NTYyLDEuNTkzOCwxLjEy
NXYtMS45Njg4bC0wLjAzMTMtMi41YzEuMTEwNi0wLjU5NzE1LDEuOTY4OC0xLjY1MjYsMS45Njg4
LTMuMDYyNXYtNC40Mzc1YzAtMi4wNjAyLTEuNjg5OC0zLjc1LTMuNzUtMy43NWgtOC40Njg4em0w
LDIsOC40Njg4LDBjMC45ODY4LDAsMS43NSwwLjc2MzIsMS43NSwxLjc1djQuNDM3NWMwLDAuODYy
NzMtMC42MzUwOCwxLjU0MS0xLjEyNSwxLjYyNWwtMC44NCwwLjEydjAuODQzNzUsMS4wMzEybC0y
LjQwNjItMS42ODc1LTAuMjUtMC4xODc1aC0wLjMxMjUtNS4yODEyYy0wLjk4NjgsMC0xLjc1LTAu
NzYzMi0xLjc1LTEuNzV2LTQuNDM3NWMwLTAuOTg2OCwwLjc2MzItMS43NSwxLjc1LTEuNzV6Ii8+
PC9nPjwvc3ZnPicpOworfQorCit2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQt
Y2FwdGlvbnMtY29udGFpbmVyIHsKKyAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG1lZGlhLWNsb3Nl
ZC1jYXB0aW9ucy1jb250YWluZXI7CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIGRpc3Bs
YXk6IGJsb2NrOworICAgIHJpZ2h0OiAzOHB4OworICAgIGJvdHRvbTogMzVweDsKKyAgICBtYXgt
d2lkdGg6IC13ZWJraXQtY2FsYygxMDAlIC0gNDhweCk7IC8qIHJpZ2h0ICsgMTBweCAqLworICAg
IG1heC1oZWlnaHQ6IC13ZWJraXQtY2FsYygxMDAlIC0gMzVweCk7IC8qIGJvdHRvbSArIDEwcHgg
Ki8KKyAgICBvdmVyZmxvdy14OiBoaWRkZW47CisgICAgb3ZlcmZsb3cteTogYXV0bzsKKyAgICBi
YWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwLCAyMCwgMjAsIDAuOCk7CisgICAgYm9yZGVyLXJhZGl1
czogMTBweDsKKyAgICBjdXJzb3I6IGRlZmF1bHQ7CisgICAgei1pbmRleDogMjsKK30KKwordmlk
ZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY2xvc2VkLWNhcHRpb25zLXRyYWNrLWxpc3Qgewor
ICAgIGRpc3BsYXk6IGJsb2NrOworICAgIGZvbnQtZmFtaWx5OiAiSGVsdmV0aWNhIEJvbGQiLCBI
ZWx2ZXRpY2E7CisgICAgZm9udC1zaXplOiAxMHB0OworICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6
IG5vbmU7Cit9CisKK3ZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWNsb3NlZC1jYXB0aW9u
cy10cmFjay1saXN0IGgzIHsKKyAgICBtYXJnaW46IDFweCAzMHB4OworICAgIGNvbG9yOiAjNzU3
NTc1OworICAgIHRleHQtc2hhZG93OiAwIDFweCAwIGJsYWNrOworICAgIHBhZGRpbmctdG9wOiAw
cHg7CisgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CisgICAgZm9udC1zaXplOiAxMHB0OworfQorCit2
aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCB1
bCB7CisgICAgbGlzdC1zdHlsZS10eXBlOiBub25lOworICAgIG1hcmdpbjogMCAwIDRweCAwOwor
ICAgIHBhZGRpbmc6IDA7CisgICAgZm9udC13ZWlnaHQ6IGJvbGQ7Cit9CisKK3ZpZGVvOjotd2Vi
a2l0LW1lZGlhLWNvbnRyb2xzLWNsb3NlZC1jYXB0aW9ucy10cmFjay1saXN0IGxpIHsKKyAgICBw
b3NpdGlvbjogcmVsYXRpdmU7CisgICAgY29sb3I6IHdoaXRlOworICAgIGJhY2tncm91bmQtaW1h
Z2U6IG5vbmU7CisgICAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgYmxhY2s7CisgICAgbWFyZ2luOiAw
OworICAgIHBhZGRpbmctbGVmdDogMzdweDsKKyAgICBwYWRkaW5nLXJpZ2h0OiAzNXB4OworICAg
IHBhZGRpbmctdG9wOiAwLjE1ZW07CisgICAgcGFkZGluZy1ib3R0b206IDAuMmVtOworICAgIGJv
eC1zaXppbmc6IGJvcmRlci1ib3g7CisgICAgb3ZlcmZsb3c6IGhpZGRlbjsKKyAgICB3aGl0ZS1z
cGFjZTogbm93cmFwOworICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOworICAgIGJvcmRlci10
b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApOworICAgIGJvcmRlci1ib3R0b206IDFweCBz
b2xpZCByZ2JhKDAsIDAsIDAsIDApOworfQordmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMt
Y2xvc2VkLWNhcHRpb25zLXRyYWNrLWxpc3QgbGkuc2VsZWN0ZWQgeworICAgIGJhY2tncm91bmQt
Y29sb3I6IHJnYmEoMjMwLCAyMzAsIDIzMCwgMC4xNSk7CiB9CiAKIGF1ZGlvOjotd2Via2l0LW1l
ZGlhLWNvbnRyb2xzLWZ1bGxzY3JlZW4tYnV0dG9uLCB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250
cm9scy1mdWxsc2NyZWVuLWJ1dHRvbiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKaW5kZXggYTVhOGRmNDc1NGNkZTJkODcwMzQ0
NDNhNWI3ZGI1MDZhMjYyOWNkMi4uYTA1YzgwMDAxMGJmYzQ1MjVhZTFiMDAwMDc2Nzc2ZWEyYmVk
ODA3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9s
RWxlbWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJv
bEVsZW1lbnRzLmNwcApAQCAtNjc3LDExICs2NzcsMTEgQEAgY29uc3QgQXRvbWljU3RyaW5nJiBN
ZWRpYUNvbnRyb2xSZXR1cm5Ub1JlYWx0aW1lQnV0dG9uRWxlbWVudDo6c2hhZG93UHNldWRvSWQo
KQogCiBNZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQ6Ok1lZGlh
Q29udHJvbFRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uRWxlbWVudChEb2N1bWVudCogZG9jdW1l
bnQsIE1lZGlhQ29udHJvbHMqIGNvbnRyb2xzKQogICAgIDogTWVkaWFDb250cm9sSW5wdXRFbGVt
ZW50KGRvY3VtZW50LCBNZWRpYVNob3dDbG9zZWRDYXB0aW9uc0J1dHRvbikKLSNpZiBQTEFURk9S
TShNQUMpIHx8IFBMQVRGT1JNKFdJTikKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFdJ
TikgfHwgUExBVEZPUk0oR1RLKQogICAgICwgbV9jb250cm9scyhjb250cm9scykKICNlbmRpZgog
ewotI2lmICFQTEFURk9STShNQUMpICYmICFQTEFURk9STShXSU4pCisjaWYgIVBMQVRGT1JNKE1B
QykgJiYgIVBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oR1RLKQogICAgIFVOVVNFRF9QQVJBTShj
b250cm9scyk7CiAjZW5kaWYKIH0KQEAgLTcxMSw3ICs3MTEsNyBAQCB2b2lkIE1lZGlhQ29udHJv
bFRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihF
dmVudCogZQogICAgICAgICAvLyBVSS4gTm90IGFsbCBwb3J0cyBtYXkgd2FudCB0aGUgY2xvc2Vk
IGNhcHRpb25zIGJ1dHRvbiB0byB0b2dnbGUgYSBsaXN0IG9mIHRyYWNrcywgc28KICAgICAgICAg
Ly8gd2UgaGF2ZSB0byB1c2UgI2lmLgogICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTAxODc3Ci0jaWYgIVBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JN
KFdJTikKKyNpZiAhUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oV0lOKSAmJiAhUExBVEZPUk0o
R1RLKQogICAgICAgICBtZWRpYUNvbnRyb2xsZXIoKS0+c2V0Q2xvc2VkQ2FwdGlvbnNWaXNpYmxl
KCFtZWRpYUNvbnRyb2xsZXIoKS0+Y2xvc2VkQ2FwdGlvbnNWaXNpYmxlKCkpOwogICAgICAgICBz
ZXRDaGVja2VkKG1lZGlhQ29udHJvbGxlcigpLT5jbG9zZWRDYXB0aW9uc1Zpc2libGUoKSk7CiAg
ICAgICAgIHVwZGF0ZURpc3BsYXlUeXBlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaAppbmRleCA2ODI2MmQzNzdkMTI2ZjhiMmRhNGEz
ZThhZTg4NTNmMWNmZjg4ZWZkLi4zNjhhNTgxZjU5MGE0NTM2MGM0NWRiNGU1NTc0NzU3NGU5YWJk
MWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xF
bGVtZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVs
ZW1lbnRzLmgKQEAgLTI4MCw3ICsyODAsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgY29uc3Qg
QXRvbWljU3RyaW5nJiBzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1
YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KikgT1ZFUlJJREU7CiAKLSNpZiBQTEFU
Rk9STShNQUMpIHx8IFBMQVRGT1JNKFdJTikKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JN
KFdJTikgfHwgUExBVEZPUk0oR1RLKQogICAgIE1lZGlhQ29udHJvbHMqIG1fY29udHJvbHM7CiAj
ZW5kaWYKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNv
bnRyb2xzR3RrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNH
dGsuY3BwCmluZGV4IDcyODE4MjQ1NTgxMGQ5YTkxMDBkMTNmNzk5ZmVhMGUzM2ZhZWM0ZDYuLjVh
NDcwMDM0MWI3Zjk4OGEzZWMyYWVkMzYwODIzMmQyODRmMmYxMTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuY3BwCkBAIC0zMSwxMiArMzEsNDIg
QEAKICNpZiBFTkFCTEUoVklERU8pCiAjaW5jbHVkZSAiTWVkaWFDb250cm9sc0d0ay5oIgogCisj
aW5jbHVkZSAiQ2hyb21lLmgiCisjaW5jbHVkZSAiTW91c2VFdmVudC5oIgorCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKK2NsYXNzIE1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyIDogcHVibGlj
IEV2ZW50TGlzdGVuZXIgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhQ29u
dHJvbHNHdGtFdmVudExpc3RlbmVyPiBjcmVhdGUoTWVkaWFDb250cm9sc0d0ayogbWVkaWFDb250
cm9scykgeyByZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVy
KG1lZGlhQ29udHJvbHMpKTsgfQorICAgIHN0YXRpYyBjb25zdCBNZWRpYUNvbnRyb2xzR3RrRXZl
bnRMaXN0ZW5lciogY2FzdChjb25zdCBFdmVudExpc3RlbmVyKiBsaXN0ZW5lcikKKyAgICB7Cisg
ICAgICAgIHJldHVybiBsaXN0ZW5lci0+dHlwZSgpID09IEdPYmplY3RFdmVudExpc3RlbmVyVHlw
ZQorICAgICAgICAgICAgPyBzdGF0aWNfY2FzdDxjb25zdCBNZWRpYUNvbnRyb2xzR3RrRXZlbnRM
aXN0ZW5lcio+KGxpc3RlbmVyKQorICAgICAgICAgICAgOiAwOworICAgIH0KKworICAgIHZpcnR1
YWwgYm9vbCBvcGVyYXRvcj09KGNvbnN0IEV2ZW50TGlzdGVuZXImIG90aGVyKTsKKworcHJpdmF0
ZToKKyAgICBNZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lcihNZWRpYUNvbnRyb2xzR3RrKiBt
ZWRpYUNvbnRyb2xzKQorICAgICAgICA6IEV2ZW50TGlzdGVuZXIoR09iamVjdEV2ZW50TGlzdGVu
ZXJUeXBlKQorICAgICAgICAsIG1fbWVkaWFDb250cm9scyhtZWRpYUNvbnRyb2xzKQorICAgIHsK
KyAgICB9CisKKyAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlRXZlbnQoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCosIEV2ZW50Kik7CisKKyAgICBNZWRpYUNvbnRyb2xzR3RrKiBtX21lZGlhQ29udHJvbHM7
Cit9OworCiBNZWRpYUNvbnRyb2xzR3RrOjpNZWRpYUNvbnRyb2xzR3RrKERvY3VtZW50KiBkb2N1
bWVudCkKICAgICA6IE1lZGlhQ29udHJvbHMoZG9jdW1lbnQpCiAgICAgLCBtX2R1cmF0aW9uRGlz
cGxheSgwKQogICAgICwgbV9lbmNsb3N1cmUoMCkKKyAgICAsIG1fZXZlbnRMaXN0ZW5lcigwKQor
ICAgICwgbV9jbG9zZWRDYXB0aW9uc1RyYWNrTGlzdCgwKQorICAgICwgbV9jbG9zZWRDYXB0aW9u
c0NvbnRhaW5lcigwKQogewogfQogCkBAIC05MSwxMSArMTIxLDI0IEBAIGJvb2wgTWVkaWFDb250
cm9sc0d0azo6aW5pdGlhbGl6ZUNvbnRyb2xzKERvY3VtZW50KiBkb2N1bWVudCkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCiAgICAgaWYgKGRvY3VtZW50LT5wYWdlKCktPnRoZW1lKCktPnN1cHBv
cnRzQ2xvc2VkQ2FwdGlvbmluZygpKSB7CisgICAgICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xDbG9z
ZWRDYXB0aW9uc0NvbnRhaW5lckVsZW1lbnQ+IGNsb3NlZENhcHRpb25zQ29udGFpbmVyID0gTWVk
aWFDb250cm9sQ2xvc2VkQ2FwdGlvbnNDb250YWluZXJFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQp
OworCisgICAgICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xDbG9zZWRDYXB0aW9uc1RyYWNrTGlzdEVs
ZW1lbnQ+IGNsb3NlZENhcHRpb25zVHJhY2tMaXN0ID0gTWVkaWFDb250cm9sQ2xvc2VkQ2FwdGlv
bnNUcmFja0xpc3RFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIHRoaXMpOworICAgICAgICBtX2Ns
b3NlZENhcHRpb25zVHJhY2tMaXN0ID0gY2xvc2VkQ2FwdGlvbnNUcmFja0xpc3QuZ2V0KCk7Cisg
ICAgICAgIGNsb3NlZENhcHRpb25zQ29udGFpbmVyLT5hcHBlbmRDaGlsZChjbG9zZWRDYXB0aW9u
c1RyYWNrTGlzdC5yZWxlYXNlKCksIGV4Y2VwdGlvbkNvZGUsIEF0dGFjaExhemlseSk7CisgICAg
ICAgIGlmIChleGNlcHRpb25Db2RlKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAg
ICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQ+
IHRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uID0gTWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2Fw
dGlvbnNCdXR0b25FbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIHRoaXMpOwogICAgICAgICBtX3Rv
Z2dsZUNsb3NlZENhcHRpb25zQnV0dG9uID0gdG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b24uZ2V0
KCk7CiAgICAgICAgIHBhbmVsLT5hcHBlbmRDaGlsZCh0b2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRv
bi5yZWxlYXNlKCksIGV4Y2VwdGlvbkNvZGUsIEF0dGFjaExhemlseSk7CiAgICAgICAgIGlmIChl
eGNlcHRpb25Db2RlKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIG1fY2xv
c2VkQ2FwdGlvbnNDb250YWluZXIgPSBjbG9zZWRDYXB0aW9uc0NvbnRhaW5lci5nZXQoKTsKKyAg
ICAgICAgYXBwZW5kQ2hpbGQoY2xvc2VkQ2FwdGlvbnNDb250YWluZXIucmVsZWFzZSgpLCBleGNl
cHRpb25Db2RlLCBBdHRhY2hMYXppbHkpOworICAgICAgICBpZiAoZXhjZXB0aW9uQ29kZSkKKyAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKICAgICBSZWZQdHI8TWVkaWFDb250cm9s
RnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQ+IGZ1bGxzY3JlZW5CdXR0b24gPSBNZWRpYUNvbnRyb2xG
dWxsc2NyZWVuQnV0dG9uRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KTsKQEAgLTE0Nyw2ICsxOTAs
MTAgQEAgdm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpzZXRNZWRpYUNvbnRyb2xsZXIoTWVkaWFDb250
cm9sbGVySW50ZXJmYWNlKiBjb250cm9sbGVyKQogICAgICAgICBtX2R1cmF0aW9uRGlzcGxheS0+
c2V0TWVkaWFDb250cm9sbGVyKGNvbnRyb2xsZXIpOwogICAgIGlmIChtX2VuY2xvc3VyZSkKICAg
ICAgICAgbV9lbmNsb3N1cmUtPnNldE1lZGlhQ29udHJvbGxlcihjb250cm9sbGVyKTsKKyAgICBp
ZiAobV9jbG9zZWRDYXB0aW9uc0NvbnRhaW5lcikKKyAgICAgICAgbV9jbG9zZWRDYXB0aW9uc0Nv
bnRhaW5lci0+c2V0TWVkaWFDb250cm9sbGVyKGNvbnRyb2xsZXIpOworICAgIGlmIChtX2Nsb3Nl
ZENhcHRpb25zVHJhY2tMaXN0KQorICAgICAgICBtX2Nsb3NlZENhcHRpb25zVHJhY2tMaXN0LT5z
ZXRNZWRpYUNvbnRyb2xsZXIoY29udHJvbGxlcik7CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sc0d0
azo6cmVzZXQoKQpAQCAtMTU5LDYgKzIwNiwxMyBAQCB2b2lkIE1lZGlhQ29udHJvbHNHdGs6OnJl
c2V0KCkKICAgICBtX2R1cmF0aW9uRGlzcGxheS0+c2V0SW5uZXJUZXh0KHBhZ2UtPnRoZW1lKCkt
PmZvcm1hdE1lZGlhQ29udHJvbHNUaW1lKGR1cmF0aW9uKSwgQVNTRVJUX05PX0VYQ0VQVElPTik7
CiAgICAgbV9kdXJhdGlvbkRpc3BsYXktPnNldEN1cnJlbnRWYWx1ZShkdXJhdGlvbik7CiAKKyAg
ICBpZiAobV90b2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbikgeworICAgICAgICBpZiAobV9tZWRp
YUNvbnRyb2xsZXItPmhhc0Nsb3NlZENhcHRpb25zKCkpCisgICAgICAgICAgICBtX3RvZ2dsZUNs
b3NlZENhcHRpb25zQnV0dG9uLT5zaG93KCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1f
dG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b24tPmhpZGUoKTsKKyAgICB9CisKICAgICBNZWRpYUNv
bnRyb2xzOjpyZXNldCgpOwogfQogCkBAIC0yMDgsNiArMjYyLDggQEAgdm9pZCBNZWRpYUNvbnRy
b2xzR3RrOjptYWtlVHJhbnNwYXJlbnQoKQogCiAgICAgaWYgKG1fdm9sdW1lU2xpZGVyQ29udGFp
bmVyKQogICAgICAgICBtX3ZvbHVtZVNsaWRlckNvbnRhaW5lci0+aGlkZSgpOworCisgICAgaGlk
ZUNsb3NlZENhcHRpb25UcmFja0xpc3QoKTsKIH0KIAogdm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpz
aG93Vm9sdW1lU2xpZGVyKCkKQEAgLTIzNiw2ICsyOTIsOTAgQEAgdm9pZCBNZWRpYUNvbnRyb2xz
R3RrOjpjcmVhdGVUZXh0VHJhY2tEaXNwbGF5KCkKIH0KICNlbmRpZgogCit2b2lkIE1lZGlhQ29u
dHJvbHNHdGs6OnRvZ2dsZUNsb3NlZENhcHRpb25UcmFja0xpc3QoKQoreworICAgIGlmICghbV9t
ZWRpYUNvbnRyb2xsZXItPmhhc0Nsb3NlZENhcHRpb25zKCkpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGlmICghbV9jbG9zZWRDYXB0aW9uc0NvbnRhaW5lciB8fCAhbV9jbG9zZWRDYXB0aW9uc1Ry
YWNrTGlzdCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKG1fY2xvc2VkQ2FwdGlvbnNDb250
YWluZXItPmlzU2hvd2luZygpKSB7CisgICAgICAgIGhpZGVDbG9zZWRDYXB0aW9uVHJhY2tMaXN0
KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBtX2Nsb3NlZENhcHRpb25zVHJhY2tM
aXN0LT51cGRhdGVEaXNwbGF5KCk7CisgICAgc2hvd0Nsb3NlZENhcHRpb25UcmFja0xpc3QoKTsK
IH0KIAordm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpzaG93Q2xvc2VkQ2FwdGlvblRyYWNrTGlzdCgp
Cit7CisgICAgbV92b2x1bWVTbGlkZXJDb250YWluZXItPmhpZGUoKTsKKworICAgIGlmICghbV9j
bG9zZWRDYXB0aW9uc0NvbnRhaW5lciB8fCBtX2Nsb3NlZENhcHRpb25zQ29udGFpbmVyLT5pc1No
b3dpbmcoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9jbG9zZWRDYXB0aW9uc0NvbnRhaW5l
ci0+c2hvdygpOworICAgIG1fcGFuZWwtPnNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVy
dHlQb2ludGVyRXZlbnRzLCBDU1NWYWx1ZU5vbmUpOworCisgICAgUmVmUHRyPEV2ZW50TGlzdGVu
ZXI+IGxpc3RlbmVyID0gZXZlbnRMaXN0ZW5lcigpOworCisgICAgLy8gQ2hlY2sgZm9yIGNsaWNr
cyBvdXRzaWRlIHRoZSBtZWRpYS1jb250cm9sCisgICAgZG9jdW1lbnQoKS0+YWRkRXZlbnRMaXN0
ZW5lcihldmVudE5hbWVzKCkuY2xpY2tFdmVudCwgbGlzdGVuZXIsIHRydWUpOworICAgIC8vIENo
ZWNrIGZvciBjbGlja3MgaW5zaWRlIHRoZSBtZWRpYS1jb250cm9sIGJveAorICAgIGFkZEV2ZW50
TGlzdGVuZXIoZXZlbnROYW1lcygpLmNsaWNrRXZlbnQsIGxpc3RlbmVyLCB0cnVlKTsKK30KKwor
dm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpoaWRlQ2xvc2VkQ2FwdGlvblRyYWNrTGlzdCgpCit7Cisg
ICAgaWYgKCFtX2Nsb3NlZENhcHRpb25zQ29udGFpbmVyIHx8ICFtX2Nsb3NlZENhcHRpb25zQ29u
dGFpbmVyLT5pc1Nob3dpbmcoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9jbG9zZWRDYXB0
aW9uc0NvbnRhaW5lci0+aGlkZSgpOworICAgIG1fcGFuZWwtPnJlbW92ZUlubGluZVN0eWxlUHJv
cGVydHkoQ1NTUHJvcGVydHlQb2ludGVyRXZlbnRzKTsKKworICAgIEV2ZW50TGlzdGVuZXIqIGxp
c3RlbmVyID0gZXZlbnRMaXN0ZW5lcigpLmdldCgpOworCisgICAgZG9jdW1lbnQoKS0+cmVtb3Zl
RXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuY2xpY2tFdmVudCwgbGlzdGVuZXIsIHRydWUpOwor
ICAgIHJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmNsaWNrRXZlbnQsIGxpc3RlbmVy
LCB0cnVlKTsKK30KKwordm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpoYW5kbGVDbGlja0V2ZW50KEV2
ZW50ICpldmVudCkKK3sKKyAgICBOb2RlKiBjdXJyZW50VGFyZ2V0ID0gZXZlbnQtPmN1cnJlbnRU
YXJnZXQoKS0+dG9Ob2RlKCk7CisgICAgTm9kZSogdGFyZ2V0ID0gZXZlbnQtPnRhcmdldCgpLT50
b05vZGUoKTsKKworICAgIGlmICgoY3VycmVudFRhcmdldCA9PSBkb2N1bWVudCgpICYmICFzaGFk
b3dIb3N0KCktPmNvbnRhaW5zKHRhcmdldCkpCisgICAgICAgIHx8IChjdXJyZW50VGFyZ2V0ID09
IHRoaXMgJiYgIW1fY2xvc2VkQ2FwdGlvbnNDb250YWluZXItPmNvbnRhaW5zKHRhcmdldCkpKSB7
CisgICAgICAgIGhpZGVDbG9zZWRDYXB0aW9uVHJhY2tMaXN0KCk7CisgICAgICAgIGV2ZW50LT5z
dG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTsKKyAgICAgICAgZXZlbnQtPnNldERlZmF1bHRIYW5k
bGVkKCk7CisgICAgfQorfQorCitQYXNzUmVmUHRyPE1lZGlhQ29udHJvbHNHdGtFdmVudExpc3Rl
bmVyPiBNZWRpYUNvbnRyb2xzR3RrOjpldmVudExpc3RlbmVyKCkKK3sKKyAgICBpZiAoIW1fZXZl
bnRMaXN0ZW5lcikKKyAgICAgICAgbV9ldmVudExpc3RlbmVyID0gTWVkaWFDb250cm9sc0d0a0V2
ZW50TGlzdGVuZXI6OmNyZWF0ZSh0aGlzKTsKKworICAgIHJldHVybiBtX2V2ZW50TGlzdGVuZXI7
Cit9CisKK3ZvaWQgTWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXI6OmhhbmRsZUV2ZW50KFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBFdmVudCogZXZlbnQpCit7CisgICAgaWYgKGV2ZW50LT50
eXBlKCkgPT0gZXZlbnROYW1lcygpLmNsaWNrRXZlbnQpCisgICAgICAgIG1fbWVkaWFDb250cm9s
cy0+aGFuZGxlQ2xpY2tFdmVudChldmVudCk7CisKKyAgICByZXR1cm47Cit9CisKK2Jvb2wgTWVk
aWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXI6Om9wZXJhdG9yPT0oY29uc3QgRXZlbnRMaXN0ZW5l
ciYgbGlzdGVuZXIpCit7CisgICAgaWYgKGNvbnN0IE1lZGlhQ29udHJvbHNHdGtFdmVudExpc3Rl
bmVyKiBtZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lciA9IE1lZGlhQ29udHJvbHNHdGtFdmVu
dExpc3RlbmVyOjpjYXN0KCZsaXN0ZW5lcikpCisgICAgICAgIHJldHVybiBtX21lZGlhQ29udHJv
bHMgPT0gbWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXItPm1fbWVkaWFDb250cm9sczsKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKK30KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sc0d0ay5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvTWVkaWFDb250cm9sc0d0ay5oCmluZGV4IDJlYTMyNTk5ZjVjNGQ3YzkyNDkyMTZhZjYx
NWMzNTcxNWM3MWNiNDkuLjE2MDM3ZjY2MTM0NWVhNTU2YTlhY2E3MzM0Yjc2YjMyYzU4NGIyYTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzR3RrLmgKQEAg
LTM1LDYgKzM1LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBNZWRpYUNvbnRy
b2xzR3RrRXZlbnRMaXN0ZW5lcjsKKwogY2xhc3MgTWVkaWFDb250cm9sc0d0ayA6IHB1YmxpYyBN
ZWRpYUNvbnRyb2xzIHsKIHB1YmxpYzoKICAgICAvLyBDYWxsZWQgZnJvbSBwb3J0LXNwZWNpZmlj
IHBhcmVudCBjcmVhdGUgZnVuY3Rpb24gdG8gY3JlYXRlIGN1c3RvbSBjb250cm9scy4KQEAgLTQ3
LDYgKzQ5LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVDdXJyZW50VGltZURp
c3BsYXkoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc2hvd1ZvbHVtZVNsaWRlcigpIE9W
RVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBtYWtlVHJhbnNwYXJlbnQoKSBPVkVSUklERTsKKyAg
ICB2aXJ0dWFsIHZvaWQgdG9nZ2xlQ2xvc2VkQ2FwdGlvblRyYWNrTGlzdCgpIE9WRVJSSURFOwor
CisgICAgdm9pZCBoYW5kbGVDbGlja0V2ZW50KEV2ZW50Kik7CiAKICNpZiBFTkFCTEUoVklERU9f
VFJBQ0spCiAgICAgdm9pZCBjcmVhdGVUZXh0VHJhY2tEaXNwbGF5KCkgT1ZFUlJJREU7CkBAIC01
NCwxMyArNTksMjEgQEAgcHVibGljOgogCiBwcm90ZWN0ZWQ6CiAgICAgZXhwbGljaXQgTWVkaWFD
b250cm9sc0d0ayhEb2N1bWVudCopOwotCiAgICAgYm9vbCBpbml0aWFsaXplQ29udHJvbHMoRG9j
dW1lbnQqKTsKIAogcHJpdmF0ZToKKyAgICB2b2lkIHNob3dDbG9zZWRDYXB0aW9uVHJhY2tMaXN0
KCk7CisgICAgdm9pZCBoaWRlQ2xvc2VkQ2FwdGlvblRyYWNrTGlzdCgpOworCisgICAgUGFzc1Jl
ZlB0cjxNZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lcj4gZXZlbnRMaXN0ZW5lcigpOworCiAg
ICAgTWVkaWFDb250cm9sVGltZVJlbWFpbmluZ0Rpc3BsYXlFbGVtZW50KiBtX2R1cmF0aW9uRGlz
cGxheTsKICAgICBNZWRpYUNvbnRyb2xQYW5lbEVuY2xvc3VyZUVsZW1lbnQqIG1fZW5jbG9zdXJl
OwogICAgIE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckNvbnRhaW5lckVsZW1lbnQqIG1fdm9sdW1l
U2xpZGVyQ29udGFpbmVyOworICAgIE1lZGlhQ29udHJvbENsb3NlZENhcHRpb25zVHJhY2tMaXN0
RWxlbWVudCogbV9jbG9zZWRDYXB0aW9uc1RyYWNrTGlzdDsKKyAgICBNZWRpYUNvbnRyb2xDbG9z
ZWRDYXB0aW9uc0NvbnRhaW5lckVsZW1lbnQqIG1fY2xvc2VkQ2FwdGlvbnNDb250YWluZXI7CisK
KyAgICBSZWZQdHI8TWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXI+IG1fZXZlbnRMaXN0ZW5l
cjsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQ
cmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5j
ZXMuY3BwCmluZGV4IDI1MGVhNTU5ZDIxM2I2OTFlYzdkMjQ3YWM4MDc5YjM0MjU2NDI1ODAuLjI4
ODliYjI2ZmQyYmNhYTIyNDBlMThhMjk2Y2JmMWUzMTJmNTYzMjggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcApAQCAtMTU3LDYgKzE1Nyw5IEBA
IHZvaWQgQ2FwdGlvblVzZXJQcmVmZXJlbmNlczo6c2V0UHJlZmVycmVkTGFuZ3VhZ2UoY29uc3Qg
U3RyaW5nJiBsYW5ndWFnZSkKIAogc3RhdGljIFN0cmluZyB0cmFja0Rpc3BsYXlOYW1lKFRleHRU
cmFjayogdHJhY2spCiB7CisgICAgaWYgKHRyYWNrID09IFRleHRUcmFjazo6Y2FwdGlvbk1lbnVP
ZmZJdGVtKCkpCisgICAgICAgIHJldHVybiB0ZXh0VHJhY2tPZmZNZW51SXRlbVRleHQoKTsKKwog
ICAgIGlmICh0cmFjay0+bGFiZWwoKS5pc0VtcHR5KCkgJiYgdHJhY2stPmxhbmd1YWdlKCkuaXNF
bXB0eSgpKQogICAgICAgICByZXR1cm4gdGV4dFRyYWNrTm9MYWJlbFRleHQoKTsKICAgICBpZiAo
IXRyYWNrLT5sYWJlbCgpLmlzRW1wdHkoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2d0ay9Mb2NhbGl6ZWRTdHJpbmdzR3RrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2d0ay9Mb2NhbGl6ZWRTdHJpbmdzR3RrLmNwcAppbmRleCA5NDk3Y2EyMjAyZjdmOGQ5ZTg3
ZmM2ZjFiMWJlYWQ5YzE2NTgzNjRmLi5jODczNjRkZjM0ZTQ0MjMzMWM0NWY5NmMwNWU3YWM1NjY5
Mzc2MTFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvTG9jYWxpemVk
U3RyaW5nc0d0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0xvY2FsaXpl
ZFN0cmluZ3NHdGsuY3BwCkBAIC03OTAsMTcgKzc5MCwxNyBAQCBTdHJpbmcgdGV4dFRyYWNrQ2xv
c2VkQ2FwdGlvbnNUZXh0KCkKIAogU3RyaW5nIHRleHRUcmFja1N1YnRpdGxlc1RleHQoKQogewot
ICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KENfKCJTdWJ0aXRsZXMiLCAiTWVudSBzZWN0aW9u
IGhlYWRpbmcgZm9yIHN1YnRpdGxlcyIpKTsKKyAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChf
KCJTdWJ0aXRsZXMiKSk7CiB9CiAKIFN0cmluZyB0ZXh0VHJhY2tPZmZNZW51SXRlbVRleHQoKQog
ewotICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KENfKCJPZmYiLCAiTWVudSBpdGVtIGxhYmVs
IGZvciB0aGUgdHJhY2sgdGhhdCByZXByZXNlbnRzIGRpc2FibGluZyBjbG9zZWQgY2FwdGlvbnMi
KSk7CisgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoXygiT2ZmIikpOwogfQogCiBTdHJpbmcg
dGV4dFRyYWNrTm9MYWJlbFRleHQoKQogewotICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KENf
KCJObyBsYWJlbCIsICJNZW51IGl0ZW0gbGFiZWwgZm9yIGEgY2xvc2VkIGNhcHRpb25zIHRyYWNr
IHRoYXQgaGFzIG5vIG90aGVyIG5hbWUiKSk7CisgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgo
XygiTm8gbGFiZWwiKSk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
dGsvUmVuZGVyVGhlbWVHdGsuaAppbmRleCBhOGM5NzM1YzcwNzM1MzZiM2EyMjkyZTg2MDRhNDc2
ZTcyYjU3M2QwLi41ZTUzNDc2NDA5NWE4MTAwNzBiZGJkNmZhMzYyZWViZjM2Y2RhMTEwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGsuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGsuaApAQCAtODcsNiAr
ODcsNyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKFZJREVPKQogICAgIHZpcnR1YWwgU3RyaW5nIGV4
dHJhTWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKTsKICAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXRN
ZWRpYUNvbnRyb2xzQ3VycmVudFRpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9u
KSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNDbG9zZWRDYXB0aW9uaW5nKCkgY29u
c3QgT1ZFUlJJREUgeyByZXR1cm4gdHJ1ZTsgfQogCiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJ
KQogICAgIHZpcnR1YWwgU3RyaW5nIGV4dHJhRnVsbFNjcmVlblN0eWxlU2hlZXQoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmNwcApp
bmRleCA1M2E1NDdhMWZiNGZmMzU5YjA3Njg0NThhNzE0NTQ0Yzc1MDM3YzNiLi4xZWUzZmIyMzQ4
ODlmYzRiYzhmMTBmNDJjOGUzZWM3ODY0MWQ3NjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuY3BwCkBAIC0xNDMsNiArMTQzLDgg
QEAgc3RhdGljIHZvaWQgd2ViS2l0U2V0dGluZ3NDb25zdHJ1Y3RlZChHT2JqZWN0KiBvYmplY3Qp
CiAgICAgR19PQkpFQ1RfQ0xBU1Mod2Via2l0X3NldHRpbmdzX3BhcmVudF9jbGFzcyktPmNvbnN0
cnVjdGVkKG9iamVjdCk7CiAKICAgICBXZWJQcmVmZXJlbmNlcyogcHJlZnMgPSBXRUJLSVRfU0VU
VElOR1Mob2JqZWN0KS0+cHJpdi0+cHJlZmVyZW5jZXMuZ2V0KCk7CisgICAgcHJlZnMtPnNldFNo
b3VsZERpc3BsYXlTdWJ0aXRsZXModHJ1ZSk7CisKICAgICBFeHBlcmltZW50YWxGZWF0dXJlcyBm
ZWF0dXJlczsKICAgICBib29sIHJlZ2lvbkJhc2VkQ29sdW1uc0VuYWJsZWQgPSBmZWF0dXJlcy5p
c0VuYWJsZWQoRXhwZXJpbWVudGFsRmVhdHVyZXM6OlJlZ2lvbkJhc2VkQ29sdW1ucyk7CiAgICAg
aWYgKHByZWZzLT5yZWdpb25CYXNlZENvbHVtbnNFbmFibGVkKCkgIT0gcmVnaW9uQmFzZWRDb2x1
bW5zRW5hYmxlZCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCA2NjgwYWExMjdkYTBmOTFiYmFmMzM0N2Q4YTZmNTA5MmFkNDAw
ZDZlLi5kZjVjZDRmZWQzZTQ2OTg5NDM3YzFjOWViZTAxZDQyZmM2NWIzOTkzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMTMtMDgtMjMgIERhbmlsbyBDZXNhciBMZW1lcyBkZSBQYXVsYSAgPGRh
bmlsby5jZXNhckBjb2xsYWJvcmEuY28udWs+CisKKyAgICAgICAgW1dLMl1bR1RLXSBhZGQgc3Vw
cG9ydCBmb3Igc3VidGl0bGVzIG9uIHdlYmtpdDJHVEsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzAwOAorCisgICAgICAgIEJ5IGFjdGl2YXRpbmcg
c3VidGl0bGVzIHN1cHBvcnQgb24gd2Via2l0MkdUSywgdGhlIHZpZGVvIHBsYXllcgorICAgICAg
ICByZWNvZ25pemVzIGFuZCB1c2UgdGV4dCA8dHJhY2tzPiBpbnNpZGUgPHZpZGVvPiBlbGVtZW50
cy4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBs
YXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDEzLTA4LTE4ICBBbnR0aSBLb2l2aXN0
byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTE5
OTYzPiBVc2UgVGV4dE5vZGVUcmF2ZXJzYWwgZm9yIGdldHRpbmcgc2hlZXQgdGV4dCBpbiBTdHls
ZUVsZW1lbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0
YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXgg
ODRhMDJjNjIyZmZmNzFkNGIxNzQ3M2NhNWZkNjA1M2YwMzIwMDZhZC4uMDkyOGZmZjY4MmFiNWU1
NDZiYWFjNTJjMmYyZjBjNjZiMWI4YTlmMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rl
c3RFeHBlY3RhdGlvbnMKQEAgLTc4NSwxNSArNzg1LDYgQEAgQnVnKEdUSykgbWVkaWEvcHJvZ3Jl
c3MtZXZlbnRzLWdlbmVyYXRlZC1jb3JyZWN0bHkuaHRtbCBbIEZhaWx1cmUgVGltZW91dCBdCiAK
IHdlYmtpdC5vcmcvYi8xMDIyNTcgZmFzdC9kb20vV2luZG93L29wZW4td2luZG93LW1pbi1zaXpl
Lmh0bWwgWyBUaW1lb3V0IF0KIAotIyBHVEsgc3RpbGwgaGFzIHRoZSBDQyB0b2dnbGUgYnV0dG9u
LCBub3QgdGhlIG1lbnUgb2YgdHJhY2tzLgotd2Via2l0Lm9yZy9iLzEwMTY3MCBtZWRpYS92aWRl
by1jb250cm9scy1jYXB0aW9ucy10cmFja21lbnUuaHRtbCBbIFNraXAgXQotd2Via2l0Lm9yZy9i
LzEwMTY3MCBtZWRpYS92aWRlby1jb250cm9scy1jYXB0aW9ucy10cmFja21lbnUtc29ydGVkLmh0
bWwgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi8xMDE2NzAgbWVkaWEvdmlkZW8tY29udHJvbHMtY2Fw
dGlvbnMtdHJhY2ttZW51LWxvY2FsaXplZC5odG1sIFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMTAx
NjcwIG1lZGlhL3ZpZGVvLWNvbnRyb2xzLWNhcHRpb25zLXRyYWNrbWVudS1oaWRlLW9uLWNsaWNr
Lmh0bWwgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi8xMDE2NzAgbWVkaWEvdmlkZW8tY29udHJvbHMt
Y2FwdGlvbnMtdHJhY2ttZW51LWhpZGUtb24tY2xpY2stb3V0c2lkZS5odG1sIFsgU2tpcCBdCi13
ZWJraXQub3JnL2IvMTAxNjcwIG1lZGlhL3RyYWNrL3RyYWNrLXVzZXItcHJlZmVyZW5jZXMuaHRt
bCBbIFNraXAgXQotd2Via2l0Lm9yZy9iLzEwMTY3MCBtZWRpYS92aWRlby1jb250cm9scy1jYXB0
aW9ucy10cmFja21lbnUtaW5jbHVkZXMtZW5hYmxlZC10cmFjay5odG1sIFsgU2tpcCBdCi0KIHdl
YmtpdC5vcmcvYi8xMDcxOTQgc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtcXVvdGEuaHRtbCBb
IFRpbWVvdXQgXQogd2Via2l0Lm9yZy9iLzEwNzE5NCBzdG9yYWdlL2luZGV4ZWRkYi9wZW5kaW5n
LWFjdGl2aXR5LXdvcmtlcnMuaHRtbCBbIFRpbWVvdXQgXQogd2Via2l0Lm9yZy9iLzEwNzE5NCBz
dG9yYWdlL2luZGV4ZWRkYi9wZW5kaW5nLXZlcnNpb24tY2hhbmdlLW9uLWV4aXQuaHRtbCBbIFRp
bWVvdXQgXQpAQCAtOTAwLDYgKzg5MSwxMSBAQCB3ZWJraXQub3JnL2IvNDQ0NzggZmFzdC90ZXh0
L2h5cGhlbi1taW4tcHJlZmVycmVkLXdpZHRoLmh0bWwgWyBTa2lwIF0KICMgTGF5b3V0VGVzdENv
bnRyb2xsZXI6OmFwcGxpY2F0aW9uQ2FjaGVEaXNrVXNhZ2VGb3JPcmlnaW4gaXNuJ3QgaW1wbGVt
ZW50ZWQuCiB3ZWJraXQub3JnL2IvNTcxMjcgaHR0cC90ZXN0cy9hcHBjYWNoZS9vcmlnaW4tdXNh
Z2UuaHRtbCBbIEZhaWx1cmUgXQogCisjIEdUSyBpcyBtb3ZpbmcgZnJvbSB0b2dnbGUgYnV0dG9u
IHRvIGEgbWVudSBvZiB0cmFja3MuCit3ZWJraXQub3JnL2IvMTAxNjcwIG1lZGlhL3ZpZGVvLWNv
bnRyb2xzLWNhcHRpb25zLXRyYWNrbWVudS5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2Iv
MTAxNjcwIG1lZGlhL3RyYWNrL3RyYWNrLXVzZXItcHJlZmVyZW5jZXMuaHRtbCBbIEZhaWx1cmUg
XQord2Via2l0Lm9yZy9iLzEwMTY3MCBtZWRpYS92aWRlby1jb250cm9scy1jYXB0aW9ucy10cmFj
a21lbnUtaW5jbHVkZXMtZW5hYmxlZC10cmFjay5odG1sIFsgRmFpbHVyZSBdCisKIEJ1ZyhHVEsp
IGh0dHAvdGVzdHMvbG9hZGluZy9iYWQtc2NoZW1lLXN1YmZyYW1lLmh0bWwgWyBGYWlsdXJlIF0K
IAogIyBOZWVkZWQgdG8gY292ZXIgdGhlIGZpeCBmb3IgPHJkYXI6Ly9wcm9ibGVtLzY3Mjc0OTU+
CkBAIC0xMjA4LDYgKzEyMDQsNyBAQCB3ZWJraXQub3JnL2IvODk2NjMgZWRpdGluZy9kZWxldGlu
Zy9kZWxldGUtMzgwMDgzNC1maXguaHRtbCBbIEZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2IvODcz
NTUgY2FudmFzL3BoaWxpcC90ZXN0cy8yZC50ZXh0LmRyYXcuZm9udGZhY2Uubm90aW5wYWdlLmh0
bWwgWyBGYWlsdXJlIF0KIAorIyBHVEsgaXMgbW92aW5nIGZyb20gdGhlIHNpbXBsZSB0b2dnbGUg
YnV0dG9uIHRvIGEgbWVudSBvZiB0cmFja3MKIHdlYmtpdC5vcmcvYi85NTQyOCBtZWRpYS92aWRl
by1jb250cm9scy1jYXB0aW9ucy5odG1sIFsgRmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi85NTQy
OSBzdmcvY3VzdG9tL2NsYW1wZWQtbWFza2luZy1jbGlwcGluZy5zdmcgWyBJbWFnZU9ubHlGYWls
dXJlIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>210159</attachid>
            <date>2013-08-30 14:11:32 -0700</date>
            <delta_ts>2013-09-02 06:48:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117008-20130830181130.patch</filename>
            <type>text/plain</type>
            <size>24646</size>
            <attacher name="Danilo de Paula">danilo.eu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0MjQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTU0YjBmOWZkNmJjYzlk
MDE2OTY0NGM4Y2E5YmEwNWFhYmE5YzA1NS4uYjM5NDYxNDExODU2OTY5NmFiZWUyMWVhY2ZkMTNh
NWFkNGQ3NjNmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDEzLTA4LTIzICBEYW5p
bG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgor
CisgICAgICAgIFtXSzJdW0dUS10gYWRkIHN1cHBvcnQgZm9yIHN1YnRpdGxlcyBvbiB3ZWJraXQy
R1RLCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTcw
MDgKKworICAgICAgICBCeSBhY3RpdmF0aW5nIHN1YnRpdGxlcyBzdXBwb3J0IG9uIHdlYmtpdDJH
VEssIHRoZSB2aWRlbyBwbGF5ZXIKKyAgICAgICAgcmVjb2duaXplcyBhbmQgdXNlIHRleHQgPHRy
YWNrcz4gaW5zaWRlIDx2aWRlbz4gZWxlbWVudHMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTGF5b3V0IHRlc3RzICh0cmFjay1tZW51KSBzaG91bGQg
Y292ZXIgdGhpcyBjaGFuZ2UuCisKKyAgICAgICAgKiBjc3MvbWVkaWFDb250cm9sc0d0ay5jc3M6
CisgICAgICAgIChhdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10b2dnbGUtY2xvc2VkLWNh
cHRpb25zLWJ1dHRvbiwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdG9nZ2xlLWNsb3Nl
ZC1jYXB0aW9ucy1idXR0b24pOgorICAgICAgICAodmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJv
bHMtY2xvc2VkLWNhcHRpb25zLWNvbnRhaW5lcik6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1t
ZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCk6CisgICAgICAgICh2aWRl
bzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBoMyk6
CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMt
dHJhY2stbGlzdCB1bCk6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1j
bG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBsaSk6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1t
ZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBsaS5zZWxlY3RlZCk6Cisg
ICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50OjpN
ZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50Ojpk
ZWZhdWx0RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xF
bGVtZW50cy5oOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXI6OmNyZWF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lcjo6Y2FzdCk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lcjo6TWVkaWFD
b250cm9sc0d0a0V2ZW50TGlzdGVuZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9s
c0d0azo6TWVkaWFDb250cm9sc0d0ayk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xz
R3RrOjppbml0aWFsaXplQ29udHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9s
c0d0azo6c2V0TWVkaWFDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJv
bHNHdGs6OnJlc2V0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbHNHdGs6Om1ha2VU
cmFuc3BhcmVudCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzR3RrOjp0b2dnbGVD
bG9zZWRDYXB0aW9uVHJhY2tMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbHNH
dGs6OnNob3dDbG9zZWRDYXB0aW9uVHJhY2tMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
Q29udHJvbHNHdGs6OmhpZGVDbG9zZWRDYXB0aW9uVHJhY2tMaXN0KToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhQ29udHJvbHNHdGs6OmhhbmRsZUNsaWNrRXZlbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFDb250cm9sc0d0azo6ZXZlbnRMaXN0ZW5lcik6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lcjo6aGFuZGxlRXZlbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXI6Om9wZXJhdG9yPT0pOgorICAgICAg
ICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuaDoKKyAgICAgICAgKiBwYWdlL0NhcHRp
b25Vc2VyUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dHJhY2tEaXNwbGF5TmFt
ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL0xvY2FsaXplZFN0cmluZ3NHdGsuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6dGV4dFRyYWNrU3VidGl0bGVzVGV4dCk6CisgICAgICAgIChXZWJDb3Jl
Ojp0ZXh0VHJhY2tPZmZNZW51SXRlbVRleHQpOgorICAgICAgICAoV2ViQ29yZTo6dGV4dFRyYWNr
Tm9MYWJlbFRleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0ay5oOgor
CiAyMDEzLTA4LTE4ICBEYW5pbG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgIDxkYW5pbG8uY2VzYXJA
Y29sbGFib3JhLmNvLnVrPgogCiAgICAgICAgIFtFRkxdIG1pbm9yIG1ldGhvZCBuYW1lIGZpeCBm
b3IgdGhlIHRleHRUcmFja09mZk1lbnVJdGVtVGV4dCBtZXRob2QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA4NDMw
YzcwOWRmNjgzMjEyNDVlZTI4YWQ1YTEwNzg5ZjE0NzRmYTM5Li44NDRlOGQyZDY4OWI5ZjMzZDNl
YmQxZTUyNWU5NzUwNDk5ZGJjODJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMt
MDgtMTggIERhbmlsbyBDZXNhciBMZW1lcyBkZSBQYXVsYSAgPGRhbmlsby5jZXNhckBjb2xsYWJv
cmEuY28udWs+CisKKyAgICAgICAgW1dLMl1bR1RLXSBhZGQgc3VwcG9ydCBmb3Igc3VidGl0bGVz
IG9uIHdlYmtpdDJHVEsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExNzAwOAorCisgICAgICAgIEJ5IGFjdGl2YXRpbmcgc3VidGl0bGVzIHN1cHBvcnQg
b24gd2Via2l0MkdUSywgdGhlIHZpZGVvIHBsYXllcgorICAgICAgICByZWNvZ25pemVzIGFuZCB1
c2UgdGV4dCA8dHJhY2tzPiBpbnNpZGUgPHZpZGVvPiBlbGVtZW50cy4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFNldHRpbmdzLmNwcDoKKyAgICAgICAgKHdlYmtpdF9zZXR0aW5nc19jbGFzc19pbml0KToK
KyAgICAgICAgKHdlYmtpdF9zZXR0aW5nc19uZXcpOgorCiAyMDEzLTA4LTE3ICBEYXJpbiBBZGxl
ciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTE5
OTQxPiBNYWtlIFBhZ2U6OmRyYWdDb250cm9sbGVyIHJldHVybiBhIHJlZmVyZW5jZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL21lZGlhQ29udHJvbHNHdGsuY3NzIGIvU291cmNlL1dl
YkNvcmUvY3NzL21lZGlhQ29udHJvbHNHdGsuY3NzCmluZGV4IDU3MjlkNDU4NzIxYTBkODIxZjA5
MGJjZTNlMmZlYmJjMjMzMjhiZDcuLjYxYmExMmE5NWNlMjVhNzYyY2NiZWI1ZjhmNmYwMmUxODYy
YTQ3M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9tZWRpYUNvbnRyb2xzR3RrLmNz
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvbWVkaWFDb250cm9sc0d0ay5jc3MKQEAgLTIyMiw2
ICsyMjIsNjkgQEAgYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdG9nZ2xlLWNsb3NlZC1j
YXB0aW9ucy1idXR0b24sIHZpZGVvOjotd2Via2l0LW1lZGkKICAgICBoZWlnaHQ6IDMwcHg7CiAg
ICAgbGluZS1oZWlnaHQ6IDMwcHg7CiAgICAgbWFyZ2luOiAwIDlweCAwIC03cHg7CisgICAgYmFj
a2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0OworICAgIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVy
OworICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgaWQ9
InN2ZzczODQiIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3lu
dGF4LW5zIyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBoZWlnaHQ9IjE2IiB3
aWR0aD0iMTYiIHZlcnNpb249IjEuMSIgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMu
b3JnL25zIyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj48bWV0
YWRhdGEgaWQ9Im1ldGFkYXRhOTAiPjxyZGY6UkRGPjxjYzpXb3JrIHJkZjphYm91dD0iIj48ZGM6
Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD48ZGM6dHlwZSByZGY6cmVzb3VyY2U9Imh0
dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIi8+PGRjOnRpdGxlPkdub21lIFN5
bWJvbGljIEljb24gVGhlbWU8L2RjOnRpdGxlPjwvY2M6V29yaz48L3JkZjpSREY+PC9tZXRhZGF0
YT48ZyBpZD0ibGF5ZXI5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTAxLC0zNTcpIj48cGF0aCBp
ZD0icGF0aDEyMTQ4IiBzdHlsZT0iYmxvY2stcHJvZ3Jlc3Npb246dGI7Y29sb3I6I2JlYmViZTtk
aXJlY3Rpb246bHRyO3RleHQtaW5kZW50OjA7dGV4dC1hbGlnbjpzdGFydDtlbmFibGUtYmFja2dy
b3VuZDphY2N1bXVsYXRlO3RleHQtdHJhbnNmb3JtOm5vbmU7IiBmaWxsPSIjYmViZWJlIiBkPSJt
MTA0Ljc1LDM1Ny4wNmMtMi4wNjAyLDAtMy43NSwxLjY4OTgtMy43NSwzLjc1djQuNDM3NWMwLDIu
MDYwMiwxLjY4OTgsMy43NSwzLjc1LDMuNzVoNC45Mzc1bDMuNzUsMi42NTYyLDEuNTkzOCwxLjEy
NXYtMS45Njg4bC0wLjAzMTMtMi41YzEuMTEwNi0wLjU5NzE1LDEuOTY4OC0xLjY1MjYsMS45Njg4
LTMuMDYyNXYtNC40Mzc1YzAtMi4wNjAyLTEuNjg5OC0zLjc1LTMuNzUtMy43NWgtOC40Njg4em0w
LDIsOC40Njg4LDBjMC45ODY4LDAsMS43NSwwLjc2MzIsMS43NSwxLjc1djQuNDM3NWMwLDAuODYy
NzMtMC42MzUwOCwxLjU0MS0xLjEyNSwxLjYyNWwtMC44NCwwLjEydjAuODQzNzUsMS4wMzEybC0y
LjQwNjItMS42ODc1LTAuMjUtMC4xODc1aC0wLjMxMjUtNS4yODEyYy0wLjk4NjgsMC0xLjc1LTAu
NzYzMi0xLjc1LTEuNzV2LTQuNDM3NWMwLTAuOTg2OCwwLjc2MzItMS43NSwxLjc1LTEuNzV6Ii8+
PC9nPjwvc3ZnPicpOworfQorCit2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQt
Y2FwdGlvbnMtY29udGFpbmVyIHsKKyAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG1lZGlhLWNsb3Nl
ZC1jYXB0aW9ucy1jb250YWluZXI7CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIGRpc3Bs
YXk6IGJsb2NrOworICAgIHJpZ2h0OiAzOHB4OworICAgIGJvdHRvbTogMzVweDsKKyAgICBtYXgt
d2lkdGg6IC13ZWJraXQtY2FsYygxMDAlIC0gNDhweCk7IC8qIHJpZ2h0ICsgMTBweCAqLworICAg
IG1heC1oZWlnaHQ6IC13ZWJraXQtY2FsYygxMDAlIC0gMzVweCk7IC8qIGJvdHRvbSArIDEwcHgg
Ki8KKyAgICBvdmVyZmxvdy14OiBoaWRkZW47CisgICAgb3ZlcmZsb3cteTogYXV0bzsKKyAgICBi
YWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwLCAyMCwgMjAsIDAuOCk7CisgICAgYm9yZGVyLXJhZGl1
czogMTBweDsKKyAgICBjdXJzb3I6IGRlZmF1bHQ7CisgICAgei1pbmRleDogMjsKK30KKwordmlk
ZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY2xvc2VkLWNhcHRpb25zLXRyYWNrLWxpc3Qgewor
ICAgIGRpc3BsYXk6IGJsb2NrOworICAgIGZvbnQtZmFtaWx5OiAiSGVsdmV0aWNhIEJvbGQiLCBI
ZWx2ZXRpY2E7CisgICAgZm9udC1zaXplOiAxMHB0OworICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6
IG5vbmU7Cit9CisKK3ZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWNsb3NlZC1jYXB0aW9u
cy10cmFjay1saXN0IGgzIHsKKyAgICBtYXJnaW46IDFweCAzMHB4OworICAgIGNvbG9yOiAjNzU3
NTc1OworICAgIHRleHQtc2hhZG93OiAwIDFweCAwIGJsYWNrOworICAgIHBhZGRpbmctdG9wOiAw
cHg7CisgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CisgICAgZm9udC1zaXplOiAxMHB0OworfQorCit2
aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCB1
bCB7CisgICAgbGlzdC1zdHlsZS10eXBlOiBub25lOworICAgIG1hcmdpbjogMCAwIDRweCAwOwor
ICAgIHBhZGRpbmc6IDA7CisgICAgZm9udC13ZWlnaHQ6IGJvbGQ7Cit9CisKK3ZpZGVvOjotd2Vi
a2l0LW1lZGlhLWNvbnRyb2xzLWNsb3NlZC1jYXB0aW9ucy10cmFjay1saXN0IGxpIHsKKyAgICBw
b3NpdGlvbjogcmVsYXRpdmU7CisgICAgY29sb3I6IHdoaXRlOworICAgIGJhY2tncm91bmQtaW1h
Z2U6IG5vbmU7CisgICAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgYmxhY2s7CisgICAgbWFyZ2luOiAw
OworICAgIHBhZGRpbmctbGVmdDogMzdweDsKKyAgICBwYWRkaW5nLXJpZ2h0OiAzNXB4OworICAg
IHBhZGRpbmctdG9wOiAwLjE1ZW07CisgICAgcGFkZGluZy1ib3R0b206IDAuMmVtOworICAgIGJv
eC1zaXppbmc6IGJvcmRlci1ib3g7CisgICAgb3ZlcmZsb3c6IGhpZGRlbjsKKyAgICB3aGl0ZS1z
cGFjZTogbm93cmFwOworICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOworICAgIGJvcmRlci10
b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApOworICAgIGJvcmRlci1ib3R0b206IDFweCBz
b2xpZCByZ2JhKDAsIDAsIDAsIDApOworfQordmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMt
Y2xvc2VkLWNhcHRpb25zLXRyYWNrLWxpc3QgbGkuc2VsZWN0ZWQgeworICAgIGJhY2tncm91bmQt
Y29sb3I6IHJnYmEoMjMwLCAyMzAsIDIzMCwgMC4xNSk7CiB9CiAKIGF1ZGlvOjotd2Via2l0LW1l
ZGlhLWNvbnRyb2xzLWZ1bGxzY3JlZW4tYnV0dG9uLCB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250
cm9scy1mdWxsc2NyZWVuLWJ1dHRvbiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKaW5kZXggYTVhOGRmNDc1NGNkZTJkODcwMzQ0
NDNhNWI3ZGI1MDZhMjYyOWNkMi4uYmY0NmU2M2Q4ZmEyZTJmZGFmMzgwZWFiNDJhZjBhZmM4ZGMx
NTFiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9s
RWxlbWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJv
bEVsZW1lbnRzLmNwcApAQCAtNjc3LDExICs2NzcsMTEgQEAgY29uc3QgQXRvbWljU3RyaW5nJiBN
ZWRpYUNvbnRyb2xSZXR1cm5Ub1JlYWx0aW1lQnV0dG9uRWxlbWVudDo6c2hhZG93UHNldWRvSWQo
KQogCiBNZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQ6Ok1lZGlh
Q29udHJvbFRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uRWxlbWVudChEb2N1bWVudCogZG9jdW1l
bnQsIE1lZGlhQ29udHJvbHMqIGNvbnRyb2xzKQogICAgIDogTWVkaWFDb250cm9sSW5wdXRFbGVt
ZW50KGRvY3VtZW50LCBNZWRpYVNob3dDbG9zZWRDYXB0aW9uc0J1dHRvbikKLSNpZiBQTEFURk9S
TShNQUMpIHx8IFBMQVRGT1JNKFdJTikKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFdJ
TikgfHwgUExBVEZPUk0oR1RLKQogICAgICwgbV9jb250cm9scyhjb250cm9scykKICNlbmRpZgog
ewotI2lmICFQTEFURk9STShNQUMpICYmICFQTEFURk9STShXSU4pCisjaWYgIVBMQVRGT1JNKE1B
QykgJiYgIVBMQVRGT1JNKFdJTikgfHwgIVBMQVRGT1JNKEdUSykKICAgICBVTlVTRURfUEFSQU0o
Y29udHJvbHMpOwogI2VuZGlmCiB9CkBAIC03MTEsNyArNzExLDcgQEAgdm9pZCBNZWRpYUNvbnRy
b2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIo
RXZlbnQqIGUKICAgICAgICAgLy8gVUkuIE5vdCBhbGwgcG9ydHMgbWF5IHdhbnQgdGhlIGNsb3Nl
ZCBjYXB0aW9ucyBidXR0b24gdG8gdG9nZ2xlIGEgbGlzdCBvZiB0cmFja3MsIHNvCiAgICAgICAg
IC8vIHdlIGhhdmUgdG8gdXNlICNpZi4KICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwMTg3NwotI2lmICFQTEFURk9STShNQUMpICYmICFQTEFURk9S
TShXSU4pCisjaWYgIVBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKFdJTikgJiYgIVBMQVRGT1JN
KEdUSykKICAgICAgICAgbWVkaWFDb250cm9sbGVyKCktPnNldENsb3NlZENhcHRpb25zVmlzaWJs
ZSghbWVkaWFDb250cm9sbGVyKCktPmNsb3NlZENhcHRpb25zVmlzaWJsZSgpKTsKICAgICAgICAg
c2V0Q2hlY2tlZChtZWRpYUNvbnRyb2xsZXIoKS0+Y2xvc2VkQ2FwdGlvbnNWaXNpYmxlKCkpOwog
ICAgICAgICB1cGRhdGVEaXNwbGF5VHlwZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmgKaW5kZXggNjgyNjJkMzc3ZDEyNmY4YjJkYTRh
M2U4YWU4ODUzZjFjZmY4OGVmZC4uMzY4YTU4MWY1OTBhNDUzNjBjNDVkYjRlNTU3NDc1NzRlOWFi
ZDFmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9s
RWxlbWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xF
bGVtZW50cy5oCkBAIC0yODAsNyArMjgwLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGNvbnN0
IEF0b21pY1N0cmluZyYgc2hhZG93UHNldWRvSWQoKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0
dWFsIHZvaWQgZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCopIE9WRVJSSURFOwogCi0jaWYgUExB
VEZPUk0oTUFDKSB8fCBQTEFURk9STShXSU4pCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9S
TShXSU4pIHx8IFBMQVRGT1JNKEdUSykKICAgICBNZWRpYUNvbnRyb2xzKiBtX2NvbnRyb2xzOwog
I2VuZGlmCiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFD
b250cm9sc0d0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xz
R3RrLmNwcAppbmRleCA3MjgxODI0NTU4MTBkOWE5MTAwZDEzZjc5OWZlYTBlMzNmYWVjNGQ2Li41
YTQ3MDAzNDFiN2Y5ODhhM2VjMmFlZDM2MDgyMzJkMjg0ZjJmMTExIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzR3RrLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzR3RrLmNwcApAQCAtMzEsMTIgKzMxLDQy
IEBACiAjaWYgRU5BQkxFKFZJREVPKQogI2luY2x1ZGUgIk1lZGlhQ29udHJvbHNHdGsuaCIKIAor
I2luY2x1ZGUgIkNocm9tZS5oIgorI2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIKKwogbmFtZXNwYWNl
IFdlYkNvcmUgewogCitjbGFzcyBNZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lciA6IHB1Ymxp
YyBFdmVudExpc3RlbmVyIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYUNv
bnRyb2xzR3RrRXZlbnRMaXN0ZW5lcj4gY3JlYXRlKE1lZGlhQ29udHJvbHNHdGsqIG1lZGlhQ29u
dHJvbHMpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBNZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5l
cihtZWRpYUNvbnRyb2xzKSk7IH0KKyAgICBzdGF0aWMgY29uc3QgTWVkaWFDb250cm9sc0d0a0V2
ZW50TGlzdGVuZXIqIGNhc3QoY29uc3QgRXZlbnRMaXN0ZW5lciogbGlzdGVuZXIpCisgICAgewor
ICAgICAgICByZXR1cm4gbGlzdGVuZXItPnR5cGUoKSA9PSBHT2JqZWN0RXZlbnRMaXN0ZW5lclR5
cGUKKyAgICAgICAgICAgID8gc3RhdGljX2Nhc3Q8Y29uc3QgTWVkaWFDb250cm9sc0d0a0V2ZW50
TGlzdGVuZXIqPihsaXN0ZW5lcikKKyAgICAgICAgICAgIDogMDsKKyAgICB9CisKKyAgICB2aXJ0
dWFsIGJvb2wgb3BlcmF0b3I9PShjb25zdCBFdmVudExpc3RlbmVyJiBvdGhlcik7CisKK3ByaXZh
dGU6CisgICAgTWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXIoTWVkaWFDb250cm9sc0d0ayog
bWVkaWFDb250cm9scykKKyAgICAgICAgOiBFdmVudExpc3RlbmVyKEdPYmplY3RFdmVudExpc3Rl
bmVyVHlwZSkKKyAgICAgICAgLCBtX21lZGlhQ29udHJvbHMobWVkaWFDb250cm9scykKKyAgICB7
CisgICAgfQorCisgICAgdmlydHVhbCB2b2lkIGhhbmRsZUV2ZW50KFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqLCBFdmVudCopOworCisgICAgTWVkaWFDb250cm9sc0d0ayogbV9tZWRpYUNvbnRyb2xz
OworfTsKKwogTWVkaWFDb250cm9sc0d0azo6TWVkaWFDb250cm9sc0d0ayhEb2N1bWVudCogZG9j
dW1lbnQpCiAgICAgOiBNZWRpYUNvbnRyb2xzKGRvY3VtZW50KQogICAgICwgbV9kdXJhdGlvbkRp
c3BsYXkoMCkKICAgICAsIG1fZW5jbG9zdXJlKDApCisgICAgLCBtX2V2ZW50TGlzdGVuZXIoMCkK
KyAgICAsIG1fY2xvc2VkQ2FwdGlvbnNUcmFja0xpc3QoMCkKKyAgICAsIG1fY2xvc2VkQ2FwdGlv
bnNDb250YWluZXIoMCkKIHsKIH0KIApAQCAtOTEsMTEgKzEyMSwyNCBAQCBib29sIE1lZGlhQ29u
dHJvbHNHdGs6OmluaXRpYWxpemVDb250cm9scyhEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKIAogICAgIGlmIChkb2N1bWVudC0+cGFnZSgpLT50aGVtZSgpLT5zdXBw
b3J0c0Nsb3NlZENhcHRpb25pbmcoKSkgeworICAgICAgICBSZWZQdHI8TWVkaWFDb250cm9sQ2xv
c2VkQ2FwdGlvbnNDb250YWluZXJFbGVtZW50PiBjbG9zZWRDYXB0aW9uc0NvbnRhaW5lciA9IE1l
ZGlhQ29udHJvbENsb3NlZENhcHRpb25zQ29udGFpbmVyRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50
KTsKKworICAgICAgICBSZWZQdHI8TWVkaWFDb250cm9sQ2xvc2VkQ2FwdGlvbnNUcmFja0xpc3RF
bGVtZW50PiBjbG9zZWRDYXB0aW9uc1RyYWNrTGlzdCA9IE1lZGlhQ29udHJvbENsb3NlZENhcHRp
b25zVHJhY2tMaXN0RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50LCB0aGlzKTsKKyAgICAgICAgbV9j
bG9zZWRDYXB0aW9uc1RyYWNrTGlzdCA9IGNsb3NlZENhcHRpb25zVHJhY2tMaXN0LmdldCgpOwor
ICAgICAgICBjbG9zZWRDYXB0aW9uc0NvbnRhaW5lci0+YXBwZW5kQ2hpbGQoY2xvc2VkQ2FwdGlv
bnNUcmFja0xpc3QucmVsZWFzZSgpLCBleGNlcHRpb25Db2RlLCBBdHRhY2hMYXppbHkpOworICAg
ICAgICBpZiAoZXhjZXB0aW9uQ29kZSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAg
ICAgICBSZWZQdHI8TWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50
PiB0b2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbiA9IE1lZGlhQ29udHJvbFRvZ2dsZUNsb3NlZENh
cHRpb25zQnV0dG9uRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50LCB0aGlzKTsKICAgICAgICAgbV90
b2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbiA9IHRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uLmdl
dCgpOwogICAgICAgICBwYW5lbC0+YXBwZW5kQ2hpbGQodG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0
b24ucmVsZWFzZSgpLCBleGNlcHRpb25Db2RlLCBBdHRhY2hMYXppbHkpOwogICAgICAgICBpZiAo
ZXhjZXB0aW9uQ29kZSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBtX2Ns
b3NlZENhcHRpb25zQ29udGFpbmVyID0gY2xvc2VkQ2FwdGlvbnNDb250YWluZXIuZ2V0KCk7Cisg
ICAgICAgIGFwcGVuZENoaWxkKGNsb3NlZENhcHRpb25zQ29udGFpbmVyLnJlbGVhc2UoKSwgZXhj
ZXB0aW9uQ29kZSwgQXR0YWNoTGF6aWx5KTsKKyAgICAgICAgaWYgKGV4Y2VwdGlvbkNvZGUpCisg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCiAgICAgUmVmUHRyPE1lZGlhQ29udHJv
bEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50PiBmdWxsc2NyZWVuQnV0dG9uID0gTWVkaWFDb250cm9s
RnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCk7CkBAIC0xNDcsNiArMTkw
LDEwIEBAIHZvaWQgTWVkaWFDb250cm9sc0d0azo6c2V0TWVkaWFDb250cm9sbGVyKE1lZGlhQ29u
dHJvbGxlckludGVyZmFjZSogY29udHJvbGxlcikKICAgICAgICAgbV9kdXJhdGlvbkRpc3BsYXkt
PnNldE1lZGlhQ29udHJvbGxlcihjb250cm9sbGVyKTsKICAgICBpZiAobV9lbmNsb3N1cmUpCiAg
ICAgICAgIG1fZW5jbG9zdXJlLT5zZXRNZWRpYUNvbnRyb2xsZXIoY29udHJvbGxlcik7CisgICAg
aWYgKG1fY2xvc2VkQ2FwdGlvbnNDb250YWluZXIpCisgICAgICAgIG1fY2xvc2VkQ2FwdGlvbnND
b250YWluZXItPnNldE1lZGlhQ29udHJvbGxlcihjb250cm9sbGVyKTsKKyAgICBpZiAobV9jbG9z
ZWRDYXB0aW9uc1RyYWNrTGlzdCkKKyAgICAgICAgbV9jbG9zZWRDYXB0aW9uc1RyYWNrTGlzdC0+
c2V0TWVkaWFDb250cm9sbGVyKGNvbnRyb2xsZXIpOwogfQogCiB2b2lkIE1lZGlhQ29udHJvbHNH
dGs6OnJlc2V0KCkKQEAgLTE1OSw2ICsyMDYsMTMgQEAgdm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpy
ZXNldCgpCiAgICAgbV9kdXJhdGlvbkRpc3BsYXktPnNldElubmVyVGV4dChwYWdlLT50aGVtZSgp
LT5mb3JtYXRNZWRpYUNvbnRyb2xzVGltZShkdXJhdGlvbiksIEFTU0VSVF9OT19FWENFUFRJT04p
OwogICAgIG1fZHVyYXRpb25EaXNwbGF5LT5zZXRDdXJyZW50VmFsdWUoZHVyYXRpb24pOwogCisg
ICAgaWYgKG1fdG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b24pIHsKKyAgICAgICAgaWYgKG1fbWVk
aWFDb250cm9sbGVyLT5oYXNDbG9zZWRDYXB0aW9ucygpKQorICAgICAgICAgICAgbV90b2dnbGVD
bG9zZWRDYXB0aW9uc0J1dHRvbi0+c2hvdygpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBt
X3RvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uLT5oaWRlKCk7CisgICAgfQorCiAgICAgTWVkaWFD
b250cm9sczo6cmVzZXQoKTsKIH0KIApAQCAtMjA4LDYgKzI2Miw4IEBAIHZvaWQgTWVkaWFDb250
cm9sc0d0azo6bWFrZVRyYW5zcGFyZW50KCkKIAogICAgIGlmIChtX3ZvbHVtZVNsaWRlckNvbnRh
aW5lcikKICAgICAgICAgbV92b2x1bWVTbGlkZXJDb250YWluZXItPmhpZGUoKTsKKworICAgIGhp
ZGVDbG9zZWRDYXB0aW9uVHJhY2tMaXN0KCk7CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sc0d0azo6
c2hvd1ZvbHVtZVNsaWRlcigpCkBAIC0yMzYsNiArMjkyLDkwIEBAIHZvaWQgTWVkaWFDb250cm9s
c0d0azo6Y3JlYXRlVGV4dFRyYWNrRGlzcGxheSgpCiB9CiAjZW5kaWYKIAordm9pZCBNZWRpYUNv
bnRyb2xzR3RrOjp0b2dnbGVDbG9zZWRDYXB0aW9uVHJhY2tMaXN0KCkKK3sKKyAgICBpZiAoIW1f
bWVkaWFDb250cm9sbGVyLT5oYXNDbG9zZWRDYXB0aW9ucygpKQorICAgICAgICByZXR1cm47CisK
KyAgICBpZiAoIW1fY2xvc2VkQ2FwdGlvbnNDb250YWluZXIgfHwgIW1fY2xvc2VkQ2FwdGlvbnNU
cmFja0xpc3QpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChtX2Nsb3NlZENhcHRpb25zQ29u
dGFpbmVyLT5pc1Nob3dpbmcoKSkgeworICAgICAgICBoaWRlQ2xvc2VkQ2FwdGlvblRyYWNrTGlz
dCgpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbV9jbG9zZWRDYXB0aW9uc1RyYWNr
TGlzdC0+dXBkYXRlRGlzcGxheSgpOworICAgIHNob3dDbG9zZWRDYXB0aW9uVHJhY2tMaXN0KCk7
CiB9CiAKK3ZvaWQgTWVkaWFDb250cm9sc0d0azo6c2hvd0Nsb3NlZENhcHRpb25UcmFja0xpc3Qo
KQoreworICAgIG1fdm9sdW1lU2xpZGVyQ29udGFpbmVyLT5oaWRlKCk7CisKKyAgICBpZiAoIW1f
Y2xvc2VkQ2FwdGlvbnNDb250YWluZXIgfHwgbV9jbG9zZWRDYXB0aW9uc0NvbnRhaW5lci0+aXNT
aG93aW5nKCkpCisgICAgICAgIHJldHVybjsKKworICAgIG1fY2xvc2VkQ2FwdGlvbnNDb250YWlu
ZXItPnNob3coKTsKKyAgICBtX3BhbmVsLT5zZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3Bl
cnR5UG9pbnRlckV2ZW50cywgQ1NTVmFsdWVOb25lKTsKKworICAgIFJlZlB0cjxFdmVudExpc3Rl
bmVyPiBsaXN0ZW5lciA9IGV2ZW50TGlzdGVuZXIoKTsKKworICAgIC8vIENoZWNrIGZvciBjbGlj
a3Mgb3V0c2lkZSB0aGUgbWVkaWEtY29udHJvbAorICAgIGRvY3VtZW50KCktPmFkZEV2ZW50TGlz
dGVuZXIoZXZlbnROYW1lcygpLmNsaWNrRXZlbnQsIGxpc3RlbmVyLCB0cnVlKTsKKyAgICAvLyBD
aGVjayBmb3IgY2xpY2tzIGluc2lkZSB0aGUgbWVkaWEtY29udHJvbCBib3gKKyAgICBhZGRFdmVu
dExpc3RlbmVyKGV2ZW50TmFtZXMoKS5jbGlja0V2ZW50LCBsaXN0ZW5lciwgdHJ1ZSk7Cit9CisK
K3ZvaWQgTWVkaWFDb250cm9sc0d0azo6aGlkZUNsb3NlZENhcHRpb25UcmFja0xpc3QoKQorewor
ICAgIGlmICghbV9jbG9zZWRDYXB0aW9uc0NvbnRhaW5lciB8fCAhbV9jbG9zZWRDYXB0aW9uc0Nv
bnRhaW5lci0+aXNTaG93aW5nKCkpCisgICAgICAgIHJldHVybjsKKworICAgIG1fY2xvc2VkQ2Fw
dGlvbnNDb250YWluZXItPmhpZGUoKTsKKyAgICBtX3BhbmVsLT5yZW1vdmVJbmxpbmVTdHlsZVBy
b3BlcnR5KENTU1Byb3BlcnR5UG9pbnRlckV2ZW50cyk7CisKKyAgICBFdmVudExpc3RlbmVyKiBs
aXN0ZW5lciA9IGV2ZW50TGlzdGVuZXIoKS5nZXQoKTsKKworICAgIGRvY3VtZW50KCktPnJlbW92
ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmNsaWNrRXZlbnQsIGxpc3RlbmVyLCB0cnVlKTsK
KyAgICByZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5jbGlja0V2ZW50LCBsaXN0ZW5l
ciwgdHJ1ZSk7Cit9CisKK3ZvaWQgTWVkaWFDb250cm9sc0d0azo6aGFuZGxlQ2xpY2tFdmVudChF
dmVudCAqZXZlbnQpCit7CisgICAgTm9kZSogY3VycmVudFRhcmdldCA9IGV2ZW50LT5jdXJyZW50
VGFyZ2V0KCktPnRvTm9kZSgpOworICAgIE5vZGUqIHRhcmdldCA9IGV2ZW50LT50YXJnZXQoKS0+
dG9Ob2RlKCk7CisKKyAgICBpZiAoKGN1cnJlbnRUYXJnZXQgPT0gZG9jdW1lbnQoKSAmJiAhc2hh
ZG93SG9zdCgpLT5jb250YWlucyh0YXJnZXQpKQorICAgICAgICB8fCAoY3VycmVudFRhcmdldCA9
PSB0aGlzICYmICFtX2Nsb3NlZENhcHRpb25zQ29udGFpbmVyLT5jb250YWlucyh0YXJnZXQpKSkg
eworICAgICAgICBoaWRlQ2xvc2VkQ2FwdGlvblRyYWNrTGlzdCgpOworICAgICAgICBldmVudC0+
c3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7CisgICAgICAgIGV2ZW50LT5zZXREZWZhdWx0SGFu
ZGxlZCgpOworICAgIH0KK30KKworUGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0
ZW5lcj4gTWVkaWFDb250cm9sc0d0azo6ZXZlbnRMaXN0ZW5lcigpCit7CisgICAgaWYgKCFtX2V2
ZW50TGlzdGVuZXIpCisgICAgICAgIG1fZXZlbnRMaXN0ZW5lciA9IE1lZGlhQ29udHJvbHNHdGtF
dmVudExpc3RlbmVyOjpjcmVhdGUodGhpcyk7CisKKyAgICByZXR1cm4gbV9ldmVudExpc3RlbmVy
OworfQorCit2b2lkIE1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyOjpoYW5kbGVFdmVudChT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiwgRXZlbnQqIGV2ZW50KQoreworICAgIGlmIChldmVudC0+
dHlwZSgpID09IGV2ZW50TmFtZXMoKS5jbGlja0V2ZW50KQorICAgICAgICBtX21lZGlhQ29udHJv
bHMtPmhhbmRsZUNsaWNrRXZlbnQoZXZlbnQpOworCisgICAgcmV0dXJuOworfQorCitib29sIE1l
ZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyOjpvcGVyYXRvcj09KGNvbnN0IEV2ZW50TGlzdGVu
ZXImIGxpc3RlbmVyKQoreworICAgIGlmIChjb25zdCBNZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0
ZW5lciogbWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXIgPSBNZWRpYUNvbnRyb2xzR3RrRXZl
bnRMaXN0ZW5lcjo6Y2FzdCgmbGlzdGVuZXIpKQorICAgICAgICByZXR1cm4gbV9tZWRpYUNvbnRy
b2xzID09IG1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyLT5tX21lZGlhQ29udHJvbHM7Cisg
ICAgcmV0dXJuIGZhbHNlOworfQorCit9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L01lZGlhQ29udHJvbHNHdGsuaAppbmRleCAyZWEzMjU5OWY1YzRkN2M5MjQ5MjE2YWY2
MTVjMzU3MTVjNzFjYjQ5Li4xNjAzN2Y2NjEzNDVlYTU1NmE5YWNhNzMzNGI3NmIzMmM1ODRiMmE1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzR3Rr
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sc0d0ay5oCkBA
IC0zNSw2ICszNSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgTWVkaWFDb250
cm9sc0d0a0V2ZW50TGlzdGVuZXI7CisKIGNsYXNzIE1lZGlhQ29udHJvbHNHdGsgOiBwdWJsaWMg
TWVkaWFDb250cm9scyB7CiBwdWJsaWM6CiAgICAgLy8gQ2FsbGVkIGZyb20gcG9ydC1zcGVjaWZp
YyBwYXJlbnQgY3JlYXRlIGZ1bmN0aW9uIHRvIGNyZWF0ZSBjdXN0b20gY29udHJvbHMuCkBAIC00
Nyw2ICs0OSw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQ3VycmVudFRpbWVE
aXNwbGF5KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHNob3dWb2x1bWVTbGlkZXIoKSBP
VkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgbWFrZVRyYW5zcGFyZW50KCkgT1ZFUlJJREU7Cisg
ICAgdmlydHVhbCB2b2lkIHRvZ2dsZUNsb3NlZENhcHRpb25UcmFja0xpc3QoKSBPVkVSUklERTsK
KworICAgIHZvaWQgaGFuZGxlQ2xpY2tFdmVudChFdmVudCopOwogCiAjaWYgRU5BQkxFKFZJREVP
X1RSQUNLKQogICAgIHZvaWQgY3JlYXRlVGV4dFRyYWNrRGlzcGxheSgpIE9WRVJSSURFOwpAQCAt
NTQsMTMgKzU5LDIxIEBAIHB1YmxpYzoKIAogcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0IE1lZGlh
Q29udHJvbHNHdGsoRG9jdW1lbnQqKTsKLQogICAgIGJvb2wgaW5pdGlhbGl6ZUNvbnRyb2xzKERv
Y3VtZW50Kik7CiAKIHByaXZhdGU6CisgICAgdm9pZCBzaG93Q2xvc2VkQ2FwdGlvblRyYWNrTGlz
dCgpOworICAgIHZvaWQgaGlkZUNsb3NlZENhcHRpb25UcmFja0xpc3QoKTsKKworICAgIFBhc3NS
ZWZQdHI8TWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXI+IGV2ZW50TGlzdGVuZXIoKTsKKwog
ICAgIE1lZGlhQ29udHJvbFRpbWVSZW1haW5pbmdEaXNwbGF5RWxlbWVudCogbV9kdXJhdGlvbkRp
c3BsYXk7CiAgICAgTWVkaWFDb250cm9sUGFuZWxFbmNsb3N1cmVFbGVtZW50KiBtX2VuY2xvc3Vy
ZTsKICAgICBNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJDb250YWluZXJFbGVtZW50KiBtX3ZvbHVt
ZVNsaWRlckNvbnRhaW5lcjsKKyAgICBNZWRpYUNvbnRyb2xDbG9zZWRDYXB0aW9uc1RyYWNrTGlz
dEVsZW1lbnQqIG1fY2xvc2VkQ2FwdGlvbnNUcmFja0xpc3Q7CisgICAgTWVkaWFDb250cm9sQ2xv
c2VkQ2FwdGlvbnNDb250YWluZXJFbGVtZW50KiBtX2Nsb3NlZENhcHRpb25zQ29udGFpbmVyOwor
CisgICAgUmVmUHRyPE1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyPiBtX2V2ZW50TGlzdGVu
ZXI7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2Vy
UHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVu
Y2VzLmNwcAppbmRleCAyNTBlYTU1OWQyMTNiNjkxZWM3ZDI0N2FjODA3OWIzNDI1NjQyNTgwLi4y
ODg5YmIyNmZkMmJjYWEyMjQwZTE4YTI5NmNiZjFlMzEyZjU2MzI4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAKQEAgLTE1Nyw2ICsxNTcsOSBA
QCB2b2lkIENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6OnNldFByZWZlcnJlZExhbmd1YWdlKGNvbnN0
IFN0cmluZyYgbGFuZ3VhZ2UpCiAKIHN0YXRpYyBTdHJpbmcgdHJhY2tEaXNwbGF5TmFtZShUZXh0
VHJhY2sqIHRyYWNrKQogeworICAgIGlmICh0cmFjayA9PSBUZXh0VHJhY2s6OmNhcHRpb25NZW51
T2ZmSXRlbSgpKQorICAgICAgICByZXR1cm4gdGV4dFRyYWNrT2ZmTWVudUl0ZW1UZXh0KCk7CisK
ICAgICBpZiAodHJhY2stPmxhYmVsKCkuaXNFbXB0eSgpICYmIHRyYWNrLT5sYW5ndWFnZSgpLmlz
RW1wdHkoKSkKICAgICAgICAgcmV0dXJuIHRleHRUcmFja05vTGFiZWxUZXh0KCk7CiAgICAgaWYg
KCF0cmFjay0+bGFiZWwoKS5pc0VtcHR5KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ndGsvTG9jYWxpemVkU3RyaW5nc0d0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ndGsvTG9jYWxpemVkU3RyaW5nc0d0ay5jcHAKaW5kZXggOTQ5N2NhMjIwMmY3ZjhkOWU4
N2ZjNmYxYjFiZWFkOWMxNjU4MzY0Zi4uMWEyMDdjMzUzMzFhMThhYTg3MmMyNDlkY2ViZTllYjY0
OTk0NjhmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0xvY2FsaXpl
ZFN0cmluZ3NHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9Mb2NhbGl6
ZWRTdHJpbmdzR3RrLmNwcApAQCAtNzkwLDE3ICs3OTAsMTcgQEAgU3RyaW5nIHRleHRUcmFja0Ns
b3NlZENhcHRpb25zVGV4dCgpCiAKIFN0cmluZyB0ZXh0VHJhY2tTdWJ0aXRsZXNUZXh0KCkKIHsK
LSAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChDXygiU3VidGl0bGVzIiwgIk1lbnUgc2VjdGlv
biBoZWFkaW5nIGZvciBzdWJ0aXRsZXMiKSk7CisgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgo
Q18oIk1lbnUgc2VjdGlvbiBoZWFkaW5nIGZvciBzdWJ0aXRsZXMiLCAiU3VidGl0bGVzIikpOwog
fQogCiBTdHJpbmcgdGV4dFRyYWNrT2ZmTWVudUl0ZW1UZXh0KCkKIHsKLSAgICByZXR1cm4gU3Ry
aW5nOjpmcm9tVVRGOChDXygiT2ZmIiwgIk1lbnUgaXRlbSBsYWJlbCBmb3IgdGhlIHRyYWNrIHRo
YXQgcmVwcmVzZW50cyBkaXNhYmxpbmcgY2xvc2VkIGNhcHRpb25zIikpOworICAgIHJldHVybiBT
dHJpbmc6OmZyb21VVEY4KENfKCJNZW51IGl0ZW0gbGFiZWwgZm9yIHRoZSB0cmFjayB0aGF0IHJl
cHJlc2VudHMgZGlzYWJsaW5nIGNsb3NlZCBjYXB0aW9ucyIsICJPZmYiKSk7CiB9CiAKIFN0cmlu
ZyB0ZXh0VHJhY2tOb0xhYmVsVGV4dCgpCiB7Ci0gICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgo
Q18oIk5vIGxhYmVsIiwgIk1lbnUgaXRlbSBsYWJlbCBmb3IgYSBjbG9zZWQgY2FwdGlvbnMgdHJh
Y2sgdGhhdCBoYXMgbm8gb3RoZXIgbmFtZSIpKTsKKyAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRG
OChDXygiTWVudSBpdGVtIGxhYmVsIGZvciBhIGNsb3NlZCBjYXB0aW9ucyB0cmFjayB0aGF0IGhh
cyBubyBvdGhlciBuYW1lIiwgIk5vIGxhYmVsIikpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0ay5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrLmgKaW5kZXggYThjOTczNWM3MDczNTM2
YjNhMjI5MmU4NjA0YTQ3NmU3MmI1NzNkMC4uNWU1MzQ3NjQwOTVhODEwMDcwYmRiZDZmYTM2MmVl
YmYzNmNkYTExMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1JlbmRl
clRoZW1lR3RrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1l
R3RrLmgKQEAgLTg3LDYgKzg3LDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShWSURFTykKICAgICB2
aXJ0dWFsIFN0cmluZyBleHRyYU1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCk7CiAgICAgdmlydHVh
bCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc0N1cnJlbnRUaW1lKGZsb2F0IGN1cnJlbnRUaW1l
LCBmbG9hdCBkdXJhdGlvbikgY29uc3Q7CisgICAgdmlydHVhbCBib29sIHN1cHBvcnRzQ2xvc2Vk
Q2FwdGlvbmluZygpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIHRydWU7IH0KIAogI2lmIEVOQUJM
RShGVUxMU0NSRUVOX0FQSSkKICAgICB2aXJ0dWFsIFN0cmluZyBleHRyYUZ1bGxTY3JlZW5TdHls
ZVNoZWV0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRTZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRTZXR0aW5ncy5jcHAKaW5kZXggNTNhNTQ3YTFmYjRmZjM1OWIwNzY4NDU4YTcxNDU0NGM3NTAz
N2MzYi4uMWVlM2ZiMjM0ODg5ZmM0YmM4ZjEwZjQyYzhlM2VjNzg2NDFkNzY0MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmNwcApA
QCAtMTQzLDYgKzE0Myw4IEBAIHN0YXRpYyB2b2lkIHdlYktpdFNldHRpbmdzQ29uc3RydWN0ZWQo
R09iamVjdCogb2JqZWN0KQogICAgIEdfT0JKRUNUX0NMQVNTKHdlYmtpdF9zZXR0aW5nc19wYXJl
bnRfY2xhc3MpLT5jb25zdHJ1Y3RlZChvYmplY3QpOwogCiAgICAgV2ViUHJlZmVyZW5jZXMqIHBy
ZWZzID0gV0VCS0lUX1NFVFRJTkdTKG9iamVjdCktPnByaXYtPnByZWZlcmVuY2VzLmdldCgpOwor
ICAgIHByZWZzLT5zZXRTaG91bGREaXNwbGF5U3VidGl0bGVzKHRydWUpOworCiAgICAgRXhwZXJp
bWVudGFsRmVhdHVyZXMgZmVhdHVyZXM7CiAgICAgYm9vbCByZWdpb25CYXNlZENvbHVtbnNFbmFi
bGVkID0gZmVhdHVyZXMuaXNFbmFibGVkKEV4cGVyaW1lbnRhbEZlYXR1cmVzOjpSZWdpb25CYXNl
ZENvbHVtbnMpOwogICAgIGlmIChwcmVmcy0+cmVnaW9uQmFzZWRDb2x1bW5zRW5hYmxlZCgpICE9
IHJlZ2lvbkJhc2VkQ29sdW1uc0VuYWJsZWQpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNjY4MGFhMTI3ZGEwZjkxYmJhZjMz
NDdkOGE2ZjUwOTJhZDQwMGQ2ZS4uZGY1Y2Q0ZmVkM2U0Njk4OTQzN2MxYzllYmUwMWQ0MmZjNjVi
Mzk5MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEzLTA4LTIzICBEYW5pbG8gQ2VzYXIgTGVt
ZXMgZGUgUGF1bGEgIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgorCisgICAgICAgIFtX
SzJdW0dUS10gYWRkIHN1cHBvcnQgZm9yIHN1YnRpdGxlcyBvbiB3ZWJraXQyR1RLCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTcwMDgKKworICAgICAg
ICBCeSBhY3RpdmF0aW5nIHN1YnRpdGxlcyBzdXBwb3J0IG9uIHdlYmtpdDJHVEssIHRoZSB2aWRl
byBwbGF5ZXIKKyAgICAgICAgcmVjb2duaXplcyBhbmQgdXNlIHRleHQgPHRyYWNrcz4gaW5zaWRl
IDx2aWRlbz4gZWxlbWVudHMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxMy0wOC0x
OCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgPGh0dHBzOi8v
d2Via2l0Lm9yZy9iLzExOTk2Mz4gVXNlIFRleHROb2RlVHJhdmVyc2FsIGZvciBnZXR0aW5nIHNo
ZWV0IHRleHQgaW4gU3R5bGVFbGVtZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IDg0YTAyYzYyMmZmZjcxZDRiMTc0NzNjYTVmZDYwNTNmMDMyMDA2YWQu
LjA5MjhmZmY2ODJhYjVlNTQ2YmFhYzUyYzJmMmYwYzY2YjFiOGE5ZjEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC03ODUsMTUgKzc4NSw2IEBAIEJ1ZyhH
VEspIG1lZGlhL3Byb2dyZXNzLWV2ZW50cy1nZW5lcmF0ZWQtY29ycmVjdGx5Lmh0bWwgWyBGYWls
dXJlIFRpbWVvdXQgXQogCiB3ZWJraXQub3JnL2IvMTAyMjU3IGZhc3QvZG9tL1dpbmRvdy9vcGVu
LXdpbmRvdy1taW4tc2l6ZS5odG1sIFsgVGltZW91dCBdCiAKLSMgR1RLIHN0aWxsIGhhcyB0aGUg
Q0MgdG9nZ2xlIGJ1dHRvbiwgbm90IHRoZSBtZW51IG9mIHRyYWNrcy4KLXdlYmtpdC5vcmcvYi8x
MDE2NzAgbWVkaWEvdmlkZW8tY29udHJvbHMtY2FwdGlvbnMtdHJhY2ttZW51Lmh0bWwgWyBTa2lw
IF0KLXdlYmtpdC5vcmcvYi8xMDE2NzAgbWVkaWEvdmlkZW8tY29udHJvbHMtY2FwdGlvbnMtdHJh
Y2ttZW51LXNvcnRlZC5odG1sIFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMTAxNjcwIG1lZGlhL3Zp
ZGVvLWNvbnRyb2xzLWNhcHRpb25zLXRyYWNrbWVudS1sb2NhbGl6ZWQuaHRtbCBbIFNraXAgXQot
d2Via2l0Lm9yZy9iLzEwMTY3MCBtZWRpYS92aWRlby1jb250cm9scy1jYXB0aW9ucy10cmFja21l
bnUtaGlkZS1vbi1jbGljay5odG1sIFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMTAxNjcwIG1lZGlh
L3ZpZGVvLWNvbnRyb2xzLWNhcHRpb25zLXRyYWNrbWVudS1oaWRlLW9uLWNsaWNrLW91dHNpZGUu
aHRtbCBbIFNraXAgXQotd2Via2l0Lm9yZy9iLzEwMTY3MCBtZWRpYS90cmFjay90cmFjay11c2Vy
LXByZWZlcmVuY2VzLmh0bWwgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi8xMDE2NzAgbWVkaWEvdmlk
ZW8tY29udHJvbHMtY2FwdGlvbnMtdHJhY2ttZW51LWluY2x1ZGVzLWVuYWJsZWQtdHJhY2suaHRt
bCBbIFNraXAgXQotCiB3ZWJraXQub3JnL2IvMTA3MTk0IHN0b3JhZ2UvaW5kZXhlZGRiL2RhdGFi
YXNlLXF1b3RhLmh0bWwgWyBUaW1lb3V0IF0KIHdlYmtpdC5vcmcvYi8xMDcxOTQgc3RvcmFnZS9p
bmRleGVkZGIvcGVuZGluZy1hY3Rpdml0eS13b3JrZXJzLmh0bWwgWyBUaW1lb3V0IF0KIHdlYmtp
dC5vcmcvYi8xMDcxOTQgc3RvcmFnZS9pbmRleGVkZGIvcGVuZGluZy12ZXJzaW9uLWNoYW5nZS1v
bi1leGl0Lmh0bWwgWyBUaW1lb3V0IF0KQEAgLTkwMCw2ICs4OTEsMTEgQEAgd2Via2l0Lm9yZy9i
LzQ0NDc4IGZhc3QvdGV4dC9oeXBoZW4tbWluLXByZWZlcnJlZC13aWR0aC5odG1sIFsgU2tpcCBd
CiAjIExheW91dFRlc3RDb250cm9sbGVyOjphcHBsaWNhdGlvbkNhY2hlRGlza1VzYWdlRm9yT3Jp
Z2luIGlzbid0IGltcGxlbWVudGVkLgogd2Via2l0Lm9yZy9iLzU3MTI3IGh0dHAvdGVzdHMvYXBw
Y2FjaGUvb3JpZ2luLXVzYWdlLmh0bWwgWyBGYWlsdXJlIF0KIAorIyBHVEsgaXMgbW92aW5nIGZy
b20gdG9nZ2xlIGJ1dHRvbiB0byBhIG1lbnUgb2YgdHJhY2tzLgord2Via2l0Lm9yZy9iLzEwMTY3
MCBtZWRpYS92aWRlby1jb250cm9scy1jYXB0aW9ucy10cmFja21lbnUuaHRtbCBbIEZhaWx1cmUg
XQord2Via2l0Lm9yZy9iLzEwMTY3MCBtZWRpYS90cmFjay90cmFjay11c2VyLXByZWZlcmVuY2Vz
Lmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi8xMDE2NzAgbWVkaWEvdmlkZW8tY29udHJv
bHMtY2FwdGlvbnMtdHJhY2ttZW51LWluY2x1ZGVzLWVuYWJsZWQtdHJhY2suaHRtbCBbIEZhaWx1
cmUgXQorCiBCdWcoR1RLKSBodHRwL3Rlc3RzL2xvYWRpbmcvYmFkLXNjaGVtZS1zdWJmcmFtZS5o
dG1sIFsgRmFpbHVyZSBdCiAKICMgTmVlZGVkIHRvIGNvdmVyIHRoZSBmaXggZm9yIDxyZGFyOi8v
cHJvYmxlbS82NzI3NDk1PgpAQCAtMTIwOCw2ICsxMjA0LDcgQEAgd2Via2l0Lm9yZy9iLzg5NjYz
IGVkaXRpbmcvZGVsZXRpbmcvZGVsZXRlLTM4MDA4MzQtZml4Lmh0bWwgWyBGYWlsdXJlIF0KIAog
d2Via2l0Lm9yZy9iLzg3MzU1IGNhbnZhcy9waGlsaXAvdGVzdHMvMmQudGV4dC5kcmF3LmZvbnRm
YWNlLm5vdGlucGFnZS5odG1sIFsgRmFpbHVyZSBdCiAKKyMgR1RLIGlzIG1vdmluZyBmcm9tIHRo
ZSBzaW1wbGUgdG9nZ2xlIGJ1dHRvbiB0byBhIG1lbnUgb2YgdHJhY2tzCiB3ZWJraXQub3JnL2Iv
OTU0MjggbWVkaWEvdmlkZW8tY29udHJvbHMtY2FwdGlvbnMuaHRtbCBbIEZhaWx1cmUgXQogCiB3
ZWJraXQub3JnL2IvOTU0Mjkgc3ZnL2N1c3RvbS9jbGFtcGVkLW1hc2tpbmctY2xpcHBpbmcuc3Zn
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>210281</attachid>
            <date>2013-09-02 06:48:25 -0700</date>
            <delta_ts>2013-09-03 03:37:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117008-20130902104819.patch</filename>
            <type>text/plain</type>
            <size>24562</size>
            <attacher name="Danilo de Paula">danilo.eu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0OTUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmYxNDE3YzI3ZWFjNzkz
YzQ5NDg4ZWRmZThmMjFkOWUwOWJhNjZjMy4uMzQ3YzIxMDI1M2YwMmNlMzE0NGNhMWU2ZGZmYjg5
Mzc3OWFlYjJkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDEzLTA4LTIzICBEYW5p
bG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgor
CisgICAgICAgIFtXSzJdW0dUS10gYWRkIHN1cHBvcnQgZm9yIHN1YnRpdGxlcyBvbiB3ZWJraXQy
R1RLCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTcw
MDgKKworICAgICAgICBCeSBhY3RpdmF0aW5nIHN1YnRpdGxlcyBzdXBwb3J0IG9uIHdlYmtpdDJH
VEssIHRoZSB2aWRlbyBwbGF5ZXIKKyAgICAgICAgcmVjb2duaXplcyBhbmQgdXNlIHRleHQgPHRy
YWNrcz4gaW5zaWRlIDx2aWRlbz4gZWxlbWVudHMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTGF5b3V0IHRlc3RzICh0cmFjay1tZW51KSBzaG91bGQg
Y292ZXIgdGhpcyBjaGFuZ2UuCisKKyAgICAgICAgKiBjc3MvbWVkaWFDb250cm9sc0d0ay5jc3M6
CisgICAgICAgIChhdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10b2dnbGUtY2xvc2VkLWNh
cHRpb25zLWJ1dHRvbiwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdG9nZ2xlLWNsb3Nl
ZC1jYXB0aW9ucy1idXR0b24pOgorICAgICAgICAodmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJv
bHMtY2xvc2VkLWNhcHRpb25zLWNvbnRhaW5lcik6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1t
ZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCk6CisgICAgICAgICh2aWRl
bzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBoMyk6
CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMt
dHJhY2stbGlzdCB1bCk6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1j
bG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBsaSk6CisgICAgICAgICh2aWRlbzo6LXdlYmtpdC1t
ZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBsaS5zZWxlY3RlZCk6Cisg
ICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50OjpN
ZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50Ojpk
ZWZhdWx0RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xF
bGVtZW50cy5oOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXI6OmNyZWF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lcjo6Y2FzdCk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lcjo6TWVkaWFD
b250cm9sc0d0a0V2ZW50TGlzdGVuZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9s
c0d0azo6TWVkaWFDb250cm9sc0d0ayk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xz
R3RrOjppbml0aWFsaXplQ29udHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9s
c0d0azo6c2V0TWVkaWFDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJv
bHNHdGs6OnJlc2V0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbHNHdGs6Om1ha2VU
cmFuc3BhcmVudCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzR3RrOjp0b2dnbGVD
bG9zZWRDYXB0aW9uVHJhY2tMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbHNH
dGs6OnNob3dDbG9zZWRDYXB0aW9uVHJhY2tMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
Q29udHJvbHNHdGs6OmhpZGVDbG9zZWRDYXB0aW9uVHJhY2tMaXN0KToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhQ29udHJvbHNHdGs6OmhhbmRsZUNsaWNrRXZlbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFDb250cm9sc0d0azo6ZXZlbnRMaXN0ZW5lcik6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lcjo6aGFuZGxlRXZlbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXI6Om9wZXJhdG9yPT0pOgorICAgICAg
ICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuaDoKKyAgICAgICAgKiBwYWdlL0NhcHRp
b25Vc2VyUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dHJhY2tEaXNwbGF5TmFt
ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL0xvY2FsaXplZFN0cmluZ3NHdGsuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6dGV4dFRyYWNrU3VidGl0bGVzVGV4dCk6CisgICAgICAgIChXZWJDb3Jl
Ojp0ZXh0VHJhY2tPZmZNZW51SXRlbVRleHQpOgorICAgICAgICAoV2ViQ29yZTo6dGV4dFRyYWNr
Tm9MYWJlbFRleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0ay5oOgor
CiAyMDEzLTA4LTE4ICBEYW5pbG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgIDxkYW5pbG8uY2VzYXJA
Y29sbGFib3JhLmNvLnVrPgogCiAgICAgICAgIFtFRkxdIG1pbm9yIG1ldGhvZCBuYW1lIGZpeCBm
b3IgdGhlIHRleHRUcmFja09mZk1lbnVJdGVtVGV4dCBtZXRob2QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBmNDEw
NGFmZjljMjA1YjZlOGI5YTMwZmI1MWYyNDBlNjk0ZWRmOWIwLi45MWFmNTBiNTUyMDVmNDY3ZTVh
YWZkM2E3ZGQ5NTNiYWYwODUwOWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMt
MDgtMTggIERhbmlsbyBDZXNhciBMZW1lcyBkZSBQYXVsYSAgPGRhbmlsby5jZXNhckBjb2xsYWJv
cmEuY28udWs+CisKKyAgICAgICAgW1dLMl1bR1RLXSBhZGQgc3VwcG9ydCBmb3Igc3VidGl0bGVz
IG9uIHdlYmtpdDJHVEsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExNzAwOAorCisgICAgICAgIEJ5IGFjdGl2YXRpbmcgc3VidGl0bGVzIHN1cHBvcnQg
b24gd2Via2l0MkdUSywgdGhlIHZpZGVvIHBsYXllcgorICAgICAgICByZWNvZ25pemVzIGFuZCB1
c2UgdGV4dCA8dHJhY2tzPiBpbnNpZGUgPHZpZGVvPiBlbGVtZW50cy4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFNldHRpbmdzLmNwcDoKKyAgICAgICAgKHdlYmtpdF9zZXR0aW5nc19jbGFzc19pbml0KToK
KyAgICAgICAgKHdlYmtpdF9zZXR0aW5nc19uZXcpOgorCiAyMDEzLTA5LTAxICBBbGV4ZXkgUHJv
c2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFtXSzJdW01hY10gRHJhZyBhbmQg
ZHJvcCB0ZXN0cyBpbnRlcmZlcmUgd2l0aCB1c2VyJ3MgVUkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9tZWRpYUNvbnRyb2xzR3RrLmNzcyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9tZWRp
YUNvbnRyb2xzR3RrLmNzcwppbmRleCA1NzI5ZDQ1ODcyMWEwZDgyMWYwOTBiY2UzZTJmZWJiYzIz
MzI4YmQ3Li42MWJhMTJhOTVjZTI1YTc2MmNjYmViNWY4ZjZmMDJlMTg2MmE0NzNhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvbWVkaWFDb250cm9sc0d0ay5jc3MKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL21lZGlhQ29udHJvbHNHdGsuY3NzCkBAIC0yMjIsNiArMjIyLDY5IEBAIGF1
ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXRvZ2dsZS1jbG9zZWQtY2FwdGlvbnMtYnV0dG9u
LCB2aWRlbzo6LXdlYmtpdC1tZWRpCiAgICAgaGVpZ2h0OiAzMHB4OwogICAgIGxpbmUtaGVpZ2h0
OiAzMHB4OwogICAgIG1hcmdpbjogMCA5cHggMCAtN3B4OworICAgIGJhY2tncm91bmQtcmVwZWF0
Om5vLXJlcGVhdDsKKyAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlcjsKKyAgICBiYWNrZ3Jv
dW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIGlkPSJzdmc3Mzg0IiB4bWxu
czpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiIHhtbG5z
PSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgaGVpZ2h0PSIxNiIgd2lkdGg9IjE2IiB2ZXJz
aW9uPSIxLjEiIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiIHhtbG5z
OmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+PG1ldGFkYXRhIGlkPSJtZXRh
ZGF0YTkwIj48cmRmOlJERj48Y2M6V29yayByZGY6YWJvdXQ9IiI+PGRjOmZvcm1hdD5pbWFnZS9z
dmcreG1sPC9kYzpmb3JtYXQ+PGRjOnR5cGUgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcv
ZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIvPjxkYzp0aXRsZT5Hbm9tZSBTeW1ib2xpYyBJY29uIFRo
ZW1lPC9kYzp0aXRsZT48L2NjOldvcms+PC9yZGY6UkRGPjwvbWV0YWRhdGE+PGcgaWQ9ImxheWVy
OSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEwMSwtMzU3KSI+PHBhdGggaWQ9InBhdGgxMjE0OCIg
c3R5bGU9ImJsb2NrLXByb2dyZXNzaW9uOnRiO2NvbG9yOiNiZWJlYmU7ZGlyZWN0aW9uOmx0cjt0
ZXh0LWluZGVudDowO3RleHQtYWxpZ246c3RhcnQ7ZW5hYmxlLWJhY2tncm91bmQ6YWNjdW11bGF0
ZTt0ZXh0LXRyYW5zZm9ybTpub25lOyIgZmlsbD0iI2JlYmViZSIgZD0ibTEwNC43NSwzNTcuMDZj
LTIuMDYwMiwwLTMuNzUsMS42ODk4LTMuNzUsMy43NXY0LjQzNzVjMCwyLjA2MDIsMS42ODk4LDMu
NzUsMy43NSwzLjc1aDQuOTM3NWwzLjc1LDIuNjU2MiwxLjU5MzgsMS4xMjV2LTEuOTY4OGwtMC4w
MzEzLTIuNWMxLjExMDYtMC41OTcxNSwxLjk2ODgtMS42NTI2LDEuOTY4OC0zLjA2MjV2LTQuNDM3
NWMwLTIuMDYwMi0xLjY4OTgtMy43NS0zLjc1LTMuNzVoLTguNDY4OHptMCwyLDguNDY4OCwwYzAu
OTg2OCwwLDEuNzUsMC43NjMyLDEuNzUsMS43NXY0LjQzNzVjMCwwLjg2MjczLTAuNjM1MDgsMS41
NDEtMS4xMjUsMS42MjVsLTAuODQsMC4xMnYwLjg0Mzc1LDEuMDMxMmwtMi40MDYyLTEuNjg3NS0w
LjI1LTAuMTg3NWgtMC4zMTI1LTUuMjgxMmMtMC45ODY4LDAtMS43NS0wLjc2MzItMS43NS0xLjc1
di00LjQzNzVjMC0wLjk4NjgsMC43NjMyLTEuNzUsMS43NS0xLjc1eiIvPjwvZz48L3N2Zz4nKTsK
K30KKwordmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY2xvc2VkLWNhcHRpb25zLWNvbnRh
aW5lciB7CisgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBtZWRpYS1jbG9zZWQtY2FwdGlvbnMtY29u
dGFpbmVyOworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICBkaXNwbGF5OiBibG9jazsKKyAg
ICByaWdodDogMzhweDsKKyAgICBib3R0b206IDM1cHg7CisgICAgbWF4LXdpZHRoOiAtd2Via2l0
LWNhbGMoMTAwJSAtIDQ4cHgpOyAvKiByaWdodCArIDEwcHggKi8KKyAgICBtYXgtaGVpZ2h0OiAt
d2Via2l0LWNhbGMoMTAwJSAtIDM1cHgpOyAvKiBib3R0b20gKyAxMHB4ICovCisgICAgb3ZlcmZs
b3cteDogaGlkZGVuOworICAgIG92ZXJmbG93LXk6IGF1dG87CisgICAgYmFja2dyb3VuZC1jb2xv
cjogcmdiYSgyMCwgMjAsIDIwLCAwLjgpOworICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CisgICAg
Y3Vyc29yOiBkZWZhdWx0OworICAgIHotaW5kZXg6IDI7Cit9CisKK3ZpZGVvOjotd2Via2l0LW1l
ZGlhLWNvbnRyb2xzLWNsb3NlZC1jYXB0aW9ucy10cmFjay1saXN0IHsKKyAgICBkaXNwbGF5OiBi
bG9jazsKKyAgICBmb250LWZhbWlseTogIkhlbHZldGljYSBCb2xkIiwgSGVsdmV0aWNhOworICAg
IGZvbnQtc2l6ZTogMTBwdDsKKyAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOworfQorCit2
aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBo
MyB7CisgICAgbWFyZ2luOiAxcHggMzBweDsKKyAgICBjb2xvcjogIzc1NzU3NTsKKyAgICB0ZXh0
LXNoYWRvdzogMCAxcHggMCBibGFjazsKKyAgICBwYWRkaW5nLXRvcDogMHB4OworICAgIGZvbnQt
d2VpZ2h0OiBib2xkOworICAgIGZvbnQtc2l6ZTogMTBwdDsKK30KKwordmlkZW86Oi13ZWJraXQt
bWVkaWEtY29udHJvbHMtY2xvc2VkLWNhcHRpb25zLXRyYWNrLWxpc3QgdWwgeworICAgIGxpc3Qt
c3R5bGUtdHlwZTogbm9uZTsKKyAgICBtYXJnaW46IDAgMCA0cHggMDsKKyAgICBwYWRkaW5nOiAw
OworICAgIGZvbnQtd2VpZ2h0OiBib2xkOworfQorCit2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250
cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBsaSB7CisgICAgcG9zaXRpb246IHJlbGF0
aXZlOworICAgIGNvbG9yOiB3aGl0ZTsKKyAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOworICAg
IHRleHQtc2hhZG93OiAwIDFweCAwIGJsYWNrOworICAgIG1hcmdpbjogMDsKKyAgICBwYWRkaW5n
LWxlZnQ6IDM3cHg7CisgICAgcGFkZGluZy1yaWdodDogMzVweDsKKyAgICBwYWRkaW5nLXRvcDog
MC4xNWVtOworICAgIHBhZGRpbmctYm90dG9tOiAwLjJlbTsKKyAgICBib3gtc2l6aW5nOiBib3Jk
ZXItYm94OworICAgIG92ZXJmbG93OiBoaWRkZW47CisgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsK
KyAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKKyAgICBib3JkZXItdG9wOiAxcHggc29saWQg
cmdiYSgwLCAwLCAwLCAwKTsKKyAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAw
LCAwLCAwKTsKK30KK3ZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWNsb3NlZC1jYXB0aW9u
cy10cmFjay1saXN0IGxpLnNlbGVjdGVkIHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIz
MCwgMjMwLCAyMzAsIDAuMTUpOwogfQogCiBhdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1m
dWxsc2NyZWVuLWJ1dHRvbiwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtZnVsbHNjcmVl
bi1idXR0b24gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFD
b250cm9sRWxlbWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250
cm9sRWxlbWVudHMuY3BwCmluZGV4IGY3ZDcyYzUyMGZjZmI3OWFjMjcwYzg1NTI3OWQwYzJkNDFj
MDA5YWUuLjBjMDBiNjkwMzZhNGExMDk1ODQ2ODU4MTI3NWJhZTdiMjkwZjViZTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAK
QEAgLTY3NywxMSArNjc3LDExIEBAIGNvbnN0IEF0b21pY1N0cmluZyYgTWVkaWFDb250cm9sUmV0
dXJuVG9SZWFsdGltZUJ1dHRvbkVsZW1lbnQ6OnNoYWRvd1BzZXVkb0lkKCkKIAogTWVkaWFDb250
cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50OjpNZWRpYUNvbnRyb2xUb2dnbGVD
bG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBNZWRpYUNvbnRy
b2xzKiBjb250cm9scykKICAgICA6IE1lZGlhQ29udHJvbElucHV0RWxlbWVudChkb2N1bWVudCwg
TWVkaWFTaG93Q2xvc2VkQ2FwdGlvbnNCdXR0b24pCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFU
Rk9STShXSU4pCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JN
KEdUSykKICAgICAsIG1fY29udHJvbHMoY29udHJvbHMpCiAjZW5kaWYKIHsKLSNpZiAhUExBVEZP
Uk0oTUFDKSAmJiAhUExBVEZPUk0oV0lOKQorI2lmICFQTEFURk9STShNQUMpICYmICFQTEFURk9S
TShXSU4pIHx8ICFQTEFURk9STShHVEspCiAgICAgVU5VU0VEX1BBUkFNKGNvbnRyb2xzKTsKICNl
bmRpZgogfQpAQCAtNzExLDcgKzcxMSw3IEBAIHZvaWQgTWVkaWFDb250cm9sVG9nZ2xlQ2xvc2Vk
Q2FwdGlvbnNCdXR0b25FbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBlCiAgICAg
ICAgIC8vIFVJLiBOb3QgYWxsIHBvcnRzIG1heSB3YW50IHRoZSBjbG9zZWQgY2FwdGlvbnMgYnV0
dG9uIHRvIHRvZ2dsZSBhIGxpc3Qgb2YgdHJhY2tzLCBzbwogICAgICAgICAvLyB3ZSBoYXZlIHRv
IHVzZSAjaWYuCiAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDE4NzcKLSNpZiAhUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oV0lOKQorI2lmICFQ
TEFURk9STShNQUMpICYmICFQTEFURk9STShXSU4pICYmICFQTEFURk9STShHVEspCiAgICAgICAg
IG1lZGlhQ29udHJvbGxlcigpLT5zZXRDbG9zZWRDYXB0aW9uc1Zpc2libGUoIW1lZGlhQ29udHJv
bGxlcigpLT5jbG9zZWRDYXB0aW9uc1Zpc2libGUoKSk7CiAgICAgICAgIHNldENoZWNrZWQobWVk
aWFDb250cm9sbGVyKCktPmNsb3NlZENhcHRpb25zVmlzaWJsZSgpKTsKICAgICAgICAgdXBkYXRl
RGlzcGxheVR5cGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01l
ZGlhQ29udHJvbEVsZW1lbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNv
bnRyb2xFbGVtZW50cy5oCmluZGV4IDY4MjYyZDM3N2QxMjZmOGIyZGE0YTNlOGFlODg1M2YxY2Zm
ODhlZmQuLjM2OGE1ODFmNTkwYTQ1MzYwYzQ1ZGI0ZTU1NzQ3NTc0ZTlhYmQxZjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaApAQCAt
MjgwLDcgKzI4MCw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcm
IHNoYWRvd1BzZXVkb0lkKCkgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGRlZmF1
bHRFdmVudEhhbmRsZXIoRXZlbnQqKSBPVkVSUklERTsKIAotI2lmIFBMQVRGT1JNKE1BQykgfHwg
UExBVEZPUk0oV0lOKQorI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oV0lOKSB8fCBQTEFU
Rk9STShHVEspCiAgICAgTWVkaWFDb250cm9scyogbV9jb250cm9sczsKICNlbmRpZgogfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sc0d0ay5jcHAKaW5kZXgg
ZjRmOWRjNTFjNzYyNDBlNGU0MTYxY2MxZjAxY2Q0ZTRkNDJmYTk0OC4uMmRlZTA0YjFiMzg1ZTdk
OWQzMWM4MWRiZjE4NTZiYWM3Y2MwMjc1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9zaGFkb3cvTWVkaWFDb250cm9sc0d0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvTWVkaWFDb250cm9sc0d0ay5jcHAKQEAgLTMxLDEyICszMSw0MiBAQAogI2lmIEVOQUJM
RShWSURFTykKICNpbmNsdWRlICJNZWRpYUNvbnRyb2xzR3RrLmgiCiAKKyNpbmNsdWRlICJDaHJv
bWUuaCIKKyNpbmNsdWRlICJNb3VzZUV2ZW50LmgiCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAor
Y2xhc3MgTWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXIgOiBwdWJsaWMgRXZlbnRMaXN0ZW5l
ciB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8TWVkaWFDb250cm9sc0d0a0V2ZW50
TGlzdGVuZXI+IGNyZWF0ZShNZWRpYUNvbnRyb2xzR3RrKiBtZWRpYUNvbnRyb2xzKSB7IHJldHVy
biBhZG9wdFJlZihuZXcgTWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXIobWVkaWFDb250cm9s
cykpOyB9CisgICAgc3RhdGljIGNvbnN0IE1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyKiBj
YXN0KGNvbnN0IEV2ZW50TGlzdGVuZXIqIGxpc3RlbmVyKQorICAgIHsKKyAgICAgICAgcmV0dXJu
IGxpc3RlbmVyLT50eXBlKCkgPT0gR09iamVjdEV2ZW50TGlzdGVuZXJUeXBlCisgICAgICAgICAg
ICA/IHN0YXRpY19jYXN0PGNvbnN0IE1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyKj4obGlz
dGVuZXIpCisgICAgICAgICAgICA6IDA7CisgICAgfQorCisgICAgdmlydHVhbCBib29sIG9wZXJh
dG9yPT0oY29uc3QgRXZlbnRMaXN0ZW5lciYgb3RoZXIpOworCitwcml2YXRlOgorICAgIE1lZGlh
Q29udHJvbHNHdGtFdmVudExpc3RlbmVyKE1lZGlhQ29udHJvbHNHdGsqIG1lZGlhQ29udHJvbHMp
CisgICAgICAgIDogRXZlbnRMaXN0ZW5lcihHT2JqZWN0RXZlbnRMaXN0ZW5lclR5cGUpCisgICAg
ICAgICwgbV9tZWRpYUNvbnRyb2xzKG1lZGlhQ29udHJvbHMpCisgICAgeworICAgIH0KKworICAg
IHZpcnR1YWwgdm9pZCBoYW5kbGVFdmVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgRXZlbnQq
KTsKKworICAgIE1lZGlhQ29udHJvbHNHdGsqIG1fbWVkaWFDb250cm9sczsKK307CisKIE1lZGlh
Q29udHJvbHNHdGs6Ok1lZGlhQ29udHJvbHNHdGsoRG9jdW1lbnQqIGRvY3VtZW50KQogICAgIDog
TWVkaWFDb250cm9scyhkb2N1bWVudCkKICAgICAsIG1fZHVyYXRpb25EaXNwbGF5KDApCiAgICAg
LCBtX2VuY2xvc3VyZSgwKQorICAgICwgbV9ldmVudExpc3RlbmVyKDApCisgICAgLCBtX2Nsb3Nl
ZENhcHRpb25zVHJhY2tMaXN0KDApCisgICAgLCBtX2Nsb3NlZENhcHRpb25zQ29udGFpbmVyKDAp
CiB7CiB9CiAKQEAgLTkxLDExICsxMjEsMjQgQEAgYm9vbCBNZWRpYUNvbnRyb2xzR3RrOjppbml0
aWFsaXplQ29udHJvbHMoRG9jdW1lbnQqIGRvY3VtZW50KQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAKICAgICBpZiAoZG9jdW1lbnQtPnBhZ2UoKS0+dGhlbWUoKS0+c3VwcG9ydHNDbG9zZWRDYXB0
aW9uaW5nKCkpIHsKKyAgICAgICAgUmVmUHRyPE1lZGlhQ29udHJvbENsb3NlZENhcHRpb25zQ29u
dGFpbmVyRWxlbWVudD4gY2xvc2VkQ2FwdGlvbnNDb250YWluZXIgPSBNZWRpYUNvbnRyb2xDbG9z
ZWRDYXB0aW9uc0NvbnRhaW5lckVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCk7CisKKyAgICAgICAg
UmVmUHRyPE1lZGlhQ29udHJvbENsb3NlZENhcHRpb25zVHJhY2tMaXN0RWxlbWVudD4gY2xvc2Vk
Q2FwdGlvbnNUcmFja0xpc3QgPSBNZWRpYUNvbnRyb2xDbG9zZWRDYXB0aW9uc1RyYWNrTGlzdEVs
ZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCwgdGhpcyk7CisgICAgICAgIG1fY2xvc2VkQ2FwdGlvbnNU
cmFja0xpc3QgPSBjbG9zZWRDYXB0aW9uc1RyYWNrTGlzdC5nZXQoKTsKKyAgICAgICAgY2xvc2Vk
Q2FwdGlvbnNDb250YWluZXItPmFwcGVuZENoaWxkKGNsb3NlZENhcHRpb25zVHJhY2tMaXN0LnJl
bGVhc2UoKSwgZXhjZXB0aW9uQ29kZSwgQXR0YWNoTGF6aWx5KTsKKyAgICAgICAgaWYgKGV4Y2Vw
dGlvbkNvZGUpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICAgICAgUmVmUHRyPE1l
ZGlhQ29udHJvbFRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uRWxlbWVudD4gdG9nZ2xlQ2xvc2Vk
Q2FwdGlvbnNCdXR0b24gPSBNZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVs
ZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCwgdGhpcyk7CiAgICAgICAgIG1fdG9nZ2xlQ2xvc2VkQ2Fw
dGlvbnNCdXR0b24gPSB0b2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbi5nZXQoKTsKICAgICAgICAg
cGFuZWwtPmFwcGVuZENoaWxkKHRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uLnJlbGVhc2UoKSwg
ZXhjZXB0aW9uQ29kZSwgQXR0YWNoTGF6aWx5KTsKICAgICAgICAgaWYgKGV4Y2VwdGlvbkNvZGUp
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgbV9jbG9zZWRDYXB0aW9uc0Nv
bnRhaW5lciA9IGNsb3NlZENhcHRpb25zQ29udGFpbmVyLmdldCgpOworICAgICAgICBhcHBlbmRD
aGlsZChjbG9zZWRDYXB0aW9uc0NvbnRhaW5lci5yZWxlYXNlKCksIGV4Y2VwdGlvbkNvZGUsIEF0
dGFjaExhemlseSk7CisgICAgICAgIGlmIChleGNlcHRpb25Db2RlKQorICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIH0KIAogICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0
dG9uRWxlbWVudD4gZnVsbHNjcmVlbkJ1dHRvbiA9IE1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0
b25FbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQpOwpAQCAtMTQ3LDYgKzE5MCwxMCBAQCB2b2lkIE1l
ZGlhQ29udHJvbHNHdGs6OnNldE1lZGlhQ29udHJvbGxlcihNZWRpYUNvbnRyb2xsZXJJbnRlcmZh
Y2UqIGNvbnRyb2xsZXIpCiAgICAgICAgIG1fZHVyYXRpb25EaXNwbGF5LT5zZXRNZWRpYUNvbnRy
b2xsZXIoY29udHJvbGxlcik7CiAgICAgaWYgKG1fZW5jbG9zdXJlKQogICAgICAgICBtX2VuY2xv
c3VyZS0+c2V0TWVkaWFDb250cm9sbGVyKGNvbnRyb2xsZXIpOworICAgIGlmIChtX2Nsb3NlZENh
cHRpb25zQ29udGFpbmVyKQorICAgICAgICBtX2Nsb3NlZENhcHRpb25zQ29udGFpbmVyLT5zZXRN
ZWRpYUNvbnRyb2xsZXIoY29udHJvbGxlcik7CisgICAgaWYgKG1fY2xvc2VkQ2FwdGlvbnNUcmFj
a0xpc3QpCisgICAgICAgIG1fY2xvc2VkQ2FwdGlvbnNUcmFja0xpc3QtPnNldE1lZGlhQ29udHJv
bGxlcihjb250cm9sbGVyKTsKIH0KIAogdm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpyZXNldCgpCkBA
IC0xNTksNiArMjA2LDEzIEBAIHZvaWQgTWVkaWFDb250cm9sc0d0azo6cmVzZXQoKQogICAgIG1f
ZHVyYXRpb25EaXNwbGF5LT5zZXRJbm5lclRleHQocGFnZS0+dGhlbWUoKS0+Zm9ybWF0TWVkaWFD
b250cm9sc1RpbWUoZHVyYXRpb24pLCBBU1NFUlRfTk9fRVhDRVBUSU9OKTsKICAgICBtX2R1cmF0
aW9uRGlzcGxheS0+c2V0Q3VycmVudFZhbHVlKGR1cmF0aW9uKTsKIAorICAgIGlmIChtX3RvZ2ds
ZUNsb3NlZENhcHRpb25zQnV0dG9uKSB7CisgICAgICAgIGlmIChtX21lZGlhQ29udHJvbGxlci0+
aGFzQ2xvc2VkQ2FwdGlvbnMoKSkKKyAgICAgICAgICAgIG1fdG9nZ2xlQ2xvc2VkQ2FwdGlvbnNC
dXR0b24tPnNob3coKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbV90b2dnbGVDbG9zZWRD
YXB0aW9uc0J1dHRvbi0+aGlkZSgpOworICAgIH0KKwogICAgIE1lZGlhQ29udHJvbHM6OnJlc2V0
KCk7CiB9CiAKQEAgLTIwOCw2ICsyNjIsOCBAQCB2b2lkIE1lZGlhQ29udHJvbHNHdGs6Om1ha2VU
cmFuc3BhcmVudCgpCiAKICAgICBpZiAobV92b2x1bWVTbGlkZXJDb250YWluZXIpCiAgICAgICAg
IG1fdm9sdW1lU2xpZGVyQ29udGFpbmVyLT5oaWRlKCk7CisKKyAgICBoaWRlQ2xvc2VkQ2FwdGlv
blRyYWNrTGlzdCgpOwogfQogCiB2b2lkIE1lZGlhQ29udHJvbHNHdGs6OnNob3dWb2x1bWVTbGlk
ZXIoKQpAQCAtMjM2LDYgKzI5Miw5MCBAQCB2b2lkIE1lZGlhQ29udHJvbHNHdGs6OmNyZWF0ZVRl
eHRUcmFja0Rpc3BsYXkoKQogfQogI2VuZGlmCiAKK3ZvaWQgTWVkaWFDb250cm9sc0d0azo6dG9n
Z2xlQ2xvc2VkQ2FwdGlvblRyYWNrTGlzdCgpCit7CisgICAgaWYgKCFtX21lZGlhQ29udHJvbGxl
ci0+aGFzQ2xvc2VkQ2FwdGlvbnMoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFtX2Ns
b3NlZENhcHRpb25zQ29udGFpbmVyIHx8ICFtX2Nsb3NlZENhcHRpb25zVHJhY2tMaXN0KQorICAg
ICAgICByZXR1cm47CisKKyAgICBpZiAobV9jbG9zZWRDYXB0aW9uc0NvbnRhaW5lci0+aXNTaG93
aW5nKCkpIHsKKyAgICAgICAgaGlkZUNsb3NlZENhcHRpb25UcmFja0xpc3QoKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIG1fY2xvc2VkQ2FwdGlvbnNUcmFja0xpc3QtPnVwZGF0ZURp
c3BsYXkoKTsKKyAgICBzaG93Q2xvc2VkQ2FwdGlvblRyYWNrTGlzdCgpOwogfQogCit2b2lkIE1l
ZGlhQ29udHJvbHNHdGs6OnNob3dDbG9zZWRDYXB0aW9uVHJhY2tMaXN0KCkKK3sKKyAgICBtX3Zv
bHVtZVNsaWRlckNvbnRhaW5lci0+aGlkZSgpOworCisgICAgaWYgKCFtX2Nsb3NlZENhcHRpb25z
Q29udGFpbmVyIHx8IG1fY2xvc2VkQ2FwdGlvbnNDb250YWluZXItPmlzU2hvd2luZygpKQorICAg
ICAgICByZXR1cm47CisKKyAgICBtX2Nsb3NlZENhcHRpb25zQ29udGFpbmVyLT5zaG93KCk7Cisg
ICAgbV9wYW5lbC0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVBvaW50ZXJFdmVu
dHMsIENTU1ZhbHVlTm9uZSk7CisKKyAgICBSZWZQdHI8RXZlbnRMaXN0ZW5lcj4gbGlzdGVuZXIg
PSBldmVudExpc3RlbmVyKCk7CisKKyAgICAvLyBDaGVjayBmb3IgY2xpY2tzIG91dHNpZGUgdGhl
IG1lZGlhLWNvbnRyb2wKKyAgICBkb2N1bWVudCgpLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1l
cygpLmNsaWNrRXZlbnQsIGxpc3RlbmVyLCB0cnVlKTsKKyAgICAvLyBDaGVjayBmb3IgY2xpY2tz
IGluc2lkZSB0aGUgbWVkaWEtY29udHJvbCBib3gKKyAgICBhZGRFdmVudExpc3RlbmVyKGV2ZW50
TmFtZXMoKS5jbGlja0V2ZW50LCBsaXN0ZW5lciwgdHJ1ZSk7Cit9CisKK3ZvaWQgTWVkaWFDb250
cm9sc0d0azo6aGlkZUNsb3NlZENhcHRpb25UcmFja0xpc3QoKQoreworICAgIGlmICghbV9jbG9z
ZWRDYXB0aW9uc0NvbnRhaW5lciB8fCAhbV9jbG9zZWRDYXB0aW9uc0NvbnRhaW5lci0+aXNTaG93
aW5nKCkpCisgICAgICAgIHJldHVybjsKKworICAgIG1fY2xvc2VkQ2FwdGlvbnNDb250YWluZXIt
PmhpZGUoKTsKKyAgICBtX3BhbmVsLT5yZW1vdmVJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3Bl
cnR5UG9pbnRlckV2ZW50cyk7CisKKyAgICBFdmVudExpc3RlbmVyKiBsaXN0ZW5lciA9IGV2ZW50
TGlzdGVuZXIoKS5nZXQoKTsKKworICAgIGRvY3VtZW50KCkucmVtb3ZlRXZlbnRMaXN0ZW5lcihl
dmVudE5hbWVzKCkuY2xpY2tFdmVudCwgbGlzdGVuZXIsIHRydWUpOworICAgIHJlbW92ZUV2ZW50
TGlzdGVuZXIoZXZlbnROYW1lcygpLmNsaWNrRXZlbnQsIGxpc3RlbmVyLCB0cnVlKTsKK30KKwor
dm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpoYW5kbGVDbGlja0V2ZW50KEV2ZW50ICpldmVudCkKK3sK
KyAgICBOb2RlKiBjdXJyZW50VGFyZ2V0ID0gZXZlbnQtPmN1cnJlbnRUYXJnZXQoKS0+dG9Ob2Rl
KCk7CisgICAgTm9kZSogdGFyZ2V0ID0gZXZlbnQtPnRhcmdldCgpLT50b05vZGUoKTsKKworICAg
IGlmICgoY3VycmVudFRhcmdldCA9PSAmZG9jdW1lbnQoKSAmJiAhc2hhZG93SG9zdCgpLT5jb250
YWlucyh0YXJnZXQpKQorICAgICAgICB8fCAoY3VycmVudFRhcmdldCA9PSB0aGlzICYmICFtX2Ns
b3NlZENhcHRpb25zQ29udGFpbmVyLT5jb250YWlucyh0YXJnZXQpKSkgeworICAgICAgICBoaWRl
Q2xvc2VkQ2FwdGlvblRyYWNrTGlzdCgpOworICAgICAgICBldmVudC0+c3RvcEltbWVkaWF0ZVBy
b3BhZ2F0aW9uKCk7CisgICAgICAgIGV2ZW50LT5zZXREZWZhdWx0SGFuZGxlZCgpOworICAgIH0K
K30KKworUGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lcj4gTWVkaWFDb250
cm9sc0d0azo6ZXZlbnRMaXN0ZW5lcigpCit7CisgICAgaWYgKCFtX2V2ZW50TGlzdGVuZXIpCisg
ICAgICAgIG1fZXZlbnRMaXN0ZW5lciA9IE1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyOjpj
cmVhdGUodGhpcyk7CisKKyAgICByZXR1cm4gbV9ldmVudExpc3RlbmVyOworfQorCit2b2lkIE1l
ZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyOjpoYW5kbGVFdmVudChTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiwgRXZlbnQqIGV2ZW50KQoreworICAgIGlmIChldmVudC0+dHlwZSgpID09IGV2ZW50
TmFtZXMoKS5jbGlja0V2ZW50KQorICAgICAgICBtX21lZGlhQ29udHJvbHMtPmhhbmRsZUNsaWNr
RXZlbnQoZXZlbnQpOworCisgICAgcmV0dXJuOworfQorCitib29sIE1lZGlhQ29udHJvbHNHdGtF
dmVudExpc3RlbmVyOjpvcGVyYXRvcj09KGNvbnN0IEV2ZW50TGlzdGVuZXImIGxpc3RlbmVyKQor
eworICAgIGlmIChjb25zdCBNZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lciogbWVkaWFDb250
cm9sc0d0a0V2ZW50TGlzdGVuZXIgPSBNZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lcjo6Y2Fz
dCgmbGlzdGVuZXIpKQorICAgICAgICByZXR1cm4gbV9tZWRpYUNvbnRyb2xzID09IG1lZGlhQ29u
dHJvbHNHdGtFdmVudExpc3RlbmVyLT5tX21lZGlhQ29udHJvbHM7CisgICAgcmV0dXJuIGZhbHNl
OworfQorCit9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L01lZGlhQ29udHJvbHNHdGsuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29u
dHJvbHNHdGsuaAppbmRleCAyZWEzMjU5OWY1YzRkN2M5MjQ5MjE2YWY2MTVjMzU3MTVjNzFjYjQ5
Li4xNjAzN2Y2NjEzNDVlYTU1NmE5YWNhNzMzNGI3NmIzMmM1ODRiMmE1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzR3RrLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sc0d0ay5oCkBAIC0zNSw2ICszNSw4IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgTWVkaWFDb250cm9sc0d0a0V2ZW50TGlz
dGVuZXI7CisKIGNsYXNzIE1lZGlhQ29udHJvbHNHdGsgOiBwdWJsaWMgTWVkaWFDb250cm9scyB7
CiBwdWJsaWM6CiAgICAgLy8gQ2FsbGVkIGZyb20gcG9ydC1zcGVjaWZpYyBwYXJlbnQgY3JlYXRl
IGZ1bmN0aW9uIHRvIGNyZWF0ZSBjdXN0b20gY29udHJvbHMuCkBAIC00Nyw2ICs0OSw5IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQ3VycmVudFRpbWVEaXNwbGF5KCkgT1ZFUlJJ
REU7CiAgICAgdmlydHVhbCB2b2lkIHNob3dWb2x1bWVTbGlkZXIoKSBPVkVSUklERTsKICAgICB2
aXJ0dWFsIHZvaWQgbWFrZVRyYW5zcGFyZW50KCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lk
IHRvZ2dsZUNsb3NlZENhcHRpb25UcmFja0xpc3QoKSBPVkVSUklERTsKKworICAgIHZvaWQgaGFu
ZGxlQ2xpY2tFdmVudChFdmVudCopOwogCiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQogICAgIHZv
aWQgY3JlYXRlVGV4dFRyYWNrRGlzcGxheSgpIE9WRVJSSURFOwpAQCAtNTQsMTMgKzU5LDIxIEBA
IHB1YmxpYzoKIAogcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0IE1lZGlhQ29udHJvbHNHdGsoRG9j
dW1lbnQqKTsKLQogICAgIGJvb2wgaW5pdGlhbGl6ZUNvbnRyb2xzKERvY3VtZW50Kik7CiAKIHBy
aXZhdGU6CisgICAgdm9pZCBzaG93Q2xvc2VkQ2FwdGlvblRyYWNrTGlzdCgpOworICAgIHZvaWQg
aGlkZUNsb3NlZENhcHRpb25UcmFja0xpc3QoKTsKKworICAgIFBhc3NSZWZQdHI8TWVkaWFDb250
cm9sc0d0a0V2ZW50TGlzdGVuZXI+IGV2ZW50TGlzdGVuZXIoKTsKKwogICAgIE1lZGlhQ29udHJv
bFRpbWVSZW1haW5pbmdEaXNwbGF5RWxlbWVudCogbV9kdXJhdGlvbkRpc3BsYXk7CiAgICAgTWVk
aWFDb250cm9sUGFuZWxFbmNsb3N1cmVFbGVtZW50KiBtX2VuY2xvc3VyZTsKICAgICBNZWRpYUNv
bnRyb2xWb2x1bWVTbGlkZXJDb250YWluZXJFbGVtZW50KiBtX3ZvbHVtZVNsaWRlckNvbnRhaW5l
cjsKKyAgICBNZWRpYUNvbnRyb2xDbG9zZWRDYXB0aW9uc1RyYWNrTGlzdEVsZW1lbnQqIG1fY2xv
c2VkQ2FwdGlvbnNUcmFja0xpc3Q7CisgICAgTWVkaWFDb250cm9sQ2xvc2VkQ2FwdGlvbnNDb250
YWluZXJFbGVtZW50KiBtX2Nsb3NlZENhcHRpb25zQ29udGFpbmVyOworCisgICAgUmVmUHRyPE1l
ZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyPiBtX2V2ZW50TGlzdGVuZXI7CiB9OwogCiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcAppbmRleCAy
NTBlYTU1OWQyMTNiNjkxZWM3ZDI0N2FjODA3OWIzNDI1NjQyNTgwLi4yODg5YmIyNmZkMmJjYWEy
MjQwZTE4YTI5NmNiZjFlMzEyZjU2MzI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2Fw
dGlvblVzZXJQcmVmZXJlbmNlcy5jcHAKQEAgLTE1Nyw2ICsxNTcsOSBAQCB2b2lkIENhcHRpb25V
c2VyUHJlZmVyZW5jZXM6OnNldFByZWZlcnJlZExhbmd1YWdlKGNvbnN0IFN0cmluZyYgbGFuZ3Vh
Z2UpCiAKIHN0YXRpYyBTdHJpbmcgdHJhY2tEaXNwbGF5TmFtZShUZXh0VHJhY2sqIHRyYWNrKQog
eworICAgIGlmICh0cmFjayA9PSBUZXh0VHJhY2s6OmNhcHRpb25NZW51T2ZmSXRlbSgpKQorICAg
ICAgICByZXR1cm4gdGV4dFRyYWNrT2ZmTWVudUl0ZW1UZXh0KCk7CisKICAgICBpZiAodHJhY2st
PmxhYmVsKCkuaXNFbXB0eSgpICYmIHRyYWNrLT5sYW5ndWFnZSgpLmlzRW1wdHkoKSkKICAgICAg
ICAgcmV0dXJuIHRleHRUcmFja05vTGFiZWxUZXh0KCk7CiAgICAgaWYgKCF0cmFjay0+bGFiZWwo
KS5pc0VtcHR5KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvTG9j
YWxpemVkU3RyaW5nc0d0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvTG9jYWxp
emVkU3RyaW5nc0d0ay5jcHAKaW5kZXggODZiNjY1MTFjYTkxZTM0YjhmYjIzNmE1ODlhYjIzNGRj
NmVlNjU0Yi4uYzZlYmJiNTAyNjBlN2FjNzcwY2U5NjJiMGU3YWRlZDFjNDMxZGE5OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0xvY2FsaXplZFN0cmluZ3NHdGsuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9Mb2NhbGl6ZWRTdHJpbmdzR3RrLmNw
cApAQCAtNzk1LDE3ICs3OTUsMTcgQEAgU3RyaW5nIHRleHRUcmFja0Nsb3NlZENhcHRpb25zVGV4
dCgpCiAKIFN0cmluZyB0ZXh0VHJhY2tTdWJ0aXRsZXNUZXh0KCkKIHsKLSAgICByZXR1cm4gU3Ry
aW5nOjpmcm9tVVRGOChDXygiU3VidGl0bGVzIiwgIk1lbnUgc2VjdGlvbiBoZWFkaW5nIGZvciBz
dWJ0aXRsZXMiKSk7CisgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoQ18oIk1lbnUgc2VjdGlv
biBoZWFkaW5nIGZvciBzdWJ0aXRsZXMiLCAiU3VidGl0bGVzIikpOwogfQogCiBTdHJpbmcgdGV4
dFRyYWNrT2ZmTWVudUl0ZW1UZXh0KCkKIHsKLSAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChD
XygiT2ZmIiwgIk1lbnUgaXRlbSBsYWJlbCBmb3IgdGhlIHRyYWNrIHRoYXQgcmVwcmVzZW50cyBk
aXNhYmxpbmcgY2xvc2VkIGNhcHRpb25zIikpOworICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4
KENfKCJNZW51IGl0ZW0gbGFiZWwgZm9yIHRoZSB0cmFjayB0aGF0IHJlcHJlc2VudHMgZGlzYWJs
aW5nIGNsb3NlZCBjYXB0aW9ucyIsICJPZmYiKSk7CiB9CiAKIFN0cmluZyB0ZXh0VHJhY2tOb0xh
YmVsVGV4dCgpCiB7Ci0gICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoQ18oIk5vIGxhYmVsIiwg
Ik1lbnUgaXRlbSBsYWJlbCBmb3IgYSBjbG9zZWQgY2FwdGlvbnMgdHJhY2sgdGhhdCBoYXMgbm8g
b3RoZXIgbmFtZSIpKTsKKyAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChDXygiTWVudSBpdGVt
IGxhYmVsIGZvciBhIGNsb3NlZCBjYXB0aW9ucyB0cmFjayB0aGF0IGhhcyBubyBvdGhlciBuYW1l
IiwgIk5vIGxhYmVsIikpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0ay5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3RrL1JlbmRlclRoZW1lR3RrLmgKaW5kZXggYThjOTczNWM3MDczNTM2YjNhMjI5MmU4NjA0YTQ3
NmU3MmI1NzNkMC4uNWU1MzQ3NjQwOTVhODEwMDcwYmRiZDZmYTM2MmVlYmYzNmNkYTExMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrLmgKQEAgLTg3LDYg
Kzg3LDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShWSURFTykKICAgICB2aXJ0dWFsIFN0cmluZyBl
eHRyYU1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCk7CiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0
TWVkaWFDb250cm9sc0N1cnJlbnRUaW1lKGZsb2F0IGN1cnJlbnRUaW1lLCBmbG9hdCBkdXJhdGlv
bikgY29uc3Q7CisgICAgdmlydHVhbCBib29sIHN1cHBvcnRzQ2xvc2VkQ2FwdGlvbmluZygpIGNv
bnN0IE9WRVJSSURFIHsgcmV0dXJuIHRydWU7IH0KIAogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQ
SSkKICAgICB2aXJ0dWFsIFN0cmluZyBleHRyYUZ1bGxTY3JlZW5TdHlsZVNoZWV0KCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5jcHAK
aW5kZXggNTNhNTQ3YTFmYjRmZjM1OWIwNzY4NDU4YTcxNDU0NGM3NTAzN2MzYi4uMWVlM2ZiMjM0
ODg5ZmM0YmM4ZjEwZjQyYzhlM2VjNzg2NDFkNzY0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmNwcApAQCAtMTQzLDYgKzE0Myw4
IEBAIHN0YXRpYyB2b2lkIHdlYktpdFNldHRpbmdzQ29uc3RydWN0ZWQoR09iamVjdCogb2JqZWN0
KQogICAgIEdfT0JKRUNUX0NMQVNTKHdlYmtpdF9zZXR0aW5nc19wYXJlbnRfY2xhc3MpLT5jb25z
dHJ1Y3RlZChvYmplY3QpOwogCiAgICAgV2ViUHJlZmVyZW5jZXMqIHByZWZzID0gV0VCS0lUX1NF
VFRJTkdTKG9iamVjdCktPnByaXYtPnByZWZlcmVuY2VzLmdldCgpOworICAgIHByZWZzLT5zZXRT
aG91bGREaXNwbGF5U3VidGl0bGVzKHRydWUpOworCiAgICAgRXhwZXJpbWVudGFsRmVhdHVyZXMg
ZmVhdHVyZXM7CiAgICAgYm9vbCByZWdpb25CYXNlZENvbHVtbnNFbmFibGVkID0gZmVhdHVyZXMu
aXNFbmFibGVkKEV4cGVyaW1lbnRhbEZlYXR1cmVzOjpSZWdpb25CYXNlZENvbHVtbnMpOwogICAg
IGlmIChwcmVmcy0+cmVnaW9uQmFzZWRDb2x1bW5zRW5hYmxlZCgpICE9IHJlZ2lvbkJhc2VkQ29s
dW1uc0VuYWJsZWQpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTcwM2Q5Y2JhYjMzZDkzMTJmOTJjYzU3ZjY3MzgyNGQ0MmY1
ZWFjZi4uODQwMTViYjM4N2JmOGJlZmVmZGZhNTZjMDMwOWU4YzQ2MWM1OGM1YSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1IEBACisyMDEzLTA4LTIzICBEYW5pbG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgIDxk
YW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgorCisgICAgICAgIFtXSzJdW0dUS10gYWRkIHN1
cHBvcnQgZm9yIHN1YnRpdGxlcyBvbiB3ZWJraXQyR1RLCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTcwMDgKKworICAgICAgICBCeSBhY3RpdmF0aW5n
IHN1YnRpdGxlcyBzdXBwb3J0IG9uIHdlYmtpdDJHVEssIHRoZSB2aWRlbyBwbGF5ZXIKKyAgICAg
ICAgcmVjb2duaXplcyBhbmQgdXNlIHRleHQgPHRyYWNrcz4gaW5zaWRlIDx2aWRlbz4gZWxlbWVu
dHMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxMy0wOS0wMSAgRGlyayBTY2h1bHpl
ICA8a3JpdEB3ZWJraXQub3JnPgogCiAgICAgICAgIEFkZCBlZGdlTW9kZSBhdHRyaWJ0dWUuCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDZmYTFjNzQ0YjJk
MzNjODEyZjRiYmUzZDcyNTM1OTk1MjI0OTc3ODkuLjFhZTczMzVmZDNiYzBkMTc0MzIyNzlhZWEz
ZWI0ZDdkOTQ1YmIzMmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRp
b25zCkBAIC03ODYsMTUgKzc4Niw2IEBAIEJ1ZyhHVEspIG1lZGlhL3Byb2dyZXNzLWV2ZW50cy1n
ZW5lcmF0ZWQtY29ycmVjdGx5Lmh0bWwgWyBGYWlsdXJlIFRpbWVvdXQgXQogCiB3ZWJraXQub3Jn
L2IvMTAyMjU3IGZhc3QvZG9tL1dpbmRvdy9vcGVuLXdpbmRvdy1taW4tc2l6ZS5odG1sIFsgVGlt
ZW91dCBdCiAKLSMgR1RLIHN0aWxsIGhhcyB0aGUgQ0MgdG9nZ2xlIGJ1dHRvbiwgbm90IHRoZSBt
ZW51IG9mIHRyYWNrcy4KLXdlYmtpdC5vcmcvYi8xMDE2NzAgbWVkaWEvdmlkZW8tY29udHJvbHMt
Y2FwdGlvbnMtdHJhY2ttZW51Lmh0bWwgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi8xMDE2NzAgbWVk
aWEvdmlkZW8tY29udHJvbHMtY2FwdGlvbnMtdHJhY2ttZW51LXNvcnRlZC5odG1sIFsgU2tpcCBd
Ci13ZWJraXQub3JnL2IvMTAxNjcwIG1lZGlhL3ZpZGVvLWNvbnRyb2xzLWNhcHRpb25zLXRyYWNr
bWVudS1sb2NhbGl6ZWQuaHRtbCBbIFNraXAgXQotd2Via2l0Lm9yZy9iLzEwMTY3MCBtZWRpYS92
aWRlby1jb250cm9scy1jYXB0aW9ucy10cmFja21lbnUtaGlkZS1vbi1jbGljay5odG1sIFsgU2tp
cCBdCi13ZWJraXQub3JnL2IvMTAxNjcwIG1lZGlhL3ZpZGVvLWNvbnRyb2xzLWNhcHRpb25zLXRy
YWNrbWVudS1oaWRlLW9uLWNsaWNrLW91dHNpZGUuaHRtbCBbIFNraXAgXQotd2Via2l0Lm9yZy9i
LzEwMTY3MCBtZWRpYS90cmFjay90cmFjay11c2VyLXByZWZlcmVuY2VzLmh0bWwgWyBTa2lwIF0K
LXdlYmtpdC5vcmcvYi8xMDE2NzAgbWVkaWEvdmlkZW8tY29udHJvbHMtY2FwdGlvbnMtdHJhY2tt
ZW51LWluY2x1ZGVzLWVuYWJsZWQtdHJhY2suaHRtbCBbIFNraXAgXQotCiB3ZWJraXQub3JnL2Iv
MTA3MTk0IHN0b3JhZ2UvaW5kZXhlZGRiL2RhdGFiYXNlLXF1b3RhLmh0bWwgWyBUaW1lb3V0IF0K
IHdlYmtpdC5vcmcvYi8xMDcxOTQgc3RvcmFnZS9pbmRleGVkZGIvcGVuZGluZy1hY3Rpdml0eS13
b3JrZXJzLmh0bWwgWyBUaW1lb3V0IF0KIHdlYmtpdC5vcmcvYi8xMDcxOTQgc3RvcmFnZS9pbmRl
eGVkZGIvcGVuZGluZy12ZXJzaW9uLWNoYW5nZS1vbi1leGl0Lmh0bWwgWyBUaW1lb3V0IF0KQEAg
LTkwMSw2ICs4OTIsMTEgQEAgd2Via2l0Lm9yZy9iLzQ0NDc4IGZhc3QvdGV4dC9oeXBoZW4tbWlu
LXByZWZlcnJlZC13aWR0aC5odG1sIFsgU2tpcCBdCiAjIExheW91dFRlc3RDb250cm9sbGVyOjph
cHBsaWNhdGlvbkNhY2hlRGlza1VzYWdlRm9yT3JpZ2luIGlzbid0IGltcGxlbWVudGVkLgogd2Vi
a2l0Lm9yZy9iLzU3MTI3IGh0dHAvdGVzdHMvYXBwY2FjaGUvb3JpZ2luLXVzYWdlLmh0bWwgWyBG
YWlsdXJlIF0KIAorIyBHVEsgaXMgbW92aW5nIGZyb20gdG9nZ2xlIGJ1dHRvbiB0byBhIG1lbnUg
b2YgdHJhY2tzLgord2Via2l0Lm9yZy9iLzEwMTY3MCBtZWRpYS92aWRlby1jb250cm9scy1jYXB0
aW9ucy10cmFja21lbnUuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzEwMTY3MCBtZWRp
YS90cmFjay90cmFjay11c2VyLXByZWZlcmVuY2VzLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5v
cmcvYi8xMDE2NzAgbWVkaWEvdmlkZW8tY29udHJvbHMtY2FwdGlvbnMtdHJhY2ttZW51LWluY2x1
ZGVzLWVuYWJsZWQtdHJhY2suaHRtbCBbIEZhaWx1cmUgXQorCiBCdWcoR1RLKSBodHRwL3Rlc3Rz
L2xvYWRpbmcvYmFkLXNjaGVtZS1zdWJmcmFtZS5odG1sIFsgRmFpbHVyZSBdCiAKICMgTmVlZGVk
IHRvIGNvdmVyIHRoZSBmaXggZm9yIDxyZGFyOi8vcHJvYmxlbS82NzI3NDk1PgpAQCAtMTIxMCw2
ICsxMjA2LDcgQEAgd2Via2l0Lm9yZy9iLzg5NjYzIGVkaXRpbmcvZGVsZXRpbmcvZGVsZXRlLTM4
MDA4MzQtZml4Lmh0bWwgWyBGYWlsdXJlIF0KIAogd2Via2l0Lm9yZy9iLzg3MzU1IGNhbnZhcy9w
aGlsaXAvdGVzdHMvMmQudGV4dC5kcmF3LmZvbnRmYWNlLm5vdGlucGFnZS5odG1sIFsgRmFpbHVy
ZSBdCiAKKyMgR1RLIGlzIG1vdmluZyBmcm9tIHRoZSBzaW1wbGUgdG9nZ2xlIGJ1dHRvbiB0byBh
IG1lbnUgb2YgdHJhY2tzCiB3ZWJraXQub3JnL2IvOTU0MjggbWVkaWEvdmlkZW8tY29udHJvbHMt
Y2FwdGlvbnMuaHRtbCBbIEZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2IvOTU0Mjkgc3ZnL2N1c3Rv
bS9jbGFtcGVkLW1hc2tpbmctY2xpcHBpbmcuc3ZnIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>210348</attachid>
            <date>2013-09-03 03:37:45 -0700</date>
            <delta_ts>2013-09-03 12:03:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117008-20130903073743.patch</filename>
            <type>text/plain</type>
            <size>22884</size>
            <attacher name="Danilo de Paula">danilo.eu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0OTUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmYxNDE3YzI3ZWFjNzkz
YzQ5NDg4ZWRmZThmMjFkOWUwOWJhNjZjMy4uYjhkMDY5NDAyNGJiMDBiNDQxNGU4YzlhMjQyNDFi
MzZkNmY3MDE4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDEzLTA5LTAzICBEYW5p
bG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgor
CisgICAgICAgIFtHVEtdIGFkZCBzdXBwb3J0IGZvciBzdWJ0aXRsZXMgb24gd2Via2l0MkdUSwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3MDA4CisK
KyAgICAgICAgQnkgYWN0aXZhdGluZyBzdWJ0aXRsZXMgc3VwcG9ydCBvbiB3ZWJraXQyR1RLLCB0
aGUgdmlkZW8gcGxheWVyCisgICAgICAgIHJlY29nbml6ZXMgYW5kIHVzZSB0ZXh0IDx0cmFja3M+
IGluc2lkZSA8dmlkZW8+IGVsZW1lbnRzLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIExheW91dCB0ZXN0cyAodHJhY2stbWVudSkgc2hvdWxkIGNvdmVy
IHRoaXMgY2hhbmdlLgorCisgICAgICAgICogY3NzL21lZGlhQ29udHJvbHNHdGsuY3NzOgorICAg
ICAgICAoYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdG9nZ2xlLWNsb3NlZC1jYXB0aW9u
cy1idXR0b24sIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXRvZ2dsZS1jbG9zZWQtY2Fw
dGlvbnMtYnV0dG9uKToKKyAgICAgICAgKHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWNs
b3NlZC1jYXB0aW9ucy1jb250YWluZXIpOgorICAgICAgICAodmlkZW86Oi13ZWJraXQtbWVkaWEt
Y29udHJvbHMtY2xvc2VkLWNhcHRpb25zLXRyYWNrLWxpc3QpOgorICAgICAgICAodmlkZW86Oi13
ZWJraXQtbWVkaWEtY29udHJvbHMtY2xvc2VkLWNhcHRpb25zLXRyYWNrLWxpc3QgaDMpOgorICAg
ICAgICAodmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY2xvc2VkLWNhcHRpb25zLXRyYWNr
LWxpc3QgdWwpOgorICAgICAgICAodmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY2xvc2Vk
LWNhcHRpb25zLXRyYWNrLWxpc3QgbGkpOgorICAgICAgICAodmlkZW86Oi13ZWJraXQtbWVkaWEt
Y29udHJvbHMtY2xvc2VkLWNhcHRpb25zLXRyYWNrLWxpc3QgbGkuc2VsZWN0ZWQpOgorICAgICAg
ICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhQ29udHJvbFRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uRWxlbWVudDo6TWVkaWFD
b250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50KToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhQ29udHJvbFRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uRWxlbWVudDo6ZGVmYXVs
dEV2ZW50SGFuZGxlcik6CisgICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVu
dHMuaDoKKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzR3RrLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyOjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXI6OmNhc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXI6Ok1lZGlhQ29udHJv
bHNHdGtFdmVudExpc3RlbmVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbHNHdGs6
Ok1lZGlhQ29udHJvbHNHdGspOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0d0azo6
aW5pdGlhbGl6ZUNvbnRyb2xzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbHNHdGs6
OnNldE1lZGlhQ29udHJvbGxlcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzR3Rr
OjpyZXNldCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzR3RrOjptYWtlVHJhbnNw
YXJlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0d0azo6dG9nZ2xlQ2xvc2Vk
Q2FwdGlvblRyYWNrTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzR3RrOjpz
aG93Q2xvc2VkQ2FwdGlvblRyYWNrTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRy
b2xzR3RrOjpoaWRlQ2xvc2VkQ2FwdGlvblRyYWNrTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYUNvbnRyb2xzR3RrOjpoYW5kbGVDbGlja0V2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhQ29udHJvbHNHdGs6OmV2ZW50TGlzdGVuZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFD
b250cm9sc0d0a0V2ZW50TGlzdGVuZXI6OmhhbmRsZUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyOjpvcGVyYXRvcj09KToKKyAgICAgICAgKiBo
dG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzR3RrLmg6CisgICAgICAgICogcGFnZS9DYXB0aW9uVXNl
clByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRyYWNrRGlzcGxheU5hbWUpOgor
ICAgICAgICAqIHBsYXRmb3JtL2d0ay9Mb2NhbGl6ZWRTdHJpbmdzR3RrLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OnRleHRUcmFja1N1YnRpdGxlc1RleHQpOgorICAgICAgICAoV2ViQ29yZTo6dGV4
dFRyYWNrT2ZmTWVudUl0ZW1UZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OnRleHRUcmFja05vTGFi
ZWxUZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGsuaDoKKwogMjAx
My0wOC0xOCAgRGFuaWxvIENlc2FyIExlbWVzIGRlIFBhdWxhICA8ZGFuaWxvLmNlc2FyQGNvbGxh
Ym9yYS5jby51az4KIAogICAgICAgICBbRUZMXSBtaW5vciBtZXRob2QgbmFtZSBmaXggZm9yIHRo
ZSB0ZXh0VHJhY2tPZmZNZW51SXRlbVRleHQgbWV0aG9kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvbWVkaWFDb250cm9sc0d0ay5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvbWVkaWFD
b250cm9sc0d0ay5jc3MKaW5kZXggNTcyOWQ0NTg3MjFhMGQ4MjFmMDkwYmNlM2UyZmViYmMyMzMy
OGJkNy4uNjFiYTEyYTk1Y2UyNWE3NjJjY2JlYjVmOGY2ZjAyZTE4NjJhNDczYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL21lZGlhQ29udHJvbHNHdGsuY3NzCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9tZWRpYUNvbnRyb2xzR3RrLmNzcwpAQCAtMjIyLDYgKzIyMiw2OSBAQCBhdWRp
bzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10b2dnbGUtY2xvc2VkLWNhcHRpb25zLWJ1dHRvbiwg
dmlkZW86Oi13ZWJraXQtbWVkaQogICAgIGhlaWdodDogMzBweDsKICAgICBsaW5lLWhlaWdodDog
MzBweDsKICAgICBtYXJnaW46IDAgOXB4IDAgLTdweDsKKyAgICBiYWNrZ3JvdW5kLXJlcGVhdDpu
by1yZXBlYXQ7CisgICAgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXI7CisgICAgYmFja2dyb3Vu
ZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyBpZD0ic3ZnNzM4NCIgeG1sbnM6
cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIiB4bWxucz0i
aHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTYiIHdpZHRoPSIxNiIgdmVyc2lv
bj0iMS4xIiB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiB4bWxuczpk
Yz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPjxtZXRhZGF0YSBpZD0ibWV0YWRh
dGE5MCI+PHJkZjpSREY+PGNjOldvcmsgcmRmOmFib3V0PSIiPjxkYzpmb3JtYXQ+aW1hZ2Uvc3Zn
K3htbDwvZGM6Zm9ybWF0PjxkYzp0eXBlIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2Rj
L2RjbWl0eXBlL1N0aWxsSW1hZ2UiLz48ZGM6dGl0bGU+R25vbWUgU3ltYm9saWMgSWNvbiBUaGVt
ZTwvZGM6dGl0bGU+PC9jYzpXb3JrPjwvcmRmOlJERj48L21ldGFkYXRhPjxnIGlkPSJsYXllcjki
IHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xMDEsLTM1NykiPjxwYXRoIGlkPSJwYXRoMTIxNDgiIHN0
eWxlPSJibG9jay1wcm9ncmVzc2lvbjp0Yjtjb2xvcjojYmViZWJlO2RpcmVjdGlvbjpsdHI7dGV4
dC1pbmRlbnQ6MDt0ZXh0LWFsaWduOnN0YXJ0O2VuYWJsZS1iYWNrZ3JvdW5kOmFjY3VtdWxhdGU7
dGV4dC10cmFuc2Zvcm06bm9uZTsiIGZpbGw9IiNiZWJlYmUiIGQ9Im0xMDQuNzUsMzU3LjA2Yy0y
LjA2MDIsMC0zLjc1LDEuNjg5OC0zLjc1LDMuNzV2NC40Mzc1YzAsMi4wNjAyLDEuNjg5OCwzLjc1
LDMuNzUsMy43NWg0LjkzNzVsMy43NSwyLjY1NjIsMS41OTM4LDEuMTI1di0xLjk2ODhsLTAuMDMx
My0yLjVjMS4xMTA2LTAuNTk3MTUsMS45Njg4LTEuNjUyNiwxLjk2ODgtMy4wNjI1di00LjQzNzVj
MC0yLjA2MDItMS42ODk4LTMuNzUtMy43NS0zLjc1aC04LjQ2ODh6bTAsMiw4LjQ2ODgsMGMwLjk4
NjgsMCwxLjc1LDAuNzYzMiwxLjc1LDEuNzV2NC40Mzc1YzAsMC44NjI3My0wLjYzNTA4LDEuNTQx
LTEuMTI1LDEuNjI1bC0wLjg0LDAuMTJ2MC44NDM3NSwxLjAzMTJsLTIuNDA2Mi0xLjY4NzUtMC4y
NS0wLjE4NzVoLTAuMzEyNS01LjI4MTJjLTAuOTg2OCwwLTEuNzUtMC43NjMyLTEuNzUtMS43NXYt
NC40Mzc1YzAtMC45ODY4LDAuNzYzMi0xLjc1LDEuNzUtMS43NXoiLz48L2c+PC9zdmc+Jyk7Cit9
CisKK3ZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWNsb3NlZC1jYXB0aW9ucy1jb250YWlu
ZXIgeworICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbWVkaWEtY2xvc2VkLWNhcHRpb25zLWNvbnRh
aW5lcjsKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgZGlzcGxheTogYmxvY2s7CisgICAg
cmlnaHQ6IDM4cHg7CisgICAgYm90dG9tOiAzNXB4OworICAgIG1heC13aWR0aDogLXdlYmtpdC1j
YWxjKDEwMCUgLSA0OHB4KTsgLyogcmlnaHQgKyAxMHB4ICovCisgICAgbWF4LWhlaWdodDogLXdl
YmtpdC1jYWxjKDEwMCUgLSAzNXB4KTsgLyogYm90dG9tICsgMTBweCAqLworICAgIG92ZXJmbG93
LXg6IGhpZGRlbjsKKyAgICBvdmVyZmxvdy15OiBhdXRvOworICAgIGJhY2tncm91bmQtY29sb3I6
IHJnYmEoMjAsIDIwLCAyMCwgMC44KTsKKyAgICBib3JkZXItcmFkaXVzOiAxMHB4OworICAgIGN1
cnNvcjogZGVmYXVsdDsKKyAgICB6LWluZGV4OiAyOworfQorCit2aWRlbzo6LXdlYmtpdC1tZWRp
YS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCB7CisgICAgZGlzcGxheTogYmxv
Y2s7CisgICAgZm9udC1mYW1pbHk6ICJIZWx2ZXRpY2EgQm9sZCIsIEhlbHZldGljYTsKKyAgICBm
b250LXNpemU6IDEwcHQ7CisgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKK30KKwordmlk
ZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY2xvc2VkLWNhcHRpb25zLXRyYWNrLWxpc3QgaDMg
eworICAgIG1hcmdpbjogMXB4IDMwcHg7CisgICAgY29sb3I6ICM3NTc1NzU7CisgICAgdGV4dC1z
aGFkb3c6IDAgMXB4IDAgYmxhY2s7CisgICAgcGFkZGluZy10b3A6IDBweDsKKyAgICBmb250LXdl
aWdodDogYm9sZDsKKyAgICBmb250LXNpemU6IDEwcHQ7Cit9CisKK3ZpZGVvOjotd2Via2l0LW1l
ZGlhLWNvbnRyb2xzLWNsb3NlZC1jYXB0aW9ucy10cmFjay1saXN0IHVsIHsKKyAgICBsaXN0LXN0
eWxlLXR5cGU6IG5vbmU7CisgICAgbWFyZ2luOiAwIDAgNHB4IDA7CisgICAgcGFkZGluZzogMDsK
KyAgICBmb250LXdlaWdodDogYm9sZDsKK30KKwordmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJv
bHMtY2xvc2VkLWNhcHRpb25zLXRyYWNrLWxpc3QgbGkgeworICAgIHBvc2l0aW9uOiByZWxhdGl2
ZTsKKyAgICBjb2xvcjogd2hpdGU7CisgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsKKyAgICB0
ZXh0LXNoYWRvdzogMCAxcHggMCBibGFjazsKKyAgICBtYXJnaW46IDA7CisgICAgcGFkZGluZy1s
ZWZ0OiAzN3B4OworICAgIHBhZGRpbmctcmlnaHQ6IDM1cHg7CisgICAgcGFkZGluZy10b3A6IDAu
MTVlbTsKKyAgICBwYWRkaW5nLWJvdHRvbTogMC4yZW07CisgICAgYm94LXNpemluZzogYm9yZGVy
LWJveDsKKyAgICBvdmVyZmxvdzogaGlkZGVuOworICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7Cisg
ICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CisgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJn
YmEoMCwgMCwgMCwgMCk7CisgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwg
MCwgMCk7Cit9Cit2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMt
dHJhY2stbGlzdCBsaS5zZWxlY3RlZCB7CisgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzAs
IDIzMCwgMjMwLCAwLjE1KTsKIH0KIAogYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtZnVs
bHNjcmVlbi1idXR0b24sIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWZ1bGxzY3JlZW4t
YnV0dG9uIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29u
dHJvbEVsZW1lbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJv
bEVsZW1lbnRzLmNwcAppbmRleCBmN2Q3MmM1MjBmY2ZiNzlhYzI3MGM4NTUyNzlkMGMyZDQxYzAw
OWFlLi4wYzAwYjY5MDM2YTRhMTA5NTg0Njg1ODEyNzViYWU3YjI5MGY1YmU4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCkBA
IC02NzcsMTEgKzY3NywxMSBAQCBjb25zdCBBdG9taWNTdHJpbmcmIE1lZGlhQ29udHJvbFJldHVy
blRvUmVhbHRpbWVCdXR0b25FbGVtZW50OjpzaGFkb3dQc2V1ZG9JZCgpCiAKIE1lZGlhQ29udHJv
bFRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uRWxlbWVudDo6TWVkaWFDb250cm9sVG9nZ2xlQ2xv
c2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50KERvY3VtZW50KiBkb2N1bWVudCwgTWVkaWFDb250cm9s
cyogY29udHJvbHMpCiAgICAgOiBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQoZG9jdW1lbnQsIE1l
ZGlhU2hvd0Nsb3NlZENhcHRpb25zQnV0dG9uKQotI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZP
Uk0oV0lOKQorI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShH
VEspCiAgICAgLCBtX2NvbnRyb2xzKGNvbnRyb2xzKQogI2VuZGlmCiB7Ci0jaWYgIVBMQVRGT1JN
KE1BQykgJiYgIVBMQVRGT1JNKFdJTikKKyNpZiAhUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0o
V0lOKSB8fCAhUExBVEZPUk0oR1RLKQogICAgIFVOVVNFRF9QQVJBTShjb250cm9scyk7CiAjZW5k
aWYKIH0KQEAgLTcxMSw3ICs3MTEsNyBAQCB2b2lkIE1lZGlhQ29udHJvbFRvZ2dsZUNsb3NlZENh
cHRpb25zQnV0dG9uRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZQogICAgICAg
ICAvLyBVSS4gTm90IGFsbCBwb3J0cyBtYXkgd2FudCB0aGUgY2xvc2VkIGNhcHRpb25zIGJ1dHRv
biB0byB0b2dnbGUgYSBsaXN0IG9mIHRyYWNrcywgc28KICAgICAgICAgLy8gd2UgaGF2ZSB0byB1
c2UgI2lmLgogICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTAxODc3Ci0jaWYgIVBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKFdJTikKKyNpZiAhUExB
VEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oV0lOKSAmJiAhUExBVEZPUk0oR1RLKQogICAgICAgICBt
ZWRpYUNvbnRyb2xsZXIoKS0+c2V0Q2xvc2VkQ2FwdGlvbnNWaXNpYmxlKCFtZWRpYUNvbnRyb2xs
ZXIoKS0+Y2xvc2VkQ2FwdGlvbnNWaXNpYmxlKCkpOwogICAgICAgICBzZXRDaGVja2VkKG1lZGlh
Q29udHJvbGxlcigpLT5jbG9zZWRDYXB0aW9uc1Zpc2libGUoKSk7CiAgICAgICAgIHVwZGF0ZURp
c3BsYXlUeXBlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRp
YUNvbnRyb2xFbGVtZW50cy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250
cm9sRWxlbWVudHMuaAppbmRleCA2ODI2MmQzNzdkMTI2ZjhiMmRhNGEzZThhZTg4NTNmMWNmZjg4
ZWZkLi4zNjhhNTgxZjU5MGE0NTM2MGM0NWRiNGU1NTc0NzU3NGU5YWJkMWY4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmgKQEAgLTI4
MCw3ICsyODAsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBz
aGFkb3dQc2V1ZG9JZCgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBkZWZhdWx0
RXZlbnRIYW5kbGVyKEV2ZW50KikgT1ZFUlJJREU7CiAKLSNpZiBQTEFURk9STShNQUMpIHx8IFBM
QVRGT1JNKFdJTikKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZP
Uk0oR1RLKQogICAgIE1lZGlhQ29udHJvbHMqIG1fY29udHJvbHM7CiAjZW5kaWYKIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzR3RrLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuY3BwCmluZGV4IGY0
ZjlkYzUxYzc2MjQwZTRlNDE2MWNjMWYwMWNkNGU0ZDQyZmE5NDguLjJkZWUwNGIxYjM4NWU3ZDlk
MzFjODFkYmYxODU2YmFjN2NjMDI3NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L01lZGlhQ29udHJvbHNHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L01lZGlhQ29udHJvbHNHdGsuY3BwCkBAIC0zMSwxMiArMzEsNDIgQEAKICNpZiBFTkFCTEUo
VklERU8pCiAjaW5jbHVkZSAiTWVkaWFDb250cm9sc0d0ay5oIgogCisjaW5jbHVkZSAiQ2hyb21l
LmgiCisjaW5jbHVkZSAiTW91c2VFdmVudC5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2Ns
YXNzIE1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyIDogcHVibGljIEV2ZW50TGlzdGVuZXIg
eworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhQ29udHJvbHNHdGtFdmVudExp
c3RlbmVyPiBjcmVhdGUoTWVkaWFDb250cm9sc0d0ayogbWVkaWFDb250cm9scykgeyByZXR1cm4g
YWRvcHRSZWYobmV3IE1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyKG1lZGlhQ29udHJvbHMp
KTsgfQorICAgIHN0YXRpYyBjb25zdCBNZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lciogY2Fz
dChjb25zdCBFdmVudExpc3RlbmVyKiBsaXN0ZW5lcikKKyAgICB7CisgICAgICAgIHJldHVybiBs
aXN0ZW5lci0+dHlwZSgpID09IEdPYmplY3RFdmVudExpc3RlbmVyVHlwZQorICAgICAgICAgICAg
PyBzdGF0aWNfY2FzdDxjb25zdCBNZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lcio+KGxpc3Rl
bmVyKQorICAgICAgICAgICAgOiAwOworICAgIH0KKworICAgIHZpcnR1YWwgYm9vbCBvcGVyYXRv
cj09KGNvbnN0IEV2ZW50TGlzdGVuZXImIG90aGVyKTsKKworcHJpdmF0ZToKKyAgICBNZWRpYUNv
bnRyb2xzR3RrRXZlbnRMaXN0ZW5lcihNZWRpYUNvbnRyb2xzR3RrKiBtZWRpYUNvbnRyb2xzKQor
ICAgICAgICA6IEV2ZW50TGlzdGVuZXIoR09iamVjdEV2ZW50TGlzdGVuZXJUeXBlKQorICAgICAg
ICAsIG1fbWVkaWFDb250cm9scyhtZWRpYUNvbnRyb2xzKQorICAgIHsKKyAgICB9CisKKyAgICB2
aXJ0dWFsIHZvaWQgaGFuZGxlRXZlbnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIEV2ZW50Kik7
CisKKyAgICBNZWRpYUNvbnRyb2xzR3RrKiBtX21lZGlhQ29udHJvbHM7Cit9OworCiBNZWRpYUNv
bnRyb2xzR3RrOjpNZWRpYUNvbnRyb2xzR3RrKERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IE1l
ZGlhQ29udHJvbHMoZG9jdW1lbnQpCiAgICAgLCBtX2R1cmF0aW9uRGlzcGxheSgwKQogICAgICwg
bV9lbmNsb3N1cmUoMCkKKyAgICAsIG1fZXZlbnRMaXN0ZW5lcigwKQorICAgICwgbV9jbG9zZWRD
YXB0aW9uc1RyYWNrTGlzdCgwKQorICAgICwgbV9jbG9zZWRDYXB0aW9uc0NvbnRhaW5lcigwKQog
ewogfQogCkBAIC05MSwxMSArMTIxLDI0IEBAIGJvb2wgTWVkaWFDb250cm9sc0d0azo6aW5pdGlh
bGl6ZUNvbnRyb2xzKERvY3VtZW50KiBkb2N1bWVudCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
CiAgICAgaWYgKGRvY3VtZW50LT5wYWdlKCktPnRoZW1lKCktPnN1cHBvcnRzQ2xvc2VkQ2FwdGlv
bmluZygpKSB7CisgICAgICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xDbG9zZWRDYXB0aW9uc0NvbnRh
aW5lckVsZW1lbnQ+IGNsb3NlZENhcHRpb25zQ29udGFpbmVyID0gTWVkaWFDb250cm9sQ2xvc2Vk
Q2FwdGlvbnNDb250YWluZXJFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQpOworCisgICAgICAgIFJl
ZlB0cjxNZWRpYUNvbnRyb2xDbG9zZWRDYXB0aW9uc1RyYWNrTGlzdEVsZW1lbnQ+IGNsb3NlZENh
cHRpb25zVHJhY2tMaXN0ID0gTWVkaWFDb250cm9sQ2xvc2VkQ2FwdGlvbnNUcmFja0xpc3RFbGVt
ZW50OjpjcmVhdGUoZG9jdW1lbnQsIHRoaXMpOworICAgICAgICBtX2Nsb3NlZENhcHRpb25zVHJh
Y2tMaXN0ID0gY2xvc2VkQ2FwdGlvbnNUcmFja0xpc3QuZ2V0KCk7CisgICAgICAgIGNsb3NlZENh
cHRpb25zQ29udGFpbmVyLT5hcHBlbmRDaGlsZChjbG9zZWRDYXB0aW9uc1RyYWNrTGlzdC5yZWxl
YXNlKCksIGV4Y2VwdGlvbkNvZGUsIEF0dGFjaExhemlseSk7CisgICAgICAgIGlmIChleGNlcHRp
b25Db2RlKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgICAgIFJlZlB0cjxNZWRp
YUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQ+IHRvZ2dsZUNsb3NlZENh
cHRpb25zQnV0dG9uID0gTWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVt
ZW50OjpjcmVhdGUoZG9jdW1lbnQsIHRoaXMpOwogICAgICAgICBtX3RvZ2dsZUNsb3NlZENhcHRp
b25zQnV0dG9uID0gdG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b24uZ2V0KCk7CiAgICAgICAgIHBh
bmVsLT5hcHBlbmRDaGlsZCh0b2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbi5yZWxlYXNlKCksIGV4
Y2VwdGlvbkNvZGUsIEF0dGFjaExhemlseSk7CiAgICAgICAgIGlmIChleGNlcHRpb25Db2RlKQog
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIG1fY2xvc2VkQ2FwdGlvbnNDb250
YWluZXIgPSBjbG9zZWRDYXB0aW9uc0NvbnRhaW5lci5nZXQoKTsKKyAgICAgICAgYXBwZW5kQ2hp
bGQoY2xvc2VkQ2FwdGlvbnNDb250YWluZXIucmVsZWFzZSgpLCBleGNlcHRpb25Db2RlLCBBdHRh
Y2hMYXppbHkpOworICAgICAgICBpZiAoZXhjZXB0aW9uQ29kZSkKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICB9CiAKICAgICBSZWZQdHI8TWVkaWFDb250cm9sRnVsbHNjcmVlbkJ1dHRv
bkVsZW1lbnQ+IGZ1bGxzY3JlZW5CdXR0b24gPSBNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0dG9u
RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KTsKQEAgLTE0Nyw2ICsxOTAsMTAgQEAgdm9pZCBNZWRp
YUNvbnRyb2xzR3RrOjpzZXRNZWRpYUNvbnRyb2xsZXIoTWVkaWFDb250cm9sbGVySW50ZXJmYWNl
KiBjb250cm9sbGVyKQogICAgICAgICBtX2R1cmF0aW9uRGlzcGxheS0+c2V0TWVkaWFDb250cm9s
bGVyKGNvbnRyb2xsZXIpOwogICAgIGlmIChtX2VuY2xvc3VyZSkKICAgICAgICAgbV9lbmNsb3N1
cmUtPnNldE1lZGlhQ29udHJvbGxlcihjb250cm9sbGVyKTsKKyAgICBpZiAobV9jbG9zZWRDYXB0
aW9uc0NvbnRhaW5lcikKKyAgICAgICAgbV9jbG9zZWRDYXB0aW9uc0NvbnRhaW5lci0+c2V0TWVk
aWFDb250cm9sbGVyKGNvbnRyb2xsZXIpOworICAgIGlmIChtX2Nsb3NlZENhcHRpb25zVHJhY2tM
aXN0KQorICAgICAgICBtX2Nsb3NlZENhcHRpb25zVHJhY2tMaXN0LT5zZXRNZWRpYUNvbnRyb2xs
ZXIoY29udHJvbGxlcik7CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sc0d0azo6cmVzZXQoKQpAQCAt
MTU5LDYgKzIwNiwxMyBAQCB2b2lkIE1lZGlhQ29udHJvbHNHdGs6OnJlc2V0KCkKICAgICBtX2R1
cmF0aW9uRGlzcGxheS0+c2V0SW5uZXJUZXh0KHBhZ2UtPnRoZW1lKCktPmZvcm1hdE1lZGlhQ29u
dHJvbHNUaW1lKGR1cmF0aW9uKSwgQVNTRVJUX05PX0VYQ0VQVElPTik7CiAgICAgbV9kdXJhdGlv
bkRpc3BsYXktPnNldEN1cnJlbnRWYWx1ZShkdXJhdGlvbik7CiAKKyAgICBpZiAobV90b2dnbGVD
bG9zZWRDYXB0aW9uc0J1dHRvbikgeworICAgICAgICBpZiAobV9tZWRpYUNvbnRyb2xsZXItPmhh
c0Nsb3NlZENhcHRpb25zKCkpCisgICAgICAgICAgICBtX3RvZ2dsZUNsb3NlZENhcHRpb25zQnV0
dG9uLT5zaG93KCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1fdG9nZ2xlQ2xvc2VkQ2Fw
dGlvbnNCdXR0b24tPmhpZGUoKTsKKyAgICB9CisKICAgICBNZWRpYUNvbnRyb2xzOjpyZXNldCgp
OwogfQogCkBAIC0yMDgsNiArMjYyLDggQEAgdm9pZCBNZWRpYUNvbnRyb2xzR3RrOjptYWtlVHJh
bnNwYXJlbnQoKQogCiAgICAgaWYgKG1fdm9sdW1lU2xpZGVyQ29udGFpbmVyKQogICAgICAgICBt
X3ZvbHVtZVNsaWRlckNvbnRhaW5lci0+aGlkZSgpOworCisgICAgaGlkZUNsb3NlZENhcHRpb25U
cmFja0xpc3QoKTsKIH0KIAogdm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpzaG93Vm9sdW1lU2xpZGVy
KCkKQEAgLTIzNiw2ICsyOTIsOTAgQEAgdm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpjcmVhdGVUZXh0
VHJhY2tEaXNwbGF5KCkKIH0KICNlbmRpZgogCit2b2lkIE1lZGlhQ29udHJvbHNHdGs6OnRvZ2ds
ZUNsb3NlZENhcHRpb25UcmFja0xpc3QoKQoreworICAgIGlmICghbV9tZWRpYUNvbnRyb2xsZXIt
Pmhhc0Nsb3NlZENhcHRpb25zKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICghbV9jbG9z
ZWRDYXB0aW9uc0NvbnRhaW5lciB8fCAhbV9jbG9zZWRDYXB0aW9uc1RyYWNrTGlzdCkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaWYgKG1fY2xvc2VkQ2FwdGlvbnNDb250YWluZXItPmlzU2hvd2lu
ZygpKSB7CisgICAgICAgIGhpZGVDbG9zZWRDYXB0aW9uVHJhY2tMaXN0KCk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKKyAgICBtX2Nsb3NlZENhcHRpb25zVHJhY2tMaXN0LT51cGRhdGVEaXNw
bGF5KCk7CisgICAgc2hvd0Nsb3NlZENhcHRpb25UcmFja0xpc3QoKTsKIH0KIAordm9pZCBNZWRp
YUNvbnRyb2xzR3RrOjpzaG93Q2xvc2VkQ2FwdGlvblRyYWNrTGlzdCgpCit7CisgICAgbV92b2x1
bWVTbGlkZXJDb250YWluZXItPmhpZGUoKTsKKworICAgIGlmICghbV9jbG9zZWRDYXB0aW9uc0Nv
bnRhaW5lciB8fCBtX2Nsb3NlZENhcHRpb25zQ29udGFpbmVyLT5pc1Nob3dpbmcoKSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgbV9jbG9zZWRDYXB0aW9uc0NvbnRhaW5lci0+c2hvdygpOworICAg
IG1fcGFuZWwtPnNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlQb2ludGVyRXZlbnRz
LCBDU1NWYWx1ZU5vbmUpOworCisgICAgUmVmUHRyPEV2ZW50TGlzdGVuZXI+IGxpc3RlbmVyID0g
ZXZlbnRMaXN0ZW5lcigpOworCisgICAgLy8gQ2hlY2sgZm9yIGNsaWNrcyBvdXRzaWRlIHRoZSBt
ZWRpYS1jb250cm9sCisgICAgZG9jdW1lbnQoKS5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMo
KS5jbGlja0V2ZW50LCBsaXN0ZW5lciwgdHJ1ZSk7CisgICAgLy8gQ2hlY2sgZm9yIGNsaWNrcyBp
bnNpZGUgdGhlIG1lZGlhLWNvbnRyb2wgYm94CisgICAgYWRkRXZlbnRMaXN0ZW5lcihldmVudE5h
bWVzKCkuY2xpY2tFdmVudCwgbGlzdGVuZXIsIHRydWUpOworfQorCit2b2lkIE1lZGlhQ29udHJv
bHNHdGs6OmhpZGVDbG9zZWRDYXB0aW9uVHJhY2tMaXN0KCkKK3sKKyAgICBpZiAoIW1fY2xvc2Vk
Q2FwdGlvbnNDb250YWluZXIgfHwgIW1fY2xvc2VkQ2FwdGlvbnNDb250YWluZXItPmlzU2hvd2lu
ZygpKQorICAgICAgICByZXR1cm47CisKKyAgICBtX2Nsb3NlZENhcHRpb25zQ29udGFpbmVyLT5o
aWRlKCk7CisgICAgbV9wYW5lbC0+cmVtb3ZlSW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0
eVBvaW50ZXJFdmVudHMpOworCisgICAgRXZlbnRMaXN0ZW5lciogbGlzdGVuZXIgPSBldmVudExp
c3RlbmVyKCkuZ2V0KCk7CisKKyAgICBkb2N1bWVudCgpLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZl
bnROYW1lcygpLmNsaWNrRXZlbnQsIGxpc3RlbmVyLCB0cnVlKTsKKyAgICByZW1vdmVFdmVudExp
c3RlbmVyKGV2ZW50TmFtZXMoKS5jbGlja0V2ZW50LCBsaXN0ZW5lciwgdHJ1ZSk7Cit9CisKK3Zv
aWQgTWVkaWFDb250cm9sc0d0azo6aGFuZGxlQ2xpY2tFdmVudChFdmVudCAqZXZlbnQpCit7Cisg
ICAgTm9kZSogY3VycmVudFRhcmdldCA9IGV2ZW50LT5jdXJyZW50VGFyZ2V0KCktPnRvTm9kZSgp
OworICAgIE5vZGUqIHRhcmdldCA9IGV2ZW50LT50YXJnZXQoKS0+dG9Ob2RlKCk7CisKKyAgICBp
ZiAoKGN1cnJlbnRUYXJnZXQgPT0gJmRvY3VtZW50KCkgJiYgIXNoYWRvd0hvc3QoKS0+Y29udGFp
bnModGFyZ2V0KSkKKyAgICAgICAgfHwgKGN1cnJlbnRUYXJnZXQgPT0gdGhpcyAmJiAhbV9jbG9z
ZWRDYXB0aW9uc0NvbnRhaW5lci0+Y29udGFpbnModGFyZ2V0KSkpIHsKKyAgICAgICAgaGlkZUNs
b3NlZENhcHRpb25UcmFja0xpc3QoKTsKKyAgICAgICAgZXZlbnQtPnN0b3BJbW1lZGlhdGVQcm9w
YWdhdGlvbigpOworICAgICAgICBldmVudC0+c2V0RGVmYXVsdEhhbmRsZWQoKTsKKyAgICB9Cit9
CisKK1Bhc3NSZWZQdHI8TWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXI+IE1lZGlhQ29udHJv
bHNHdGs6OmV2ZW50TGlzdGVuZXIoKQoreworICAgIGlmICghbV9ldmVudExpc3RlbmVyKQorICAg
ICAgICBtX2V2ZW50TGlzdGVuZXIgPSBNZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lcjo6Y3Jl
YXRlKHRoaXMpOworCisgICAgcmV0dXJuIG1fZXZlbnRMaXN0ZW5lcjsKK30KKwordm9pZCBNZWRp
YUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lcjo6aGFuZGxlRXZlbnQoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCosIEV2ZW50KiBldmVudCkKK3sKKyAgICBpZiAoZXZlbnQtPnR5cGUoKSA9PSBldmVudE5h
bWVzKCkuY2xpY2tFdmVudCkKKyAgICAgICAgbV9tZWRpYUNvbnRyb2xzLT5oYW5kbGVDbGlja0V2
ZW50KGV2ZW50KTsKKworICAgIHJldHVybjsKK30KKworYm9vbCBNZWRpYUNvbnRyb2xzR3RrRXZl
bnRMaXN0ZW5lcjo6b3BlcmF0b3I9PShjb25zdCBFdmVudExpc3RlbmVyJiBsaXN0ZW5lcikKK3sK
KyAgICBpZiAoY29uc3QgTWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXIqIG1lZGlhQ29udHJv
bHNHdGtFdmVudExpc3RlbmVyID0gTWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXI6OmNhc3Qo
Jmxpc3RlbmVyKSkKKyAgICAgICAgcmV0dXJuIG1fbWVkaWFDb250cm9scyA9PSBtZWRpYUNvbnRy
b2xzR3RrRXZlbnRMaXN0ZW5lci0+bV9tZWRpYUNvbnRyb2xzOworICAgIHJldHVybiBmYWxzZTsK
K30KKworfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9N
ZWRpYUNvbnRyb2xzR3RrLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRy
b2xzR3RrLmgKaW5kZXggMmVhMzI1OTlmNWM0ZDdjOTI0OTIxNmFmNjE1YzM1NzE1YzcxY2I0OS4u
MTYwMzdmNjYxMzQ1ZWE1NTZhOWFjYTczMzRiNzZiMzJjNTg0YjJhNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sc0d0ay5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuaApAQCAtMzUsNiArMzUsOCBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIE1lZGlhQ29udHJvbHNHdGtFdmVudExpc3Rl
bmVyOworCiBjbGFzcyBNZWRpYUNvbnRyb2xzR3RrIDogcHVibGljIE1lZGlhQ29udHJvbHMgewog
cHVibGljOgogICAgIC8vIENhbGxlZCBmcm9tIHBvcnQtc3BlY2lmaWMgcGFyZW50IGNyZWF0ZSBm
dW5jdGlvbiB0byBjcmVhdGUgY3VzdG9tIGNvbnRyb2xzLgpAQCAtNDcsNiArNDksOSBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUN1cnJlbnRUaW1lRGlzcGxheSgpIE9WRVJSSURF
OwogICAgIHZpcnR1YWwgdm9pZCBzaG93Vm9sdW1lU2xpZGVyKCkgT1ZFUlJJREU7CiAgICAgdmly
dHVhbCB2b2lkIG1ha2VUcmFuc3BhcmVudCgpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCB0
b2dnbGVDbG9zZWRDYXB0aW9uVHJhY2tMaXN0KCkgT1ZFUlJJREU7CisKKyAgICB2b2lkIGhhbmRs
ZUNsaWNrRXZlbnQoRXZlbnQqKTsKIAogI2lmIEVOQUJMRShWSURFT19UUkFDSykKICAgICB2b2lk
IGNyZWF0ZVRleHRUcmFja0Rpc3BsYXkoKSBPVkVSUklERTsKQEAgLTU0LDEzICs1OSwyMSBAQCBw
dWJsaWM6CiAKIHByb3RlY3RlZDoKICAgICBleHBsaWNpdCBNZWRpYUNvbnRyb2xzR3RrKERvY3Vt
ZW50Kik7Ci0KICAgICBib29sIGluaXRpYWxpemVDb250cm9scyhEb2N1bWVudCopOwogCiBwcml2
YXRlOgorICAgIHZvaWQgc2hvd0Nsb3NlZENhcHRpb25UcmFja0xpc3QoKTsKKyAgICB2b2lkIGhp
ZGVDbG9zZWRDYXB0aW9uVHJhY2tMaXN0KCk7CisKKyAgICBQYXNzUmVmUHRyPE1lZGlhQ29udHJv
bHNHdGtFdmVudExpc3RlbmVyPiBldmVudExpc3RlbmVyKCk7CisKICAgICBNZWRpYUNvbnRyb2xU
aW1lUmVtYWluaW5nRGlzcGxheUVsZW1lbnQqIG1fZHVyYXRpb25EaXNwbGF5OwogICAgIE1lZGlh
Q29udHJvbFBhbmVsRW5jbG9zdXJlRWxlbWVudCogbV9lbmNsb3N1cmU7CiAgICAgTWVkaWFDb250
cm9sVm9sdW1lU2xpZGVyQ29udGFpbmVyRWxlbWVudCogbV92b2x1bWVTbGlkZXJDb250YWluZXI7
CisgICAgTWVkaWFDb250cm9sQ2xvc2VkQ2FwdGlvbnNUcmFja0xpc3RFbGVtZW50KiBtX2Nsb3Nl
ZENhcHRpb25zVHJhY2tMaXN0OworICAgIE1lZGlhQ29udHJvbENsb3NlZENhcHRpb25zQ29udGFp
bmVyRWxlbWVudCogbV9jbG9zZWRDYXB0aW9uc0NvbnRhaW5lcjsKKworICAgIFJlZlB0cjxNZWRp
YUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lcj4gbV9ldmVudExpc3RlbmVyOwogfTsKIAogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAKaW5kZXggMjUw
ZWE1NTlkMjEzYjY5MWVjN2QyNDdhYzgwNzliMzQyNTY0MjU4MC4uMjg4OWJiMjZmZDJiY2FhMjI0
MGUxOGEyOTZjYmYxZTMxMmY1NjMyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9D
YXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRp
b25Vc2VyUHJlZmVyZW5jZXMuY3BwCkBAIC0xNTcsNiArMTU3LDkgQEAgdm9pZCBDYXB0aW9uVXNl
clByZWZlcmVuY2VzOjpzZXRQcmVmZXJyZWRMYW5ndWFnZShjb25zdCBTdHJpbmcmIGxhbmd1YWdl
KQogCiBzdGF0aWMgU3RyaW5nIHRyYWNrRGlzcGxheU5hbWUoVGV4dFRyYWNrKiB0cmFjaykKIHsK
KyAgICBpZiAodHJhY2sgPT0gVGV4dFRyYWNrOjpjYXB0aW9uTWVudU9mZkl0ZW0oKSkKKyAgICAg
ICAgcmV0dXJuIHRleHRUcmFja09mZk1lbnVJdGVtVGV4dCgpOworCiAgICAgaWYgKHRyYWNrLT5s
YWJlbCgpLmlzRW1wdHkoKSAmJiB0cmFjay0+bGFuZ3VhZ2UoKS5pc0VtcHR5KCkpCiAgICAgICAg
IHJldHVybiB0ZXh0VHJhY2tOb0xhYmVsVGV4dCgpOwogICAgIGlmICghdHJhY2stPmxhYmVsKCku
aXNFbXB0eSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0xvY2Fs
aXplZFN0cmluZ3NHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0xvY2FsaXpl
ZFN0cmluZ3NHdGsuY3BwCmluZGV4IDg2YjY2NTExY2E5MWUzNGI4ZmIyMzZhNTg5YWIyMzRkYzZl
ZTY1NGIuLmM2ZWJiYjUwMjYwZTdhYzc3MGNlOTYyYjBlN2FkZWQxYzQzMWRhOTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9Mb2NhbGl6ZWRTdHJpbmdzR3RrLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvTG9jYWxpemVkU3RyaW5nc0d0ay5jcHAK
QEAgLTc5NSwxNyArNzk1LDE3IEBAIFN0cmluZyB0ZXh0VHJhY2tDbG9zZWRDYXB0aW9uc1RleHQo
KQogCiBTdHJpbmcgdGV4dFRyYWNrU3VidGl0bGVzVGV4dCgpCiB7Ci0gICAgcmV0dXJuIFN0cmlu
Zzo6ZnJvbVVURjgoQ18oIlN1YnRpdGxlcyIsICJNZW51IHNlY3Rpb24gaGVhZGluZyBmb3Igc3Vi
dGl0bGVzIikpOworICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KENfKCJNZW51IHNlY3Rpb24g
aGVhZGluZyBmb3Igc3VidGl0bGVzIiwgIlN1YnRpdGxlcyIpKTsKIH0KIAogU3RyaW5nIHRleHRU
cmFja09mZk1lbnVJdGVtVGV4dCgpCiB7Ci0gICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoQ18o
Ik9mZiIsICJNZW51IGl0ZW0gbGFiZWwgZm9yIHRoZSB0cmFjayB0aGF0IHJlcHJlc2VudHMgZGlz
YWJsaW5nIGNsb3NlZCBjYXB0aW9ucyIpKTsKKyAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChD
XygiTWVudSBpdGVtIGxhYmVsIGZvciB0aGUgdHJhY2sgdGhhdCByZXByZXNlbnRzIGRpc2FibGlu
ZyBjbG9zZWQgY2FwdGlvbnMiLCAiT2ZmIikpOwogfQogCiBTdHJpbmcgdGV4dFRyYWNrTm9MYWJl
bFRleHQoKQogewotICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KENfKCJObyBsYWJlbCIsICJN
ZW51IGl0ZW0gbGFiZWwgZm9yIGEgY2xvc2VkIGNhcHRpb25zIHRyYWNrIHRoYXQgaGFzIG5vIG90
aGVyIG5hbWUiKSk7CisgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoQ18oIk1lbnUgaXRlbSBs
YWJlbCBmb3IgYSBjbG9zZWQgY2FwdGlvbnMgdHJhY2sgdGhhdCBoYXMgbm8gb3RoZXIgbmFtZSIs
ICJObyBsYWJlbCIpKTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGsuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0
ay9SZW5kZXJUaGVtZUd0ay5oCmluZGV4IGE4Yzk3MzVjNzA3MzUzNmIzYTIyOTJlODYwNGE0NzZl
NzJiNTczZDAuLjVlNTM0NzY0MDk1YTgxMDA3MGJkYmQ2ZmEzNjJlZWJmMzZjZGExMTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0ay5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0ay5oCkBAIC04Nyw2ICs4
Nyw3IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoVklERU8pCiAgICAgdmlydHVhbCBTdHJpbmcgZXh0
cmFNZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgpOwogICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdE1l
ZGlhQ29udHJvbHNDdXJyZW50VGltZShmbG9hdCBjdXJyZW50VGltZSwgZmxvYXQgZHVyYXRpb24p
IGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0Nsb3NlZENhcHRpb25pbmcoKSBjb25z
dCBPVkVSUklERSB7IHJldHVybiB0cnVlOyB9CiAKICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkp
CiAgICAgdmlydHVhbCBTdHJpbmcgZXh0cmFGdWxsU2NyZWVuU3R5bGVTaGVldCgpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IGE3MDNkOWNiYWIzM2Q5MzEyZjkyY2M1N2Y2NzM4MjRkNDJmNWVhY2YuLjRlMWViZTAyYmMzZjI2
YzFmYzM5ZTI3ZjU5ZDRlZjNkM2NmMWQ5YjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMy0w
OS0wMyAgRGFuaWxvIENlc2FyIExlbWVzIGRlIFBhdWxhICA8ZGFuaWxvLmNlc2FyQGNvbGxhYm9y
YS5jby51az4KKworICAgICAgICBbR1RLXSBhZGQgc3VwcG9ydCBmb3Igc3VidGl0bGVzIG9uIHdl
YmtpdDJHVEsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTExNzAwOAorCisgICAgICAgIEJ5IGFjdGl2YXRpbmcgc3VidGl0bGVzIHN1cHBvcnQgb24gd2Vi
a2l0MkdUSywgdGhlIHZpZGVvIHBsYXllcgorICAgICAgICByZWNvZ25pemVzIGFuZCB1c2UgdGV4
dCA8dHJhY2tzPiBpbnNpZGUgPHZpZGVvPiBlbGVtZW50cy4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRp
b25zOgorCiAyMDEzLTA5LTAxICBEaXJrIFNjaHVsemUgIDxrcml0QHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgQWRkIGVkZ2VNb2RlIGF0dHJpYnR1ZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rl
c3RFeHBlY3RhdGlvbnMKaW5kZXggNmZhMWM3NDRiMmQzM2M4MTJmNGJiZTNkNzI1MzU5OTUyMjQ5
Nzc4OS4uMWFlNzMzNWZkM2JjMGQxNzQzMjI3OWFlYTNlYjRkN2Q5NDViYjMyYyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTc4NiwxNSArNzg2LDYgQEAg
QnVnKEdUSykgbWVkaWEvcHJvZ3Jlc3MtZXZlbnRzLWdlbmVyYXRlZC1jb3JyZWN0bHkuaHRtbCBb
IEZhaWx1cmUgVGltZW91dCBdCiAKIHdlYmtpdC5vcmcvYi8xMDIyNTcgZmFzdC9kb20vV2luZG93
L29wZW4td2luZG93LW1pbi1zaXplLmh0bWwgWyBUaW1lb3V0IF0KIAotIyBHVEsgc3RpbGwgaGFz
IHRoZSBDQyB0b2dnbGUgYnV0dG9uLCBub3QgdGhlIG1lbnUgb2YgdHJhY2tzLgotd2Via2l0Lm9y
Zy9iLzEwMTY3MCBtZWRpYS92aWRlby1jb250cm9scy1jYXB0aW9ucy10cmFja21lbnUuaHRtbCBb
IFNraXAgXQotd2Via2l0Lm9yZy9iLzEwMTY3MCBtZWRpYS92aWRlby1jb250cm9scy1jYXB0aW9u
cy10cmFja21lbnUtc29ydGVkLmh0bWwgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi8xMDE2NzAgbWVk
aWEvdmlkZW8tY29udHJvbHMtY2FwdGlvbnMtdHJhY2ttZW51LWxvY2FsaXplZC5odG1sIFsgU2tp
cCBdCi13ZWJraXQub3JnL2IvMTAxNjcwIG1lZGlhL3ZpZGVvLWNvbnRyb2xzLWNhcHRpb25zLXRy
YWNrbWVudS1oaWRlLW9uLWNsaWNrLmh0bWwgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi8xMDE2NzAg
bWVkaWEvdmlkZW8tY29udHJvbHMtY2FwdGlvbnMtdHJhY2ttZW51LWhpZGUtb24tY2xpY2stb3V0
c2lkZS5odG1sIFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMTAxNjcwIG1lZGlhL3RyYWNrL3RyYWNr
LXVzZXItcHJlZmVyZW5jZXMuaHRtbCBbIFNraXAgXQotd2Via2l0Lm9yZy9iLzEwMTY3MCBtZWRp
YS92aWRlby1jb250cm9scy1jYXB0aW9ucy10cmFja21lbnUtaW5jbHVkZXMtZW5hYmxlZC10cmFj
ay5odG1sIFsgU2tpcCBdCi0KIHdlYmtpdC5vcmcvYi8xMDcxOTQgc3RvcmFnZS9pbmRleGVkZGIv
ZGF0YWJhc2UtcXVvdGEuaHRtbCBbIFRpbWVvdXQgXQogd2Via2l0Lm9yZy9iLzEwNzE5NCBzdG9y
YWdlL2luZGV4ZWRkYi9wZW5kaW5nLWFjdGl2aXR5LXdvcmtlcnMuaHRtbCBbIFRpbWVvdXQgXQog
d2Via2l0Lm9yZy9iLzEwNzE5NCBzdG9yYWdlL2luZGV4ZWRkYi9wZW5kaW5nLXZlcnNpb24tY2hh
bmdlLW9uLWV4aXQuaHRtbCBbIFRpbWVvdXQgXQpAQCAtOTAxLDYgKzg5MiwxMSBAQCB3ZWJraXQu
b3JnL2IvNDQ0NzggZmFzdC90ZXh0L2h5cGhlbi1taW4tcHJlZmVycmVkLXdpZHRoLmh0bWwgWyBT
a2lwIF0KICMgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmFwcGxpY2F0aW9uQ2FjaGVEaXNrVXNhZ2VG
b3JPcmlnaW4gaXNuJ3QgaW1wbGVtZW50ZWQuCiB3ZWJraXQub3JnL2IvNTcxMjcgaHR0cC90ZXN0
cy9hcHBjYWNoZS9vcmlnaW4tdXNhZ2UuaHRtbCBbIEZhaWx1cmUgXQogCisjIEdUSyBpcyBtb3Zp
bmcgZnJvbSB0b2dnbGUgYnV0dG9uIHRvIGEgbWVudSBvZiB0cmFja3MuCit3ZWJraXQub3JnL2Iv
MTAxNjcwIG1lZGlhL3ZpZGVvLWNvbnRyb2xzLWNhcHRpb25zLXRyYWNrbWVudS5odG1sIFsgRmFp
bHVyZSBdCit3ZWJraXQub3JnL2IvMTAxNjcwIG1lZGlhL3RyYWNrL3RyYWNrLXVzZXItcHJlZmVy
ZW5jZXMuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzEwMTY3MCBtZWRpYS92aWRlby1j
b250cm9scy1jYXB0aW9ucy10cmFja21lbnUtaW5jbHVkZXMtZW5hYmxlZC10cmFjay5odG1sIFsg
RmFpbHVyZSBdCisKIEJ1ZyhHVEspIGh0dHAvdGVzdHMvbG9hZGluZy9iYWQtc2NoZW1lLXN1YmZy
YW1lLmh0bWwgWyBGYWlsdXJlIF0KIAogIyBOZWVkZWQgdG8gY292ZXIgdGhlIGZpeCBmb3IgPHJk
YXI6Ly9wcm9ibGVtLzY3Mjc0OTU+CkBAIC0xMjEwLDYgKzEyMDYsNyBAQCB3ZWJraXQub3JnL2Iv
ODk2NjMgZWRpdGluZy9kZWxldGluZy9kZWxldGUtMzgwMDgzNC1maXguaHRtbCBbIEZhaWx1cmUg
XQogCiB3ZWJraXQub3JnL2IvODczNTUgY2FudmFzL3BoaWxpcC90ZXN0cy8yZC50ZXh0LmRyYXcu
Zm9udGZhY2Uubm90aW5wYWdlLmh0bWwgWyBGYWlsdXJlIF0KIAorIyBHVEsgaXMgbW92aW5nIGZy
b20gdGhlIHNpbXBsZSB0b2dnbGUgYnV0dG9uIHRvIGEgbWVudSBvZiB0cmFja3MKIHdlYmtpdC5v
cmcvYi85NTQyOCBtZWRpYS92aWRlby1jb250cm9scy1jYXB0aW9ucy5odG1sIFsgRmFpbHVyZSBd
CiAKIHdlYmtpdC5vcmcvYi85NTQyOSBzdmcvY3VzdG9tL2NsYW1wZWQtbWFza2luZy1jbGlwcGlu
Zy5zdmcgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>210396</attachid>
            <date>2013-09-03 12:03:58 -0700</date>
            <delta_ts>2013-09-04 10:38:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117008-20130903160355.patch</filename>
            <type>text/plain</type>
            <size>23600</size>
            <attacher name="Danilo de Paula">danilo.eu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0OTc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWU4NGRhMWY1OWFlYTlk
M2JiZGFkYjgyY2I4ODAzOWY0NDE0NmNlNC4uZTEzZGM1MzZmZjI2MTc1NDYzNjgxNjc3MDRmY2Ri
ZDgyMTRjY2Q4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDU0IEBACiAyMDEzLTA5LTAzICBEYW5p
bG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgog
CisgICAgICAgIFtHVEtdIGFkZCBzdXBwb3J0IGZvciBzdWJ0aXRsZXMgb24gd2Via2l0MkdUSwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3MDA4CisK
KyAgICAgICAgQnkgYWN0aXZhdGluZyBzdWJ0aXRsZXMgc3VwcG9ydCBvbiB3ZWJraXQyR1RLLCB0
aGUgdmlkZW8gcGxheWVyCisgICAgICAgIHJlY29nbml6ZXMgYW5kIHVzZSB0ZXh0IDx0cmFja3M+
IGluc2lkZSA8dmlkZW8+IGVsZW1lbnRzLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIExheW91dCB0ZXN0cyAodHJhY2stbWVudSkgc2hvdWxkIGNvdmVy
IHRoaXMgY2hhbmdlLgorCisgICAgICAgICogY3NzL21lZGlhQ29udHJvbHNHdGsuY3NzOgorICAg
ICAgICAoYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdG9nZ2xlLWNsb3NlZC1jYXB0aW9u
cy1idXR0b24sIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXRvZ2dsZS1jbG9zZWQtY2Fw
dGlvbnMtYnV0dG9uKToKKyAgICAgICAgKHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWNs
b3NlZC1jYXB0aW9ucy1jb250YWluZXIpOgorICAgICAgICAodmlkZW86Oi13ZWJraXQtbWVkaWEt
Y29udHJvbHMtY2xvc2VkLWNhcHRpb25zLXRyYWNrLWxpc3QpOgorICAgICAgICAodmlkZW86Oi13
ZWJraXQtbWVkaWEtY29udHJvbHMtY2xvc2VkLWNhcHRpb25zLXRyYWNrLWxpc3QgaDMpOgorICAg
ICAgICAodmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY2xvc2VkLWNhcHRpb25zLXRyYWNr
LWxpc3QgdWwpOgorICAgICAgICAodmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY2xvc2Vk
LWNhcHRpb25zLXRyYWNrLWxpc3QgbGkpOgorICAgICAgICAodmlkZW86Oi13ZWJraXQtbWVkaWEt
Y29udHJvbHMtY2xvc2VkLWNhcHRpb25zLXRyYWNrLWxpc3QgbGkuc2VsZWN0ZWQpOgorICAgICAg
ICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhQ29udHJvbFRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uRWxlbWVudDo6TWVkaWFD
b250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50KToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhQ29udHJvbFRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uRWxlbWVudDo6ZGVmYXVs
dEV2ZW50SGFuZGxlcik6CisgICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVu
dHMuaDoKKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzR3RrLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyOjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXI6OmNhc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXI6Ok1lZGlhQ29udHJv
bHNHdGtFdmVudExpc3RlbmVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbHNHdGs6
Ok1lZGlhQ29udHJvbHNHdGspOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0d0azo6
aW5pdGlhbGl6ZUNvbnRyb2xzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbHNHdGs6
OnNldE1lZGlhQ29udHJvbGxlcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzR3Rr
OjpyZXNldCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzR3RrOjptYWtlVHJhbnNw
YXJlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0d0azo6dG9nZ2xlQ2xvc2Vk
Q2FwdGlvblRyYWNrTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzR3RrOjpz
aG93Q2xvc2VkQ2FwdGlvblRyYWNrTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRy
b2xzR3RrOjpoaWRlQ2xvc2VkQ2FwdGlvblRyYWNrTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYUNvbnRyb2xzR3RrOjpoYW5kbGVDbGlja0V2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhQ29udHJvbHNHdGs6OmV2ZW50TGlzdGVuZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFD
b250cm9sc0d0a0V2ZW50TGlzdGVuZXI6OmhhbmRsZUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyOjpvcGVyYXRvcj09KToKKyAgICAgICAgKiBo
dG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzR3RrLmg6CisgICAgICAgICogcGFnZS9DYXB0aW9uVXNl
clByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRyYWNrRGlzcGxheU5hbWUpOgor
ICAgICAgICAqIHBsYXRmb3JtL2d0ay9Mb2NhbGl6ZWRTdHJpbmdzR3RrLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OnRleHRUcmFja1N1YnRpdGxlc1RleHQpOgorICAgICAgICAoV2ViQ29yZTo6dGV4
dFRyYWNrT2ZmTWVudUl0ZW1UZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OnRleHRUcmFja05vTGFi
ZWxUZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGsuaDoKKworMjAx
My0wOS0wMyAgRGFuaWxvIENlc2FyIExlbWVzIGRlIFBhdWxhICA8ZGFuaWxvLmNlc2FyQGNvbGxh
Ym9yYS5jby51az4KKwogICAgICAgICBbR1RLXVtFRkxdIGluY2x1ZGUgbWlzc2luZyBsb2NhbGl6
ZWQgc3RyaW5ncyBmb3Igc3VidGl0bGUgYXV0byB0cmFjawogICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIwNjI5CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9tZWRpYUNvbnRyb2xzR3RrLmNzcyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9tZWRp
YUNvbnRyb2xzR3RrLmNzcwppbmRleCA1NzI5ZDQ1ODcyMWEwZDgyMWYwOTBiY2UzZTJmZWJiYzIz
MzI4YmQ3Li42MWJhMTJhOTVjZTI1YTc2MmNjYmViNWY4ZjZmMDJlMTg2MmE0NzNhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvbWVkaWFDb250cm9sc0d0ay5jc3MKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL21lZGlhQ29udHJvbHNHdGsuY3NzCkBAIC0yMjIsNiArMjIyLDY5IEBAIGF1
ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXRvZ2dsZS1jbG9zZWQtY2FwdGlvbnMtYnV0dG9u
LCB2aWRlbzo6LXdlYmtpdC1tZWRpCiAgICAgaGVpZ2h0OiAzMHB4OwogICAgIGxpbmUtaGVpZ2h0
OiAzMHB4OwogICAgIG1hcmdpbjogMCA5cHggMCAtN3B4OworICAgIGJhY2tncm91bmQtcmVwZWF0
Om5vLXJlcGVhdDsKKyAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlcjsKKyAgICBiYWNrZ3Jv
dW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIGlkPSJzdmc3Mzg0IiB4bWxu
czpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiIHhtbG5z
PSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgaGVpZ2h0PSIxNiIgd2lkdGg9IjE2IiB2ZXJz
aW9uPSIxLjEiIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiIHhtbG5z
OmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+PG1ldGFkYXRhIGlkPSJtZXRh
ZGF0YTkwIj48cmRmOlJERj48Y2M6V29yayByZGY6YWJvdXQ9IiI+PGRjOmZvcm1hdD5pbWFnZS9z
dmcreG1sPC9kYzpmb3JtYXQ+PGRjOnR5cGUgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcv
ZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIvPjxkYzp0aXRsZT5Hbm9tZSBTeW1ib2xpYyBJY29uIFRo
ZW1lPC9kYzp0aXRsZT48L2NjOldvcms+PC9yZGY6UkRGPjwvbWV0YWRhdGE+PGcgaWQ9ImxheWVy
OSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEwMSwtMzU3KSI+PHBhdGggaWQ9InBhdGgxMjE0OCIg
c3R5bGU9ImJsb2NrLXByb2dyZXNzaW9uOnRiO2NvbG9yOiNiZWJlYmU7ZGlyZWN0aW9uOmx0cjt0
ZXh0LWluZGVudDowO3RleHQtYWxpZ246c3RhcnQ7ZW5hYmxlLWJhY2tncm91bmQ6YWNjdW11bGF0
ZTt0ZXh0LXRyYW5zZm9ybTpub25lOyIgZmlsbD0iI2JlYmViZSIgZD0ibTEwNC43NSwzNTcuMDZj
LTIuMDYwMiwwLTMuNzUsMS42ODk4LTMuNzUsMy43NXY0LjQzNzVjMCwyLjA2MDIsMS42ODk4LDMu
NzUsMy43NSwzLjc1aDQuOTM3NWwzLjc1LDIuNjU2MiwxLjU5MzgsMS4xMjV2LTEuOTY4OGwtMC4w
MzEzLTIuNWMxLjExMDYtMC41OTcxNSwxLjk2ODgtMS42NTI2LDEuOTY4OC0zLjA2MjV2LTQuNDM3
NWMwLTIuMDYwMi0xLjY4OTgtMy43NS0zLjc1LTMuNzVoLTguNDY4OHptMCwyLDguNDY4OCwwYzAu
OTg2OCwwLDEuNzUsMC43NjMyLDEuNzUsMS43NXY0LjQzNzVjMCwwLjg2MjczLTAuNjM1MDgsMS41
NDEtMS4xMjUsMS42MjVsLTAuODQsMC4xMnYwLjg0Mzc1LDEuMDMxMmwtMi40MDYyLTEuNjg3NS0w
LjI1LTAuMTg3NWgtMC4zMTI1LTUuMjgxMmMtMC45ODY4LDAtMS43NS0wLjc2MzItMS43NS0xLjc1
di00LjQzNzVjMC0wLjk4NjgsMC43NjMyLTEuNzUsMS43NS0xLjc1eiIvPjwvZz48L3N2Zz4nKTsK
K30KKwordmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY2xvc2VkLWNhcHRpb25zLWNvbnRh
aW5lciB7CisgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBtZWRpYS1jbG9zZWQtY2FwdGlvbnMtY29u
dGFpbmVyOworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICBkaXNwbGF5OiBibG9jazsKKyAg
ICByaWdodDogMzhweDsKKyAgICBib3R0b206IDM1cHg7CisgICAgbWF4LXdpZHRoOiAtd2Via2l0
LWNhbGMoMTAwJSAtIDQ4cHgpOyAvKiByaWdodCArIDEwcHggKi8KKyAgICBtYXgtaGVpZ2h0OiAt
d2Via2l0LWNhbGMoMTAwJSAtIDM1cHgpOyAvKiBib3R0b20gKyAxMHB4ICovCisgICAgb3ZlcmZs
b3cteDogaGlkZGVuOworICAgIG92ZXJmbG93LXk6IGF1dG87CisgICAgYmFja2dyb3VuZC1jb2xv
cjogcmdiYSgyMCwgMjAsIDIwLCAwLjgpOworICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CisgICAg
Y3Vyc29yOiBkZWZhdWx0OworICAgIHotaW5kZXg6IDI7Cit9CisKK3ZpZGVvOjotd2Via2l0LW1l
ZGlhLWNvbnRyb2xzLWNsb3NlZC1jYXB0aW9ucy10cmFjay1saXN0IHsKKyAgICBkaXNwbGF5OiBi
bG9jazsKKyAgICBmb250LWZhbWlseTogIkhlbHZldGljYSBCb2xkIiwgSGVsdmV0aWNhOworICAg
IGZvbnQtc2l6ZTogMTBwdDsKKyAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOworfQorCit2
aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBo
MyB7CisgICAgbWFyZ2luOiAxcHggMzBweDsKKyAgICBjb2xvcjogIzc1NzU3NTsKKyAgICB0ZXh0
LXNoYWRvdzogMCAxcHggMCBibGFjazsKKyAgICBwYWRkaW5nLXRvcDogMHB4OworICAgIGZvbnQt
d2VpZ2h0OiBib2xkOworICAgIGZvbnQtc2l6ZTogMTBwdDsKK30KKwordmlkZW86Oi13ZWJraXQt
bWVkaWEtY29udHJvbHMtY2xvc2VkLWNhcHRpb25zLXRyYWNrLWxpc3QgdWwgeworICAgIGxpc3Qt
c3R5bGUtdHlwZTogbm9uZTsKKyAgICBtYXJnaW46IDAgMCA0cHggMDsKKyAgICBwYWRkaW5nOiAw
OworICAgIGZvbnQtd2VpZ2h0OiBib2xkOworfQorCit2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250
cm9scy1jbG9zZWQtY2FwdGlvbnMtdHJhY2stbGlzdCBsaSB7CisgICAgcG9zaXRpb246IHJlbGF0
aXZlOworICAgIGNvbG9yOiB3aGl0ZTsKKyAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOworICAg
IHRleHQtc2hhZG93OiAwIDFweCAwIGJsYWNrOworICAgIG1hcmdpbjogMDsKKyAgICBwYWRkaW5n
LWxlZnQ6IDM3cHg7CisgICAgcGFkZGluZy1yaWdodDogMzVweDsKKyAgICBwYWRkaW5nLXRvcDog
MC4xNWVtOworICAgIHBhZGRpbmctYm90dG9tOiAwLjJlbTsKKyAgICBib3gtc2l6aW5nOiBib3Jk
ZXItYm94OworICAgIG92ZXJmbG93OiBoaWRkZW47CisgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsK
KyAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKKyAgICBib3JkZXItdG9wOiAxcHggc29saWQg
cmdiYSgwLCAwLCAwLCAwKTsKKyAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAw
LCAwLCAwKTsKK30KK3ZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWNsb3NlZC1jYXB0aW9u
cy10cmFjay1saXN0IGxpLnNlbGVjdGVkIHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIz
MCwgMjMwLCAyMzAsIDAuMTUpOwogfQogCiBhdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1m
dWxsc2NyZWVuLWJ1dHRvbiwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtZnVsbHNjcmVl
bi1idXR0b24gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFD
b250cm9sRWxlbWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250
cm9sRWxlbWVudHMuY3BwCmluZGV4IGY3ZDcyYzUyMGZjZmI3OWFjMjcwYzg1NTI3OWQwYzJkNDFj
MDA5YWUuLjBjMDBiNjkwMzZhNGExMDk1ODQ2ODU4MTI3NWJhZTdiMjkwZjViZTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAK
QEAgLTY3NywxMSArNjc3LDExIEBAIGNvbnN0IEF0b21pY1N0cmluZyYgTWVkaWFDb250cm9sUmV0
dXJuVG9SZWFsdGltZUJ1dHRvbkVsZW1lbnQ6OnNoYWRvd1BzZXVkb0lkKCkKIAogTWVkaWFDb250
cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50OjpNZWRpYUNvbnRyb2xUb2dnbGVD
bG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBNZWRpYUNvbnRy
b2xzKiBjb250cm9scykKICAgICA6IE1lZGlhQ29udHJvbElucHV0RWxlbWVudChkb2N1bWVudCwg
TWVkaWFTaG93Q2xvc2VkQ2FwdGlvbnNCdXR0b24pCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFU
Rk9STShXSU4pCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JN
KEdUSykKICAgICAsIG1fY29udHJvbHMoY29udHJvbHMpCiAjZW5kaWYKIHsKLSNpZiAhUExBVEZP
Uk0oTUFDKSAmJiAhUExBVEZPUk0oV0lOKQorI2lmICFQTEFURk9STShNQUMpICYmICFQTEFURk9S
TShXSU4pIHx8ICFQTEFURk9STShHVEspCiAgICAgVU5VU0VEX1BBUkFNKGNvbnRyb2xzKTsKICNl
bmRpZgogfQpAQCAtNzExLDcgKzcxMSw3IEBAIHZvaWQgTWVkaWFDb250cm9sVG9nZ2xlQ2xvc2Vk
Q2FwdGlvbnNCdXR0b25FbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBlCiAgICAg
ICAgIC8vIFVJLiBOb3QgYWxsIHBvcnRzIG1heSB3YW50IHRoZSBjbG9zZWQgY2FwdGlvbnMgYnV0
dG9uIHRvIHRvZ2dsZSBhIGxpc3Qgb2YgdHJhY2tzLCBzbwogICAgICAgICAvLyB3ZSBoYXZlIHRv
IHVzZSAjaWYuCiAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDE4NzcKLSNpZiAhUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oV0lOKQorI2lmICFQ
TEFURk9STShNQUMpICYmICFQTEFURk9STShXSU4pICYmICFQTEFURk9STShHVEspCiAgICAgICAg
IG1lZGlhQ29udHJvbGxlcigpLT5zZXRDbG9zZWRDYXB0aW9uc1Zpc2libGUoIW1lZGlhQ29udHJv
bGxlcigpLT5jbG9zZWRDYXB0aW9uc1Zpc2libGUoKSk7CiAgICAgICAgIHNldENoZWNrZWQobWVk
aWFDb250cm9sbGVyKCktPmNsb3NlZENhcHRpb25zVmlzaWJsZSgpKTsKICAgICAgICAgdXBkYXRl
RGlzcGxheVR5cGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01l
ZGlhQ29udHJvbEVsZW1lbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNv
bnRyb2xFbGVtZW50cy5oCmluZGV4IDY4MjYyZDM3N2QxMjZmOGIyZGE0YTNlOGFlODg1M2YxY2Zm
ODhlZmQuLjM2OGE1ODFmNTkwYTQ1MzYwYzQ1ZGI0ZTU1NzQ3NTc0ZTlhYmQxZjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaApAQCAt
MjgwLDcgKzI4MCw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcm
IHNoYWRvd1BzZXVkb0lkKCkgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGRlZmF1
bHRFdmVudEhhbmRsZXIoRXZlbnQqKSBPVkVSUklERTsKIAotI2lmIFBMQVRGT1JNKE1BQykgfHwg
UExBVEZPUk0oV0lOKQorI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oV0lOKSB8fCBQTEFU
Rk9STShHVEspCiAgICAgTWVkaWFDb250cm9scyogbV9jb250cm9sczsKICNlbmRpZgogfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNHdGsuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sc0d0ay5jcHAKaW5kZXgg
ZjRmOWRjNTFjNzYyNDBlNGU0MTYxY2MxZjAxY2Q0ZTRkNDJmYTk0OC4uMmRlZTA0YjFiMzg1ZTdk
OWQzMWM4MWRiZjE4NTZiYWM3Y2MwMjc1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9zaGFkb3cvTWVkaWFDb250cm9sc0d0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvTWVkaWFDb250cm9sc0d0ay5jcHAKQEAgLTMxLDEyICszMSw0MiBAQAogI2lmIEVOQUJM
RShWSURFTykKICNpbmNsdWRlICJNZWRpYUNvbnRyb2xzR3RrLmgiCiAKKyNpbmNsdWRlICJDaHJv
bWUuaCIKKyNpbmNsdWRlICJNb3VzZUV2ZW50LmgiCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAor
Y2xhc3MgTWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXIgOiBwdWJsaWMgRXZlbnRMaXN0ZW5l
ciB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8TWVkaWFDb250cm9sc0d0a0V2ZW50
TGlzdGVuZXI+IGNyZWF0ZShNZWRpYUNvbnRyb2xzR3RrKiBtZWRpYUNvbnRyb2xzKSB7IHJldHVy
biBhZG9wdFJlZihuZXcgTWVkaWFDb250cm9sc0d0a0V2ZW50TGlzdGVuZXIobWVkaWFDb250cm9s
cykpOyB9CisgICAgc3RhdGljIGNvbnN0IE1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyKiBj
YXN0KGNvbnN0IEV2ZW50TGlzdGVuZXIqIGxpc3RlbmVyKQorICAgIHsKKyAgICAgICAgcmV0dXJu
IGxpc3RlbmVyLT50eXBlKCkgPT0gR09iamVjdEV2ZW50TGlzdGVuZXJUeXBlCisgICAgICAgICAg
ICA/IHN0YXRpY19jYXN0PGNvbnN0IE1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyKj4obGlz
dGVuZXIpCisgICAgICAgICAgICA6IDA7CisgICAgfQorCisgICAgdmlydHVhbCBib29sIG9wZXJh
dG9yPT0oY29uc3QgRXZlbnRMaXN0ZW5lciYgb3RoZXIpOworCitwcml2YXRlOgorICAgIE1lZGlh
Q29udHJvbHNHdGtFdmVudExpc3RlbmVyKE1lZGlhQ29udHJvbHNHdGsqIG1lZGlhQ29udHJvbHMp
CisgICAgICAgIDogRXZlbnRMaXN0ZW5lcihHT2JqZWN0RXZlbnRMaXN0ZW5lclR5cGUpCisgICAg
ICAgICwgbV9tZWRpYUNvbnRyb2xzKG1lZGlhQ29udHJvbHMpCisgICAgeworICAgIH0KKworICAg
IHZpcnR1YWwgdm9pZCBoYW5kbGVFdmVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgRXZlbnQq
KTsKKworICAgIE1lZGlhQ29udHJvbHNHdGsqIG1fbWVkaWFDb250cm9sczsKK307CisKIE1lZGlh
Q29udHJvbHNHdGs6Ok1lZGlhQ29udHJvbHNHdGsoRG9jdW1lbnQqIGRvY3VtZW50KQogICAgIDog
TWVkaWFDb250cm9scyhkb2N1bWVudCkKICAgICAsIG1fZHVyYXRpb25EaXNwbGF5KDApCiAgICAg
LCBtX2VuY2xvc3VyZSgwKQorICAgICwgbV9ldmVudExpc3RlbmVyKDApCisgICAgLCBtX2Nsb3Nl
ZENhcHRpb25zVHJhY2tMaXN0KDApCisgICAgLCBtX2Nsb3NlZENhcHRpb25zQ29udGFpbmVyKDAp
CiB7CiB9CiAKQEAgLTkxLDExICsxMjEsMjQgQEAgYm9vbCBNZWRpYUNvbnRyb2xzR3RrOjppbml0
aWFsaXplQ29udHJvbHMoRG9jdW1lbnQqIGRvY3VtZW50KQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAKICAgICBpZiAoZG9jdW1lbnQtPnBhZ2UoKS0+dGhlbWUoKS0+c3VwcG9ydHNDbG9zZWRDYXB0
aW9uaW5nKCkpIHsKKyAgICAgICAgUmVmUHRyPE1lZGlhQ29udHJvbENsb3NlZENhcHRpb25zQ29u
dGFpbmVyRWxlbWVudD4gY2xvc2VkQ2FwdGlvbnNDb250YWluZXIgPSBNZWRpYUNvbnRyb2xDbG9z
ZWRDYXB0aW9uc0NvbnRhaW5lckVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCk7CisKKyAgICAgICAg
UmVmUHRyPE1lZGlhQ29udHJvbENsb3NlZENhcHRpb25zVHJhY2tMaXN0RWxlbWVudD4gY2xvc2Vk
Q2FwdGlvbnNUcmFja0xpc3QgPSBNZWRpYUNvbnRyb2xDbG9zZWRDYXB0aW9uc1RyYWNrTGlzdEVs
ZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCwgdGhpcyk7CisgICAgICAgIG1fY2xvc2VkQ2FwdGlvbnNU
cmFja0xpc3QgPSBjbG9zZWRDYXB0aW9uc1RyYWNrTGlzdC5nZXQoKTsKKyAgICAgICAgY2xvc2Vk
Q2FwdGlvbnNDb250YWluZXItPmFwcGVuZENoaWxkKGNsb3NlZENhcHRpb25zVHJhY2tMaXN0LnJl
bGVhc2UoKSwgZXhjZXB0aW9uQ29kZSwgQXR0YWNoTGF6aWx5KTsKKyAgICAgICAgaWYgKGV4Y2Vw
dGlvbkNvZGUpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICAgICAgUmVmUHRyPE1l
ZGlhQ29udHJvbFRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uRWxlbWVudD4gdG9nZ2xlQ2xvc2Vk
Q2FwdGlvbnNCdXR0b24gPSBNZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVs
ZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCwgdGhpcyk7CiAgICAgICAgIG1fdG9nZ2xlQ2xvc2VkQ2Fw
dGlvbnNCdXR0b24gPSB0b2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbi5nZXQoKTsKICAgICAgICAg
cGFuZWwtPmFwcGVuZENoaWxkKHRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uLnJlbGVhc2UoKSwg
ZXhjZXB0aW9uQ29kZSwgQXR0YWNoTGF6aWx5KTsKICAgICAgICAgaWYgKGV4Y2VwdGlvbkNvZGUp
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgbV9jbG9zZWRDYXB0aW9uc0Nv
bnRhaW5lciA9IGNsb3NlZENhcHRpb25zQ29udGFpbmVyLmdldCgpOworICAgICAgICBhcHBlbmRD
aGlsZChjbG9zZWRDYXB0aW9uc0NvbnRhaW5lci5yZWxlYXNlKCksIGV4Y2VwdGlvbkNvZGUsIEF0
dGFjaExhemlseSk7CisgICAgICAgIGlmIChleGNlcHRpb25Db2RlKQorICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIH0KIAogICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0
dG9uRWxlbWVudD4gZnVsbHNjcmVlbkJ1dHRvbiA9IE1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0
b25FbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQpOwpAQCAtMTQ3LDYgKzE5MCwxMCBAQCB2b2lkIE1l
ZGlhQ29udHJvbHNHdGs6OnNldE1lZGlhQ29udHJvbGxlcihNZWRpYUNvbnRyb2xsZXJJbnRlcmZh
Y2UqIGNvbnRyb2xsZXIpCiAgICAgICAgIG1fZHVyYXRpb25EaXNwbGF5LT5zZXRNZWRpYUNvbnRy
b2xsZXIoY29udHJvbGxlcik7CiAgICAgaWYgKG1fZW5jbG9zdXJlKQogICAgICAgICBtX2VuY2xv
c3VyZS0+c2V0TWVkaWFDb250cm9sbGVyKGNvbnRyb2xsZXIpOworICAgIGlmIChtX2Nsb3NlZENh
cHRpb25zQ29udGFpbmVyKQorICAgICAgICBtX2Nsb3NlZENhcHRpb25zQ29udGFpbmVyLT5zZXRN
ZWRpYUNvbnRyb2xsZXIoY29udHJvbGxlcik7CisgICAgaWYgKG1fY2xvc2VkQ2FwdGlvbnNUcmFj
a0xpc3QpCisgICAgICAgIG1fY2xvc2VkQ2FwdGlvbnNUcmFja0xpc3QtPnNldE1lZGlhQ29udHJv
bGxlcihjb250cm9sbGVyKTsKIH0KIAogdm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpyZXNldCgpCkBA
IC0xNTksNiArMjA2LDEzIEBAIHZvaWQgTWVkaWFDb250cm9sc0d0azo6cmVzZXQoKQogICAgIG1f
ZHVyYXRpb25EaXNwbGF5LT5zZXRJbm5lclRleHQocGFnZS0+dGhlbWUoKS0+Zm9ybWF0TWVkaWFD
b250cm9sc1RpbWUoZHVyYXRpb24pLCBBU1NFUlRfTk9fRVhDRVBUSU9OKTsKICAgICBtX2R1cmF0
aW9uRGlzcGxheS0+c2V0Q3VycmVudFZhbHVlKGR1cmF0aW9uKTsKIAorICAgIGlmIChtX3RvZ2ds
ZUNsb3NlZENhcHRpb25zQnV0dG9uKSB7CisgICAgICAgIGlmIChtX21lZGlhQ29udHJvbGxlci0+
aGFzQ2xvc2VkQ2FwdGlvbnMoKSkKKyAgICAgICAgICAgIG1fdG9nZ2xlQ2xvc2VkQ2FwdGlvbnNC
dXR0b24tPnNob3coKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbV90b2dnbGVDbG9zZWRD
YXB0aW9uc0J1dHRvbi0+aGlkZSgpOworICAgIH0KKwogICAgIE1lZGlhQ29udHJvbHM6OnJlc2V0
KCk7CiB9CiAKQEAgLTIwOCw2ICsyNjIsOCBAQCB2b2lkIE1lZGlhQ29udHJvbHNHdGs6Om1ha2VU
cmFuc3BhcmVudCgpCiAKICAgICBpZiAobV92b2x1bWVTbGlkZXJDb250YWluZXIpCiAgICAgICAg
IG1fdm9sdW1lU2xpZGVyQ29udGFpbmVyLT5oaWRlKCk7CisKKyAgICBoaWRlQ2xvc2VkQ2FwdGlv
blRyYWNrTGlzdCgpOwogfQogCiB2b2lkIE1lZGlhQ29udHJvbHNHdGs6OnNob3dWb2x1bWVTbGlk
ZXIoKQpAQCAtMjM2LDYgKzI5Miw5MCBAQCB2b2lkIE1lZGlhQ29udHJvbHNHdGs6OmNyZWF0ZVRl
eHRUcmFja0Rpc3BsYXkoKQogfQogI2VuZGlmCiAKK3ZvaWQgTWVkaWFDb250cm9sc0d0azo6dG9n
Z2xlQ2xvc2VkQ2FwdGlvblRyYWNrTGlzdCgpCit7CisgICAgaWYgKCFtX21lZGlhQ29udHJvbGxl
ci0+aGFzQ2xvc2VkQ2FwdGlvbnMoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFtX2Ns
b3NlZENhcHRpb25zQ29udGFpbmVyIHx8ICFtX2Nsb3NlZENhcHRpb25zVHJhY2tMaXN0KQorICAg
ICAgICByZXR1cm47CisKKyAgICBpZiAobV9jbG9zZWRDYXB0aW9uc0NvbnRhaW5lci0+aXNTaG93
aW5nKCkpIHsKKyAgICAgICAgaGlkZUNsb3NlZENhcHRpb25UcmFja0xpc3QoKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIG1fY2xvc2VkQ2FwdGlvbnNUcmFja0xpc3QtPnVwZGF0ZURp
c3BsYXkoKTsKKyAgICBzaG93Q2xvc2VkQ2FwdGlvblRyYWNrTGlzdCgpOwogfQogCit2b2lkIE1l
ZGlhQ29udHJvbHNHdGs6OnNob3dDbG9zZWRDYXB0aW9uVHJhY2tMaXN0KCkKK3sKKyAgICBtX3Zv
bHVtZVNsaWRlckNvbnRhaW5lci0+aGlkZSgpOworCisgICAgaWYgKCFtX2Nsb3NlZENhcHRpb25z
Q29udGFpbmVyIHx8IG1fY2xvc2VkQ2FwdGlvbnNDb250YWluZXItPmlzU2hvd2luZygpKQorICAg
ICAgICByZXR1cm47CisKKyAgICBtX2Nsb3NlZENhcHRpb25zQ29udGFpbmVyLT5zaG93KCk7Cisg
ICAgbV9wYW5lbC0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVBvaW50ZXJFdmVu
dHMsIENTU1ZhbHVlTm9uZSk7CisKKyAgICBSZWZQdHI8RXZlbnRMaXN0ZW5lcj4gbGlzdGVuZXIg
PSBldmVudExpc3RlbmVyKCk7CisKKyAgICAvLyBDaGVjayBmb3IgY2xpY2tzIG91dHNpZGUgdGhl
IG1lZGlhLWNvbnRyb2wKKyAgICBkb2N1bWVudCgpLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1l
cygpLmNsaWNrRXZlbnQsIGxpc3RlbmVyLCB0cnVlKTsKKyAgICAvLyBDaGVjayBmb3IgY2xpY2tz
IGluc2lkZSB0aGUgbWVkaWEtY29udHJvbCBib3gKKyAgICBhZGRFdmVudExpc3RlbmVyKGV2ZW50
TmFtZXMoKS5jbGlja0V2ZW50LCBsaXN0ZW5lciwgdHJ1ZSk7Cit9CisKK3ZvaWQgTWVkaWFDb250
cm9sc0d0azo6aGlkZUNsb3NlZENhcHRpb25UcmFja0xpc3QoKQoreworICAgIGlmICghbV9jbG9z
ZWRDYXB0aW9uc0NvbnRhaW5lciB8fCAhbV9jbG9zZWRDYXB0aW9uc0NvbnRhaW5lci0+aXNTaG93
aW5nKCkpCisgICAgICAgIHJldHVybjsKKworICAgIG1fY2xvc2VkQ2FwdGlvbnNDb250YWluZXIt
PmhpZGUoKTsKKyAgICBtX3BhbmVsLT5yZW1vdmVJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3Bl
cnR5UG9pbnRlckV2ZW50cyk7CisKKyAgICBFdmVudExpc3RlbmVyKiBsaXN0ZW5lciA9IGV2ZW50
TGlzdGVuZXIoKS5nZXQoKTsKKworICAgIGRvY3VtZW50KCkucmVtb3ZlRXZlbnRMaXN0ZW5lcihl
dmVudE5hbWVzKCkuY2xpY2tFdmVudCwgbGlzdGVuZXIsIHRydWUpOworICAgIHJlbW92ZUV2ZW50
TGlzdGVuZXIoZXZlbnROYW1lcygpLmNsaWNrRXZlbnQsIGxpc3RlbmVyLCB0cnVlKTsKK30KKwor
dm9pZCBNZWRpYUNvbnRyb2xzR3RrOjpoYW5kbGVDbGlja0V2ZW50KEV2ZW50ICpldmVudCkKK3sK
KyAgICBOb2RlKiBjdXJyZW50VGFyZ2V0ID0gZXZlbnQtPmN1cnJlbnRUYXJnZXQoKS0+dG9Ob2Rl
KCk7CisgICAgTm9kZSogdGFyZ2V0ID0gZXZlbnQtPnRhcmdldCgpLT50b05vZGUoKTsKKworICAg
IGlmICgoY3VycmVudFRhcmdldCA9PSAmZG9jdW1lbnQoKSAmJiAhc2hhZG93SG9zdCgpLT5jb250
YWlucyh0YXJnZXQpKQorICAgICAgICB8fCAoY3VycmVudFRhcmdldCA9PSB0aGlzICYmICFtX2Ns
b3NlZENhcHRpb25zQ29udGFpbmVyLT5jb250YWlucyh0YXJnZXQpKSkgeworICAgICAgICBoaWRl
Q2xvc2VkQ2FwdGlvblRyYWNrTGlzdCgpOworICAgICAgICBldmVudC0+c3RvcEltbWVkaWF0ZVBy
b3BhZ2F0aW9uKCk7CisgICAgICAgIGV2ZW50LT5zZXREZWZhdWx0SGFuZGxlZCgpOworICAgIH0K
K30KKworUGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lcj4gTWVkaWFDb250
cm9sc0d0azo6ZXZlbnRMaXN0ZW5lcigpCit7CisgICAgaWYgKCFtX2V2ZW50TGlzdGVuZXIpCisg
ICAgICAgIG1fZXZlbnRMaXN0ZW5lciA9IE1lZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyOjpj
cmVhdGUodGhpcyk7CisKKyAgICByZXR1cm4gbV9ldmVudExpc3RlbmVyOworfQorCit2b2lkIE1l
ZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyOjpoYW5kbGVFdmVudChTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiwgRXZlbnQqIGV2ZW50KQoreworICAgIGlmIChldmVudC0+dHlwZSgpID09IGV2ZW50
TmFtZXMoKS5jbGlja0V2ZW50KQorICAgICAgICBtX21lZGlhQ29udHJvbHMtPmhhbmRsZUNsaWNr
RXZlbnQoZXZlbnQpOworCisgICAgcmV0dXJuOworfQorCitib29sIE1lZGlhQ29udHJvbHNHdGtF
dmVudExpc3RlbmVyOjpvcGVyYXRvcj09KGNvbnN0IEV2ZW50TGlzdGVuZXImIGxpc3RlbmVyKQor
eworICAgIGlmIChjb25zdCBNZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lciogbWVkaWFDb250
cm9sc0d0a0V2ZW50TGlzdGVuZXIgPSBNZWRpYUNvbnRyb2xzR3RrRXZlbnRMaXN0ZW5lcjo6Y2Fz
dCgmbGlzdGVuZXIpKQorICAgICAgICByZXR1cm4gbV9tZWRpYUNvbnRyb2xzID09IG1lZGlhQ29u
dHJvbHNHdGtFdmVudExpc3RlbmVyLT5tX21lZGlhQ29udHJvbHM7CisgICAgcmV0dXJuIGZhbHNl
OworfQorCit9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L01lZGlhQ29udHJvbHNHdGsuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29u
dHJvbHNHdGsuaAppbmRleCAyZWEzMjU5OWY1YzRkN2M5MjQ5MjE2YWY2MTVjMzU3MTVjNzFjYjQ5
Li4xNjAzN2Y2NjEzNDVlYTU1NmE5YWNhNzMzNGI3NmIzMmM1ODRiMmE1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzR3RrLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sc0d0ay5oCkBAIC0zNSw2ICszNSw4IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgTWVkaWFDb250cm9sc0d0a0V2ZW50TGlz
dGVuZXI7CisKIGNsYXNzIE1lZGlhQ29udHJvbHNHdGsgOiBwdWJsaWMgTWVkaWFDb250cm9scyB7
CiBwdWJsaWM6CiAgICAgLy8gQ2FsbGVkIGZyb20gcG9ydC1zcGVjaWZpYyBwYXJlbnQgY3JlYXRl
IGZ1bmN0aW9uIHRvIGNyZWF0ZSBjdXN0b20gY29udHJvbHMuCkBAIC00Nyw2ICs0OSw5IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQ3VycmVudFRpbWVEaXNwbGF5KCkgT1ZFUlJJ
REU7CiAgICAgdmlydHVhbCB2b2lkIHNob3dWb2x1bWVTbGlkZXIoKSBPVkVSUklERTsKICAgICB2
aXJ0dWFsIHZvaWQgbWFrZVRyYW5zcGFyZW50KCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lk
IHRvZ2dsZUNsb3NlZENhcHRpb25UcmFja0xpc3QoKSBPVkVSUklERTsKKworICAgIHZvaWQgaGFu
ZGxlQ2xpY2tFdmVudChFdmVudCopOwogCiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQogICAgIHZv
aWQgY3JlYXRlVGV4dFRyYWNrRGlzcGxheSgpIE9WRVJSSURFOwpAQCAtNTQsMTMgKzU5LDIxIEBA
IHB1YmxpYzoKIAogcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0IE1lZGlhQ29udHJvbHNHdGsoRG9j
dW1lbnQqKTsKLQogICAgIGJvb2wgaW5pdGlhbGl6ZUNvbnRyb2xzKERvY3VtZW50Kik7CiAKIHBy
aXZhdGU6CisgICAgdm9pZCBzaG93Q2xvc2VkQ2FwdGlvblRyYWNrTGlzdCgpOworICAgIHZvaWQg
aGlkZUNsb3NlZENhcHRpb25UcmFja0xpc3QoKTsKKworICAgIFBhc3NSZWZQdHI8TWVkaWFDb250
cm9sc0d0a0V2ZW50TGlzdGVuZXI+IGV2ZW50TGlzdGVuZXIoKTsKKwogICAgIE1lZGlhQ29udHJv
bFRpbWVSZW1haW5pbmdEaXNwbGF5RWxlbWVudCogbV9kdXJhdGlvbkRpc3BsYXk7CiAgICAgTWVk
aWFDb250cm9sUGFuZWxFbmNsb3N1cmVFbGVtZW50KiBtX2VuY2xvc3VyZTsKICAgICBNZWRpYUNv
bnRyb2xWb2x1bWVTbGlkZXJDb250YWluZXJFbGVtZW50KiBtX3ZvbHVtZVNsaWRlckNvbnRhaW5l
cjsKKyAgICBNZWRpYUNvbnRyb2xDbG9zZWRDYXB0aW9uc1RyYWNrTGlzdEVsZW1lbnQqIG1fY2xv
c2VkQ2FwdGlvbnNUcmFja0xpc3Q7CisgICAgTWVkaWFDb250cm9sQ2xvc2VkQ2FwdGlvbnNDb250
YWluZXJFbGVtZW50KiBtX2Nsb3NlZENhcHRpb25zQ29udGFpbmVyOworCisgICAgUmVmUHRyPE1l
ZGlhQ29udHJvbHNHdGtFdmVudExpc3RlbmVyPiBtX2V2ZW50TGlzdGVuZXI7CiB9OwogCiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcAppbmRleCAy
NTBlYTU1OWQyMTNiNjkxZWM3ZDI0N2FjODA3OWIzNDI1NjQyNTgwLi4zZTFmZWEwYTk1NWJhODBk
Mzg1MTBiNjU5MDY1YzAzNDhkYzlmNWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2Fw
dGlvblVzZXJQcmVmZXJlbmNlcy5jcHAKQEAgLTE1Nyw2ICsxNTcsMTEgQEAgdm9pZCBDYXB0aW9u
VXNlclByZWZlcmVuY2VzOjpzZXRQcmVmZXJyZWRMYW5ndWFnZShjb25zdCBTdHJpbmcmIGxhbmd1
YWdlKQogCiBzdGF0aWMgU3RyaW5nIHRyYWNrRGlzcGxheU5hbWUoVGV4dFRyYWNrKiB0cmFjaykK
IHsKKyAgICBpZiAodHJhY2sgPT0gVGV4dFRyYWNrOjpjYXB0aW9uTWVudU9mZkl0ZW0oKSkKKyAg
ICAgICAgcmV0dXJuIHRleHRUcmFja09mZk1lbnVJdGVtVGV4dCgpOworICAgIGlmICh0cmFjayA9
PSBUZXh0VHJhY2s6OmNhcHRpb25NZW51QXV0b21hdGljSXRlbSgpKQorICAgICAgICByZXR1cm4g
dGV4dFRyYWNrQXV0b21hdGljTWVudUl0ZW1UZXh0KCk7CisKICAgICBpZiAodHJhY2stPmxhYmVs
KCkuaXNFbXB0eSgpICYmIHRyYWNrLT5sYW5ndWFnZSgpLmlzRW1wdHkoKSkKICAgICAgICAgcmV0
dXJuIHRleHRUcmFja05vTGFiZWxUZXh0KCk7CiAgICAgaWYgKCF0cmFjay0+bGFiZWwoKS5pc0Vt
cHR5KCkpCkBAIC0xODQsNiArMTg5LDggQEAgVmVjdG9yPFJlZlB0cjxUZXh0VHJhY2s+ID4gQ2Fw
dGlvblVzZXJQcmVmZXJlbmNlczo6c29ydGVkVHJhY2tMaXN0Rm9yTWVudShUZXh0VHIKICAgICAg
ICAgdHJhY2tzRm9yTWVudS5hcHBlbmQodHJhY2tMaXN0LT5pdGVtKGkpKTsKIAogICAgIG5vbkNv
cHlpbmdTb3J0KHRyYWNrc0Zvck1lbnUuYmVnaW4oKSwgdHJhY2tzRm9yTWVudS5lbmQoKSwgdGV4
dFRyYWNrQ29tcGFyZSk7CisgICAgdHJhY2tzRm9yTWVudS5pbnNlcnQoMCwgVGV4dFRyYWNrOjpj
YXB0aW9uTWVudU9mZkl0ZW0oKSk7CisgICAgdHJhY2tzRm9yTWVudS5pbnNlcnQoMSwgVGV4dFRy
YWNrOjpjYXB0aW9uTWVudUF1dG9tYXRpY0l0ZW0oKSk7CiAKICAgICByZXR1cm4gdHJhY2tzRm9y
TWVudTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9Mb2NhbGl6
ZWRTdHJpbmdzR3RrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9Mb2NhbGl6ZWRT
dHJpbmdzR3RrLmNwcAppbmRleCAyOTVmYWVhOWExYmFhNDZiMGMyMTMxNjVkZGI3NWFjOGI3OWNk
NjBiLi45NDcxZDlkNzM0ODNjMDE0NTBkY2FkMjA1MmM1Y2U3N2I0NTk5MGYxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvTG9jYWxpemVkU3RyaW5nc0d0ay5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0xvY2FsaXplZFN0cmluZ3NHdGsuY3BwCkBA
IC03OTUsMTIgKzc5NSwxMiBAQCBTdHJpbmcgdGV4dFRyYWNrQ2xvc2VkQ2FwdGlvbnNUZXh0KCkK
IAogU3RyaW5nIHRleHRUcmFja1N1YnRpdGxlc1RleHQoKQogewotICAgIHJldHVybiBTdHJpbmc6
OmZyb21VVEY4KENfKCJTdWJ0aXRsZXMiLCAiTWVudSBzZWN0aW9uIGhlYWRpbmcgZm9yIHN1YnRp
dGxlcyIpKTsKKyAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChDXygiTWVudSBzZWN0aW9uIGhl
YWRpbmcgZm9yIHN1YnRpdGxlcyIsICJTdWJ0aXRsZXMiKSk7CiB9CiAKIFN0cmluZyB0ZXh0VHJh
Y2tPZmZNZW51SXRlbVRleHQoKQogewotICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KENfKCJP
ZmYiLCAiTWVudSBpdGVtIGxhYmVsIGZvciB0aGUgdHJhY2sgdGhhdCByZXByZXNlbnRzIGRpc2Fi
bGluZyBjbG9zZWQgY2FwdGlvbnMiKSk7CisgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoQ18o
Ik1lbnUgaXRlbSBsYWJlbCBmb3IgdGhlIHRyYWNrIHRoYXQgcmVwcmVzZW50cyBkaXNhYmxpbmcg
Y2xvc2VkIGNhcHRpb25zIiwgIk9mZiIpKTsKIH0KIAogU3RyaW5nIHRleHRUcmFja0F1dG9tYXRp
Y01lbnVJdGVtVGV4dCgpCkBAIC04MTAsNyArODEwLDcgQEAgU3RyaW5nIHRleHRUcmFja0F1dG9t
YXRpY01lbnVJdGVtVGV4dCgpCiAKIFN0cmluZyB0ZXh0VHJhY2tOb0xhYmVsVGV4dCgpCiB7Ci0g
ICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoQ18oIk5vIGxhYmVsIiwgIk1lbnUgaXRlbSBsYWJl
bCBmb3IgYSBjbG9zZWQgY2FwdGlvbnMgdHJhY2sgdGhhdCBoYXMgbm8gb3RoZXIgbmFtZSIpKTsK
KyAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChDXygiTWVudSBpdGVtIGxhYmVsIGZvciBhIGNs
b3NlZCBjYXB0aW9ucyB0cmFjayB0aGF0IGhhcyBubyBvdGhlciBuYW1lIiwgIk5vIGxhYmVsIikp
OwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9S
ZW5kZXJUaGVtZUd0ay5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1l
R3RrLmgKaW5kZXggYThjOTczNWM3MDczNTM2YjNhMjI5MmU4NjA0YTQ3NmU3MmI1NzNkMC4uNWU1
MzQ3NjQwOTVhODEwMDcwYmRiZDZmYTM2MmVlYmYzNmNkYTExMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrLmgKQEAgLTg3LDYgKzg3LDcgQEAgcHVibGlj
OgogI2lmIEVOQUJMRShWSURFTykKICAgICB2aXJ0dWFsIFN0cmluZyBleHRyYU1lZGlhQ29udHJv
bHNTdHlsZVNoZWV0KCk7CiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc0N1
cnJlbnRUaW1lKGZsb2F0IGN1cnJlbnRUaW1lLCBmbG9hdCBkdXJhdGlvbikgY29uc3Q7CisgICAg
dmlydHVhbCBib29sIHN1cHBvcnRzQ2xvc2VkQ2FwdGlvbmluZygpIGNvbnN0IE9WRVJSSURFIHsg
cmV0dXJuIHRydWU7IH0KIAogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKICAgICB2aXJ0dWFs
IFN0cmluZyBleHRyYUZ1bGxTY3JlZW5TdHlsZVNoZWV0KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMTFmZTE3YzM1ZTY1
YmMzMjkzZjdlMGViMzMwMTYzMmIzYmFlNzllMS4uMGVmYzRmMGZjNjNlMjM5MWZiODVhZTVkOTVj
YjJlZDI2MWUzYWVjYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEzLTA5LTAzICBEYW5pbG8g
Q2VzYXIgTGVtZXMgZGUgUGF1bGEgIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgorCisg
ICAgICAgIFtHVEtdIGFkZCBzdXBwb3J0IGZvciBzdWJ0aXRsZXMgb24gd2Via2l0MkdUSworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3MDA4CisKKyAg
ICAgICAgQnkgYWN0aXZhdGluZyBzdWJ0aXRsZXMgc3VwcG9ydCBvbiB3ZWJraXQyR1RLLCB0aGUg
dmlkZW8gcGxheWVyCisgICAgICAgIHJlY29nbml6ZXMgYW5kIHVzZSB0ZXh0IDx0cmFja3M+IGlu
c2lkZSA8dmlkZW8+IGVsZW1lbnRzLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTMt
MDktMDMgIEtyenlzenRvZiBDemVjaCAgPGsuY3plY2hAc2Ftc3VuZy5jb20+CiAKICAgICAgICAg
W0VGTF0gYWNjZXNzaWJpbGl0eS9hcmlhLWRlc2NyaWJlZGJ5LW9uLWlucHV0Lmh0bWwgaXMgZmFp
bGluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlv
bnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBlMDNl
NWQzMTU3ZjMwZjJhYzUxMmRkZjkxYTBkZThmNDY3MzhhMmNiLi4wMjRkOTQ4ZDA0NmE2NWRkNTAx
YzRmNmFlZWMwY2Y5OWU2YTkxMTYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9n
dGsvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4
cGVjdGF0aW9ucwpAQCAtNzg0LDE1ICs3ODQsNiBAQCBCdWcoR1RLKSBtZWRpYS9wcm9ncmVzcy1l
dmVudHMtZ2VuZXJhdGVkLWNvcnJlY3RseS5odG1sIFsgRmFpbHVyZSBUaW1lb3V0IF0KIAogd2Vi
a2l0Lm9yZy9iLzEwMjI1NyBmYXN0L2RvbS9XaW5kb3cvb3Blbi13aW5kb3ctbWluLXNpemUuaHRt
bCBbIFRpbWVvdXQgXQogCi0jIEdUSyBzdGlsbCBoYXMgdGhlIENDIHRvZ2dsZSBidXR0b24sIG5v
dCB0aGUgbWVudSBvZiB0cmFja3MuCi13ZWJraXQub3JnL2IvMTAxNjcwIG1lZGlhL3ZpZGVvLWNv
bnRyb2xzLWNhcHRpb25zLXRyYWNrbWVudS5odG1sIFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMTAx
NjcwIG1lZGlhL3ZpZGVvLWNvbnRyb2xzLWNhcHRpb25zLXRyYWNrbWVudS1zb3J0ZWQuaHRtbCBb
IFNraXAgXQotd2Via2l0Lm9yZy9iLzEwMTY3MCBtZWRpYS92aWRlby1jb250cm9scy1jYXB0aW9u
cy10cmFja21lbnUtbG9jYWxpemVkLmh0bWwgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi8xMDE2NzAg
bWVkaWEvdmlkZW8tY29udHJvbHMtY2FwdGlvbnMtdHJhY2ttZW51LWhpZGUtb24tY2xpY2suaHRt
bCBbIFNraXAgXQotd2Via2l0Lm9yZy9iLzEwMTY3MCBtZWRpYS92aWRlby1jb250cm9scy1jYXB0
aW9ucy10cmFja21lbnUtaGlkZS1vbi1jbGljay1vdXRzaWRlLmh0bWwgWyBTa2lwIF0KLXdlYmtp
dC5vcmcvYi8xMDE2NzAgbWVkaWEvdHJhY2svdHJhY2stdXNlci1wcmVmZXJlbmNlcy5odG1sIFsg
U2tpcCBdCi13ZWJraXQub3JnL2IvMTAxNjcwIG1lZGlhL3ZpZGVvLWNvbnRyb2xzLWNhcHRpb25z
LXRyYWNrbWVudS1pbmNsdWRlcy1lbmFibGVkLXRyYWNrLmh0bWwgWyBTa2lwIF0KLQogd2Via2l0
Lm9yZy9iLzEwNzE5NCBzdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS1xdW90YS5odG1sIFsgVGlt
ZW91dCBdCiB3ZWJraXQub3JnL2IvMTA3MTk0IHN0b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmctYWN0
aXZpdHktd29ya2Vycy5odG1sIFsgVGltZW91dCBdCiB3ZWJraXQub3JnL2IvMTA3MTk0IHN0b3Jh
Z2UvaW5kZXhlZGRiL3BlbmRpbmctdmVyc2lvbi1jaGFuZ2Utb24tZXhpdC5odG1sIFsgVGltZW91
dCBdCkBAIC04OTksNiArODkwLDExIEBAIHdlYmtpdC5vcmcvYi80NDQ3OCBmYXN0L3RleHQvaHlw
aGVuLW1pbi1wcmVmZXJyZWQtd2lkdGguaHRtbCBbIFNraXAgXQogIyBMYXlvdXRUZXN0Q29udHJv
bGxlcjo6YXBwbGljYXRpb25DYWNoZURpc2tVc2FnZUZvck9yaWdpbiBpc24ndCBpbXBsZW1lbnRl
ZC4KIHdlYmtpdC5vcmcvYi81NzEyNyBodHRwL3Rlc3RzL2FwcGNhY2hlL29yaWdpbi11c2FnZS5o
dG1sIFsgRmFpbHVyZSBdCiAKKyMgR1RLIGlzIG1vdmluZyBmcm9tIHRvZ2dsZSBidXR0b24gdG8g
YSBtZW51IG9mIHRyYWNrcy4KK3dlYmtpdC5vcmcvYi8xMDE2NzAgbWVkaWEvdmlkZW8tY29udHJv
bHMtY2FwdGlvbnMtdHJhY2ttZW51Lmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi8xMDE2
NzAgbWVkaWEvdHJhY2svdHJhY2stdXNlci1wcmVmZXJlbmNlcy5odG1sIFsgRmFpbHVyZSBdCit3
ZWJraXQub3JnL2IvMTAxNjcwIG1lZGlhL3ZpZGVvLWNvbnRyb2xzLWNhcHRpb25zLXRyYWNrbWVu
dS1pbmNsdWRlcy1lbmFibGVkLXRyYWNrLmh0bWwgWyBGYWlsdXJlIF0KKwogQnVnKEdUSykgaHR0
cC90ZXN0cy9sb2FkaW5nL2JhZC1zY2hlbWUtc3ViZnJhbWUuaHRtbCBbIEZhaWx1cmUgXQogCiAj
IE5lZWRlZCB0byBjb3ZlciB0aGUgZml4IGZvciA8cmRhcjovL3Byb2JsZW0vNjcyNzQ5NT4KQEAg
LTEyMDgsNiArMTIwNCw3IEBAIHdlYmtpdC5vcmcvYi84OTY2MyBlZGl0aW5nL2RlbGV0aW5nL2Rl
bGV0ZS0zODAwODM0LWZpeC5odG1sIFsgRmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi84NzM1NSBj
YW52YXMvcGhpbGlwL3Rlc3RzLzJkLnRleHQuZHJhdy5mb250ZmFjZS5ub3RpbnBhZ2UuaHRtbCBb
IEZhaWx1cmUgXQogCisjIEdUSyBpcyBtb3ZpbmcgZnJvbSB0aGUgc2ltcGxlIHRvZ2dsZSBidXR0
b24gdG8gYSBtZW51IG9mIHRyYWNrcwogd2Via2l0Lm9yZy9iLzk1NDI4IG1lZGlhL3ZpZGVvLWNv
bnRyb2xzLWNhcHRpb25zLmh0bWwgWyBGYWlsdXJlIF0KIAogd2Via2l0Lm9yZy9iLzk1NDI5IHN2
Zy9jdXN0b20vY2xhbXBlZC1tYXNraW5nLWNsaXBwaW5nLnN2ZyBbIEltYWdlT25seUZhaWx1cmUg
XQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>