<?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>77096</bug_id>
          
          <creation_ts>2012-01-26 05:45:03 -0800</creation_ts>
          <short_desc>Web Inspector: [Meta] Allow emulation of touch events</short_desc>
          <delta_ts>2012-02-06 08:57:38 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>77105</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexander Pavlov (apavlov)">apavlov</reporter>
          <assigned_to name="Alexander Pavlov (apavlov)">apavlov</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>dglazkov</cc>
    
    <cc>gustavo</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>543079</commentid>
    <comment_count>0</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-01-26 05:45:03 -0800</bug_when>
    <thetext>Web developers writing for mobile devices will want to debug touch events on their desktop hardware lacking touch screens. We need to enable the emulation of touch events using the similar, mouse-related ones (like, mousedown -&gt; touchstart).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545144</commentid>
    <comment_count>1</comment_count>
      <attachid>124562</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-01-30 09:06:34 -0800</bug_when>
    <thetext>Created attachment 124562
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545155</commentid>
    <comment_count>2</comment_count>
      <attachid>124562</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-01-30 09:22:23 -0800</bug_when>
    <thetext>Comment on attachment 124562
Patch

Attachment 124562 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/11371212</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545158</commentid>
    <comment_count>3</comment_count>
      <attachid>124562</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-30 09:27:35 -0800</bug_when>
    <thetext>Comment on attachment 124562
Patch

Attachment 124562 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11360958</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545160</commentid>
    <comment_count>4</comment_count>
      <attachid>124562</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-01-30 09:28:08 -0800</bug_when>
    <thetext>Comment on attachment 124562
Patch

This is a provisional patch, pending the commit of a patch for the bug 77105.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545161</commentid>
    <comment_count>5</comment_count>
      <attachid>124562</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-01-30 09:29:12 -0800</bug_when>
    <thetext>Comment on attachment 124562
Patch

Attachment 124562 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/11368589</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545173</commentid>
    <comment_count>6</comment_count>
      <attachid>124562</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-01-30 09:48:32 -0800</bug_when>
    <thetext>Comment on attachment 124562
Patch

Attachment 124562 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/11367631</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548601</commentid>
    <comment_count>7</comment_count>
      <attachid>125299</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-02-03 02:53:39 -0800</bug_when>
    <thetext>Created attachment 125299
[PATCH] Rebased</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548605</commentid>
    <comment_count>8</comment_count>
      <attachid>125299</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-02-03 03:04:49 -0800</bug_when>
    <thetext>Comment on attachment 125299
[PATCH] Rebased

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

&gt; Source/WebCore/inspector/Inspector.json:1517
&gt; +                &quot;description&quot;: &quot;Toggles mouse event-based touch event emulation.&quot;

&quot;hidden&quot; :true

&gt; Source/WebCore/inspector/InspectorDOMAgent.cpp:412
&gt; +        documents.at(i)-&gt;settings()-&gt;setTouchEventEmulationEnabled(enabled);

What about the documents that are added / removed from the list dynamically? You should also adjust their settings.

&gt; Source/WebCore/inspector/front-end/Settings.js:48
&gt; +    emulateTouchEvents: false

I don&apos;t think you need this change.

&gt; Source/WebCore/inspector/front-end/SettingsScreen.js:45
&gt; +        p.appendChild(this._createCheckboxSetting(WebInspector.UIString(&quot;Emulate touch events&quot;), WebInspector.settings.emulateTouchEvents));

This should not be under the showDockToRight.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548699</commentid>
    <comment_count>9</comment_count>
      <attachid>125323</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-02-03 07:32:24 -0800</bug_when>
    <thetext>Created attachment 125323
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548726</commentid>
    <comment_count>10</comment_count>
      <attachid>125323</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-02-03 08:16:08 -0800</bug_when>
    <thetext>Comment on attachment 125323
Patch

Attachment 125323 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/11416361</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548738</commentid>
    <comment_count>11</comment_count>
      <attachid>125335</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-02-03 08:28:18 -0800</bug_when>
    <thetext>Created attachment 125335
[PATCH] Fixed for builds without ENABLE(TOUCH_EVENTS)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548768</commentid>
    <comment_count>12</comment_count>
      <attachid>125344</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-02-03 08:54:24 -0800</bug_when>
    <thetext>Created attachment 125344
[PATCH] Fixed unused param in conditional compilation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549894</commentid>
    <comment_count>13</comment_count>
      <attachid>125615</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-02-06 04:34:10 -0800</bug_when>
    <thetext>Created attachment 125615
[PATCH] Return error from agent method if touch events are not enabled in webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549952</commentid>
    <comment_count>14</comment_count>
      <attachid>125615</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-02-06 06:32:02 -0800</bug_when>
    <thetext>Comment on attachment 125615
[PATCH] Return error from agent method if touch events are not enabled in webkit

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

&gt; Source/WebCore/inspector/InspectorDOMAgent.cpp:409
&gt; +    m_document-&gt;settings()-&gt;setTouchEventEmulationEnabled(enabled);

You should do this via the page agent.

&gt; Source/WebCore/inspector/InspectorDOMAgent.cpp:1069
&gt; +    m_state-&gt;setBoolean(DOMAgentState::touchEventEmulationEnabled, enabled);

You should move this into the updateTouchEventEmulationInPage.

&gt; Source/WebCore/inspector/front-end/SettingsScreen.js:42
&gt; +    var p = this._appendSection(WebInspector.UIString(&quot;General&quot;));

I think we should rename &quot;Network&quot; to &quot;User Agent&quot;, move Disable cache into &quot;General&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549954</commentid>
    <comment_count>15</comment_count>
      <attachid>125615</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-02-06 06:32:56 -0800</bug_when>
    <thetext>Comment on attachment 125615
[PATCH] Return error from agent method if touch events are not enabled in webkit

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

&gt; Source/WebCore/page/EventHandler.cpp:1782
&gt; +

I thought backend was ready for the emulation. Please fix this separately as a follow up to the backend change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549979</commentid>
    <comment_count>16</comment_count>
      <attachid>125639</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-02-06 07:17:11 -0800</bug_when>
    <thetext>Created attachment 125639
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549983</commentid>
    <comment_count>17</comment_count>
      <attachid>125639</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-02-06 07:21:48 -0800</bug_when>
    <thetext>Comment on attachment 125639
Patch

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

&gt; Source/WebCore/inspector/InspectorDOMAgent.cpp:222
&gt; +    m_state-&gt;setBoolean(DOMAgentState::touchEventEmulationEnabled, false);

You should hide this.

&gt; Source/WebCore/inspector/InspectorDOMAgent.cpp:1068
&gt; +    if (m_state-&gt;getBoolean(DOMAgentState::touchEventEmulationEnabled) == enabled)

You could put this above the ENABLE as an entry guard.

&gt; Source/WebCore/inspector/InspectorDOMAgent.cpp:1072
&gt; +    *error = &quot;Touch event emulation not enabled&quot;;

Touch events emulation not supported.

&gt; Source/WebCore/inspector/front-end/SettingsScreen.js:43
&gt; +    if (Preferences.showDockToRight &amp;&amp; Preferences.exposeDisableCache) {

&amp;&amp; -&gt; ||

&gt; Source/WebCore/page/EventHandler.cpp:1783
&gt; +#if ENABLE(TOUCH_EVENTS)

Should be in a separate change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549991</commentid>
    <comment_count>18</comment_count>
      <attachid>125643</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-02-06 07:39:05 -0800</bug_when>
    <thetext>Created attachment 125643
[PATCH] Comments addressed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549992</commentid>
    <comment_count>19</comment_count>
      <attachid>125643</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-02-06 07:42:06 -0800</bug_when>
    <thetext>Comment on attachment 125643
[PATCH] Comments addressed

Attachment 125643 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/11429420</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549993</commentid>
    <comment_count>20</comment_count>
      <attachid>125643</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-02-06 07:44:04 -0800</bug_when>
    <thetext>Comment on attachment 125643
[PATCH] Comments addressed

Attachment 125643 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/11433334</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549997</commentid>
    <comment_count>21</comment_count>
      <attachid>125645</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-02-06 07:47:32 -0800</bug_when>
    <thetext>Created attachment 125645
[PATCH] Efl build fixed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550039</commentid>
    <comment_count>22</comment_count>
      <attachid>125645</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-06 08:57:30 -0800</bug_when>
    <thetext>Comment on attachment 125645
[PATCH] Efl build fixed

Clearing flags on attachment: 125645

Committed r106811: &lt;http://trac.webkit.org/changeset/106811&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550040</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-06 08:57:38 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124562</attachid>
            <date>2012-01-30 09:06:34 -0800</date>
            <delta_ts>2012-02-03 02:53:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77096-20120130210632.patch</filename>
            <type>text/plain</type>
            <size>9948</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1OTc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjEzMmZjMjNlY2U4NDcx
OTBlMTMzNDRmYTJmZDM2ODhkODJkODU4NS4uMDlkZDk2NGFlYWExZjViMzE2M2JjNDUwOWIxYzBk
N2M0NjdjMTM3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTAxLTMwICBBbGV4
YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogW01ldGFdIEFsbG93IGVtdWxhdGlvbiBvZiB0b3VjaCBldmVudHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDk2CisKKyAgICAgICAgVGhp
cyBpcyB0aGUgaW5zcGVjdG9yIHBhcnQgb2YgdGhlIGNoYW5nZSwgY29yZSBwYXJ0IGltcGxlbWVu
dGF0aW9uIHRyYWNrZWQgaW4gYnVnIDc3MTA1LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpz
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3IuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwOgorICAgICAgICAoRE9NQWdlbnRTdGF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6Y2xlYXJGcm9udGVuZCk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6cmVzdG9yZSk6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50Ojp1cGRhdGVUb3VjaEV2ZW50
RW11bGF0aW9uSW5Eb2N1bWVudHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdl
bnQ6OnNldFRvdWNoRW11bGF0aW9uRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JET01BZ2VudDo6cmVzb2x2ZU5vZGUpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JE
T01BZ2VudC5oOgorICAgICAgICAoSW5zcGVjdG9yRE9NQWdlbnQpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvRE9NQWdlbnQuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NQWdl
bnQucHJvdG90eXBlLl9jYXB0dXJlRE9NKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01BZ2Vu
dC5wcm90b3R5cGUuX2VtdWxhdGVUb3VjaEV2ZW50c0NoYW5nZWQpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvU2V0dGluZ3MuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2V0dGlu
Z3MpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU2V0dGluZ3NTY3JlZW4uanM6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuU2V0dGluZ3NTY3JlZW4pOgorCiAyMDEyLTAxLTI2ICBOaWtv
bGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFubkByaW0uY29tPgogCiAgICAgICAgIE5vdCByZXZp
ZXdlZC4gVHJ5IHRvIGZpeCBHdGsgYnVpbGQgLSBKU1NoYWRvd1Jvb3QuY3BwIGNhbid0IGJlIGZv
dW5kLCBmaXggYnkgbG9va2luZyBmb3IgaXQgaW4gdGhlIGRlcml2ZWQgc291cmNlcy4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0VuZ2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBi
L1NvdXJjZS9XZWJDb3JlL0VuZ2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwppbmRleCBk
ODQ5OGQ5YWM3MjY2Njk2YjU2ODRiNDIyMDZiMzliYjc4ZjdjZWIwLi43Mjc2MjMyODc3OTIwNDI3
YjcxMDU3Yjg5YzNlNmViZGUyZDRhZTYyIDEwMDY0NApHSVQgYmluYXJ5IHBhdGNoCmRlbHRhIDEw
NAp6Y21hRUpmI3VVaG1KTyRhMCZeS2s4RkNtQjhBPSNaODVEcUlLOUhaeGtPNT87R0whKnY5I0V7
OUw1VSQyQ31JbzUKWk4oYDxIYz1iJWE8Nn1IfGVrai1HJVJ3YCowc3d8azh4I05sCgpkZWx0YSAx
OQpiY21leCNrPiQrPW1KTyRhcnRfO1hAQCRSYG9fWkFrVmR4MD8KCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yLmpzb24KaW5kZXggZTE0NWY4ZmUxNmYwOWYxZTRiODhkY2Y1NGVjNjUw
OTZlNzExNjAyZS4uMDg4NjY3NWRmYjFlNzdlMTcyMGJiN2JiOThjMDhlNDgzZGU5YWNmMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgpAQCAtMTUwOCw2ICsxNTA4LDEz
IEBACiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibm9kZUlkIiwgIiRyZWYiOiAiTm9k
ZUlkIiwgImRlc2NyaXB0aW9uIjogIk5ldyBpZCBvZiB0aGUgbW92ZWQgbm9kZS4iIH0KICAgICAg
ICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNb3ZlcyBub2Rl
IGludG8gdGhlIG5ldyBjb250YWluZXIsIHBsYWNlcyBpdCBiZWZvcmUgdGhlIGdpdmVuIGFuY2hv
ci4iCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJuYW1l
IjogInNldFRvdWNoRW11bGF0aW9uRW5hYmxlZCIsCisgICAgICAgICAgICAgICAgInBhcmFtZXRl
cnMiOiBbCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZW5hYmxlZCIsICJ0eXBlIjog
ImJvb2xlYW4iLCAiZGVzY3JpcHRpb24iOiAiV2hldGhlciB0aGUgdG91Y2ggZXZlbnQgZW11bGF0
aW9uIHNob3VsZCBiZSBlbmFibGVkLiIgfQorICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAg
ICAgICAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZXMgbW91c2UgZXZlbnQtYmFzZWQgdG91Y2ggZXZl
bnQgZW11bGF0aW9uLiIKICAgICAgICAgICAgIH0KICAgICAgICAgXSwKICAgICAgICAgImV2ZW50
cyI6IFsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01B
Z2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3Bw
CmluZGV4IDI4YzBmM2I3ZDAxOTk3OTdmMTE2MTkyNTUwZjRkY2I3NzBjY2E1MzEuLjQzNzkyNGJh
MTk5Y2I4MTM0ZDE5NDIwZTYzYTMzMjIxYzliM2IwNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcApAQCAtNzksNiArNzksNyBAQAogI2luY2x1
ZGUgIlJlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSAiUmVuZGVyU3R5bGVDb25zdGFudHMuaCIKICNp
bmNsdWRlICJTY3JpcHRFdmVudExpc3RlbmVyLmgiCisjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNp
bmNsdWRlICJTdHlsZVNoZWV0TGlzdC5oIgogI2luY2x1ZGUgIlRleHQuaCIKICNpbmNsdWRlICJY
UGF0aFJlc3VsdC5oIgpAQCAtOTYsNiArOTcsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBu
YW1lc3BhY2UgRE9NQWdlbnRTdGF0ZSB7CiBzdGF0aWMgY29uc3QgY2hhciBkb2N1bWVudFJlcXVl
c3RlZFtdID0gImRvY3VtZW50UmVxdWVzdGVkIjsKKworI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMp
CitzdGF0aWMgY29uc3QgY2hhciB0b3VjaEV2ZW50RW11bGF0aW9uRW5hYmxlZFtdID0gInRvdWNo
RXZlbnRFbXVsYXRpb25FbmFibGVkIjsKKyNlbmRpZgogfTsKIAogc3RhdGljIGNvbnN0IHNpemVf
dCBtYXhUZXh0U2l6ZSA9IDEwMDAwOwpAQCAtMjEzLDYgKzIxOCwxMCBAQCB2b2lkIEluc3BlY3Rv
ckRPTUFnZW50OjpjbGVhckZyb250ZW5kKCkKICAgICBtX2Zyb250ZW5kID0gMDsKICAgICBtX2lu
c3RydW1lbnRpbmdBZ2VudHMtPnNldEluc3BlY3RvckRPTUFnZW50KDApOwogICAgIG1fc3RhdGUt
PnNldEJvb2xlYW4oRE9NQWdlbnRTdGF0ZTo6ZG9jdW1lbnRSZXF1ZXN0ZWQsIGZhbHNlKTsKKyNp
ZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorICAgIG1fc3RhdGUtPnNldEJvb2xlYW4oRE9NQWdlbnRT
dGF0ZTo6dG91Y2hFdmVudEVtdWxhdGlvbkVuYWJsZWQsIGZhbHNlKTsKKyAgICB1cGRhdGVUb3Vj
aEV2ZW50RW11bGF0aW9uSW5Eb2N1bWVudHMoZmFsc2UpOworI2VuZGlmCiAgICAgcmVzZXQoKTsK
IH0KIApAQCAtMjIxLDYgKzIzMCw5IEBAIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnJlc3RvcmUo
KQogICAgIC8vIFJlc2V0IGRvY3VtZW50IHRvIGF2b2lkIGVhcmx5IHJldHVybiBmcm9tIHNldERv
Y3VtZW50LgogICAgIG1fZG9jdW1lbnQgPSAwOwogICAgIHNldERvY3VtZW50KG1fcGFnZUFnZW50
LT5tYWluRnJhbWUoKS0+ZG9jdW1lbnQoKSk7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAg
ICB1cGRhdGVUb3VjaEV2ZW50RW11bGF0aW9uSW5Eb2N1bWVudHMobV9zdGF0ZS0+Z2V0Qm9vbGVh
bihET01BZ2VudFN0YXRlOjp0b3VjaEV2ZW50RW11bGF0aW9uRW5hYmxlZCkpOworI2VuZGlmCiB9
CiAKIFZlY3RvcjxEb2N1bWVudCo+IEluc3BlY3RvckRPTUFnZW50Ojpkb2N1bWVudHMoKQpAQCAt
MzkxLDYgKzQwMywxNiBAQCB2b2lkIEluc3BlY3RvckRPTUFnZW50OjpkaXNjYXJkQmluZGluZ3Mo
KQogICAgIG1fY2hpbGRyZW5SZXF1ZXN0ZWQuY2xlYXIoKTsKIH0KIAorI2lmIEVOQUJMRShUT1VD
SF9FVkVOVFMpCit2b2lkIEluc3BlY3RvckRPTUFnZW50Ojp1cGRhdGVUb3VjaEV2ZW50RW11bGF0
aW9uSW5Eb2N1bWVudHMoYm9vbCBlbmFibGVkKQoreworICAgIFZlY3RvcjxEb2N1bWVudCo+IGRv
Y3VtZW50cyA9IHRoaXMtPmRvY3VtZW50cygpOworICAgIHNpemVfdCBzaXplID0gZG9jdW1lbnRz
LnNpemUoKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHNpemU7ICsraSkKKyAgICAgICAg
ZG9jdW1lbnRzLmF0KGkpLT5zZXR0aW5ncygpLT5zZXRUb3VjaEV2ZW50RW11bGF0aW9uRW5hYmxl
ZChlbmFibGVkKTsKK30KKyNlbmRpZgorCiBOb2RlKiBJbnNwZWN0b3JET01BZ2VudDo6bm9kZUZv
cklkKGludCBpZCkKIHsKICAgICBpZiAoIWlkKQpAQCAtMTA0MSw2ICsxMDYzLDE2IEBAIHZvaWQg
SW5zcGVjdG9yRE9NQWdlbnQ6Om1vdmVUbyhFcnJvclN0cmluZyogZXJyb3IsIGludCBub2RlSWQs
IGludCB0YXJnZXRFbGVtZW50CiAgICAgKm5ld05vZGVJZCA9IHB1c2hOb2RlUGF0aFRvRnJvbnRl
bmQobm9kZSk7CiB9CiAKK3ZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnNldFRvdWNoRW11bGF0aW9u
RW5hYmxlZChFcnJvclN0cmluZyosIGJvb2wgZW5hYmxlZCkKK3sKKyNpZiBFTkFCTEUoVE9VQ0hf
RVZFTlRTKQorICAgIGlmIChtX3N0YXRlLT5nZXRCb29sZWFuKERPTUFnZW50U3RhdGU6OnRvdWNo
RXZlbnRFbXVsYXRpb25FbmFibGVkKSA9PSBlbmFibGVkKQorICAgICAgICByZXR1cm47CisgICAg
bV9zdGF0ZS0+c2V0Qm9vbGVhbihET01BZ2VudFN0YXRlOjp0b3VjaEV2ZW50RW11bGF0aW9uRW5h
YmxlZCwgZW5hYmxlZCk7CisgICAgdXBkYXRlVG91Y2hFdmVudEVtdWxhdGlvbkluRG9jdW1lbnRz
KGVuYWJsZWQpOworI2VuZGlmCit9CisKIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnJlc29sdmVO
b2RlKEVycm9yU3RyaW5nKiBlcnJvciwgaW50IG5vZGVJZCwgY29uc3QgU3RyaW5nKiBjb25zdCBv
YmplY3RHcm91cCwgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4mIHJlc3VsdCkKIHsKICAgICBTdHJp
bmcgb2JqZWN0R3JvdXBOYW1lID0gb2JqZWN0R3JvdXAgPyAqb2JqZWN0R3JvdXAgOiAiIjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKaW5kZXggMDFjNDlk
Y2NjODA1ZjEyNTcxN2RmMWNmYWJlYTIwZjdlZTZjZmRmNS4uZjBmNDgwMTc1ODM5NTU0ZTYyYWIx
NWJhZDRmYTNhOTg3MDdjM2FkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckRPTUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckRPTUFnZW50LmgKQEAgLTE0Miw2ICsxNDIsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBoaWdo
bGlnaHROb2RlKEVycm9yU3RyaW5nKiwgaW50IG5vZGVJZCwgY29uc3QgUmVmUHRyPEluc3BlY3Rv
ck9iamVjdD4gaGlnaGxpZ2h0Q29uZmlnKTsKICAgICB2b2lkIGhpZ2hsaWdodEZyYW1lKEVycm9y
U3RyaW5nKiwgY29uc3QgU3RyaW5nJiBmcmFtZUlkLCBjb25zdCBSZWZQdHI8SW5zcGVjdG9yT2Jq
ZWN0PiogY29sb3IsIGNvbnN0IFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+KiBvdXRsaW5lQ29sb3Ip
OwogICAgIHZvaWQgbW92ZVRvKEVycm9yU3RyaW5nKiwgaW50IG5vZGVJZCwgaW50IHRhcmdldE5v
ZGVJZCwgY29uc3QgaW50KiBjb25zdCBhbmNob3JOb2RlSWQsIGludCogbmV3Tm9kZUlkKTsKKyNp
ZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorICAgIHZvaWQgc2V0VG91Y2hFbXVsYXRpb25FbmFibGVk
KEVycm9yU3RyaW5nKiwgYm9vbCk7CisjZW5kaWYKIAogICAgIE5vZGUqIGhpZ2hsaWdodGVkTm9k
ZSgpIGNvbnN0OwogCkBAIC0yMTYsNiArMjE5LDEwIEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGRp
c2NhcmRCaW5kaW5ncygpOwogCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICB2b2lkIHVw
ZGF0ZVRvdWNoRXZlbnRFbXVsYXRpb25JbkRvY3VtZW50cyhib29sKTsKKyNlbmRpZgorCiAgICAg
SW5zcGVjdG9yUGFnZUFnZW50KiBtX3BhZ2VBZ2VudDsKICAgICBJbnNwZWN0b3JDbGllbnQqIG1f
Y2xpZW50OwogICAgIEluamVjdGVkU2NyaXB0TWFuYWdlciogbV9pbmplY3RlZFNjcmlwdE1hbmFn
ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTUFn
ZW50LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9ET01BZ2VudC5qcwpp
bmRleCAwNDczMjM1ZDhhOWI0MDBmYjVlMWYxZGVlZDY0MTliMDUyYTg3MTg5Li5kNzI0YTcwYmMz
MDRiOTNmNGYwY2QwMzc4YzM5ZGEzNjM1NDFiNjE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTUFnZW50LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvRE9NQWdlbnQuanMKQEAgLTUyMSw2ICs1MjEsMTAgQEAgV2ViSW5z
cGVjdG9yLkRPTUFnZW50ID0gZnVuY3Rpb24oKSB7CiAgICAgSW5zcGVjdG9yQmFja2VuZC5yZWdp
c3RlckRPTURpc3BhdGNoZXIobmV3IFdlYkluc3BlY3Rvci5ET01EaXNwYXRjaGVyKHRoaXMpKTsK
ICAgICBpZiAoV2ViSW5zcGVjdG9yLmV4cGVyaW1lbnRzU2V0dGluZ3MuZnJlZUZsb3dET01FZGl0
aW5nLmlzRW5hYmxlZCgpKQogICAgICAgICBuZXcgV2ViSW5zcGVjdG9yLkRPTU1vZGVsUmVzb3Vy
Y2VCaW5kaW5nKHRoaXMpOworCisgICAgaWYgKFdlYkluc3BlY3Rvci5zZXR0aW5ncy5lbXVsYXRl
VG91Y2hFdmVudHMuZ2V0KCkpCisgICAgICAgIHRoaXMuX2VtdWxhdGVUb3VjaEV2ZW50c0NoYW5n
ZWQoKTsKKyAgICBXZWJJbnNwZWN0b3Iuc2V0dGluZ3MuZW11bGF0ZVRvdWNoRXZlbnRzLmFkZENo
YW5nZUxpc3RlbmVyKHRoaXMuX2VtdWxhdGVUb3VjaEV2ZW50c0NoYW5nZWQsIHRoaXMpOwogfQog
CiBXZWJJbnNwZWN0b3IuRE9NQWdlbnQuRXZlbnRzID0gewpAQCAtMTAxNiw2ICsxMDIwLDExIEBA
IFdlYkluc3BlY3Rvci5ET01BZ2VudC5wcm90b3R5cGUgPSB7CiAgICAgICAgIH0KICAgICAgICAg
RE9NQWdlbnQuZ2V0T3V0ZXJIVE1MKG5vZGUub3duZXJEb2N1bWVudC5pZCwgY2FsbGJhY2spOwog
ICAgICAgICAKKyAgICB9LAorCisgICAgX2VtdWxhdGVUb3VjaEV2ZW50c0NoYW5nZWQ6IGZ1bmN0
aW9uKCkKKyAgICB7CisgICAgICAgIERPTUFnZW50LnNldFRvdWNoRW11bGF0aW9uRW5hYmxlZChX
ZWJJbnNwZWN0b3Iuc2V0dGluZ3MuZW11bGF0ZVRvdWNoRXZlbnRzLmdldCgpKTsKICAgICB9CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2V0dGlu
Z3MuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NldHRpbmdzLmpzCmlu
ZGV4IGIwYzU3NjM4ZjZmMzMyODkzMDM3ODM4MGQzZWFjMzNkYzA0MTVmMzguLjY1OTQ5ZWIyMDM2
YmNkYzk5YzA3ODcxZmY4MjkzZWQ1YjA1ZTU5MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvU2V0dGluZ3MuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9TZXR0aW5ncy5qcwpAQCAtNDQsNyArNDQsOCBAQCB2YXIgUHJlZmVy
ZW5jZXMgPSB7CiAgICAgZXhwb3NlV29ya2Vyc0luc3BlY3Rpb246IGZhbHNlLAogICAgIGFwcGxp
Y2F0aW9uVGl0bGU6ICJXZWIgSW5zcGVjdG9yIC0gJXMiLAogICAgIHNob3dIZWFwU25hcHNob3RP
YmplY3RzSGlkZGVuUHJvcGVydGllczogZmFsc2UsCi0gICAgc2hvd0RvY2tUb1JpZ2h0OiBmYWxz
ZQorICAgIHNob3dEb2NrVG9SaWdodDogZmFsc2UsCisgICAgZW11bGF0ZVRvdWNoRXZlbnRzOiBm
YWxzZQogfQogCiB2YXIgQ2FwYWJpbGl0aWVzID0gewpAQCAtODgsNiArODksNyBAQCBXZWJJbnNw
ZWN0b3IuU2V0dGluZ3MgPSBmdW5jdGlvbigpCiAgICAgdGhpcy51c2VyQWdlbnQgPSB0aGlzLmNy
ZWF0ZVNldHRpbmcoInVzZXJBZ2VudCIsICIiKTsKICAgICB0aGlzLnNob3dTY3JpcHRGb2xkZXJz
ID0gdGhpcy5jcmVhdGVTZXR0aW5nKCJzaG93U2NyaXB0Rm9sZGVycyIsIHRydWUpOwogICAgIHRo
aXMuZG9ja1RvUmlnaHQgPSB0aGlzLmNyZWF0ZVNldHRpbmcoImRvY2tUb1JpZ2h0IiwgZmFsc2Up
OworICAgIHRoaXMuZW11bGF0ZVRvdWNoRXZlbnRzID0gdGhpcy5jcmVhdGVTZXR0aW5nKCJlbXVs
YXRlVG91Y2hFdmVudHMiLCBmYWxzZSk7CiAKICAgICAvLyBJZiB0aGVyZSBhcmUgdG9vIG1hbnkg
YnJlYWtwb2ludHMgaW4gYSBzdG9yYWdlLCBpdCBpcyBsaWtlbHkgZHVlIHRvIGEgcmVjZW50IGJ1
ZyB0aGF0IGNhdXNlZAogICAgIC8vIHBlcmlvZGljYWwgYnJlYWtwb2ludHMgZHVwbGljYXRpb24g
bGVhZGluZyB0byBpbnNwZWN0b3Igc2xvd25lc3MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NldHRpbmdzU2NyZWVuLmpzIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5nc1NjcmVlbi5qcwppbmRleCBhMmUwN2I0ZThkOGMy
ODUwZjkyZjE0MzQ3MDIwMTUzODVmZTU0NjQ0Li40YWQxMmVmYTJkZjk3N2NlODUzODE2OTMzYjQw
N2EyNDA1NGM0NjY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1NldHRpbmdzU2NyZWVuLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvU2V0dGluZ3NTY3JlZW4uanMKQEAgLTQyLDYgKzQyLDcgQEAgV2ViSW5zcGVjdG9yLlNl
dHRpbmdzU2NyZWVuID0gZnVuY3Rpb24oKQogICAgIGlmIChQcmVmZXJlbmNlcy5zaG93RG9ja1Rv
UmlnaHQpIHsKICAgICAgICAgdmFyIHAgPSB0aGlzLl9hcHBlbmRTZWN0aW9uKFdlYkluc3BlY3Rv
ci5VSVN0cmluZygiR2VuZXJhbCIpKTsKICAgICAgICAgcC5hcHBlbmRDaGlsZCh0aGlzLl9jcmVh
dGVDaGVja2JveFNldHRpbmcoV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJEb2NrIHRvIHJpZ2h0Iiks
IFdlYkluc3BlY3Rvci5zZXR0aW5ncy5kb2NrVG9SaWdodCkpOworICAgICAgICBwLmFwcGVuZENo
aWxkKHRoaXMuX2NyZWF0ZUNoZWNrYm94U2V0dGluZyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkVt
dWxhdGUgdG91Y2ggZXZlbnRzIiksIFdlYkluc3BlY3Rvci5zZXR0aW5ncy5lbXVsYXRlVG91Y2hF
dmVudHMpKTsKICAgICB9CiAKICAgICB2YXIgcCA9IHRoaXMuX2FwcGVuZFNlY3Rpb24oV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJFbGVtZW50cyIpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125299</attachid>
            <date>2012-02-03 02:53:39 -0800</date>
            <delta_ts>2012-02-03 07:32:15 -0800</delta_ts>
            <desc>[PATCH] Rebased</desc>
            <filename>bug-77096-20120203145338.patch</filename>
            <type>text/plain</type>
            <size>9884</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2NjQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmI4NWMxNWVjZWZmYTE3
NjVhZTdjOTk5YTRhZjEyNGQ2MzA4YmFhYy4uN2QzMmQ5ZGM3OWJhNWM0ZmIyNDczNTZiNDIzYmQy
N2M4NzQ5NDgxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTAxLTMwICBBbGV4
YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogW01ldGFdIEFsbG93IGVtdWxhdGlvbiBvZiB0b3VjaCBldmVudHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDk2CisKKyAgICAgICAgVGhp
cyBpcyB0aGUgaW5zcGVjdG9yIHBhcnQgb2YgdGhlIGNoYW5nZSwgY29yZSBwYXJ0IGltcGxlbWVu
dGF0aW9uIHRyYWNrZWQgaW4gYnVnIDc3MTA1LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpz
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3IuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwOgorICAgICAgICAoRE9NQWdlbnRTdGF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6Y2xlYXJGcm9udGVuZCk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6cmVzdG9yZSk6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50Ojp1cGRhdGVUb3VjaEV2ZW50
RW11bGF0aW9uSW5Eb2N1bWVudHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdl
bnQ6OnNldFRvdWNoRW11bGF0aW9uRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JET01BZ2VudDo6cmVzb2x2ZU5vZGUpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JE
T01BZ2VudC5oOgorICAgICAgICAoSW5zcGVjdG9yRE9NQWdlbnQpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvRE9NQWdlbnQuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NQWdl
bnQucHJvdG90eXBlLl9jYXB0dXJlRE9NKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01BZ2Vu
dC5wcm90b3R5cGUuX2VtdWxhdGVUb3VjaEV2ZW50c0NoYW5nZWQpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvU2V0dGluZ3MuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2V0dGlu
Z3MpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU2V0dGluZ3NTY3JlZW4uanM6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuU2V0dGluZ3NTY3JlZW4pOgorCiAyMDEyLTAxLTI3ICBBbGV4
YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSW1wbGVtZW50
IHRvdWNoIGV2ZW50IGVtdWxhdGlvbiBpbiB0aGUgV2ViQ29yZSBsYXllcgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzIGIvU291cmNl
L1dlYkNvcmUvRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCmluZGV4IGQ4NDk4ZDlh
YzcyNjY2OTZiNTY4NGI0MjIwNmIzOWJiNzhmN2NlYjAuLjcyNzYyMzI4Nzc5MjA0MjdiNzEwNTdi
ODljM2U2ZWJkZTJkNGFlNjIgMTAwNjQ0CkdJVCBiaW5hcnkgcGF0Y2gKZGVsdGEgMTA0CnpjbWFF
SmYjdVVobUpPJGEwJl5LazhGQ21COEE9I1o4NURxSUs5SFp4a081PztHTCEqdjkjRXs5TDVVJDJD
fUlvNQpaTihgPEhjPWIlYTw2fUh8ZWtqLUclUndgKjBzd3xrOHgjTmwKCmRlbHRhIDE5CmJjbWV4
I2s+JCs9bUpPJGFydF87WEBAJFJgb19aQWtWZHgwPwoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3IuanNvbgppbmRleCBlOGRhMDM4YTc0ZDI5Zjk0OTU3MTg0ZGZiZmUyNWQ1ZTY4YWQ0
ZWQ1Li41OWRhNzBhNTJhZDE3OTAxOThmZTJhNWI4M2M4MjAxYWNhNWE5NGE5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCkBAIC0xNTA4LDYgKzE1MDgsMTMgQEAKICAg
ICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJub2RlSWQiLCAiJHJlZiI6ICJOb2RlSWQiLCAi
ZGVzY3JpcHRpb24iOiAiTmV3IGlkIG9mIHRoZSBtb3ZlZCBub2RlLiIgfQogICAgICAgICAgICAg
ICAgIF0sCiAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk1vdmVzIG5vZGUgaW50byB0
aGUgbmV3IGNvbnRhaW5lciwgcGxhY2VzIGl0IGJlZm9yZSB0aGUgZ2l2ZW4gYW5jaG9yLiIKKyAg
ICAgICAgICAgIH0sCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5hbWUiOiAic2V0
VG91Y2hFbXVsYXRpb25FbmFibGVkIiwKKyAgICAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsK
KyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJlbmFibGVkIiwgInR5cGUiOiAiYm9vbGVh
biIsICJkZXNjcmlwdGlvbiI6ICJXaGV0aGVyIHRoZSB0b3VjaCBldmVudCBlbXVsYXRpb24gc2hv
dWxkIGJlIGVuYWJsZWQuIiB9CisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICAi
ZGVzY3JpcHRpb24iOiAiVG9nZ2xlcyBtb3VzZSBldmVudC1iYXNlZCB0b3VjaCBldmVudCBlbXVs
YXRpb24uIgogICAgICAgICAgICAgfQogICAgICAgICBdLAogICAgICAgICAiZXZlbnRzIjogWwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKaW5kZXgg
YjUwMDI1YmIwMDk3N2E1NmJmYmNiNmUyYzNmYTAxNjJjOTI2ZTQ1My4uZDkwNDhjZDIwODg0MzYy
M2JiMmQyODZkNDI0Yzk3YzVhODhiOTk4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCkBAIC03OSw2ICs3OSw3IEBACiAjaW5jbHVkZSAiUmVu
ZGVyU3R5bGUuaCIKICNpbmNsdWRlICJSZW5kZXJTdHlsZUNvbnN0YW50cy5oIgogI2luY2x1ZGUg
IlNjcmlwdEV2ZW50TGlzdGVuZXIuaCIKKyNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUg
IlN0eWxlU2hlZXRMaXN0LmgiCiAjaW5jbHVkZSAiVGV4dC5oIgogI2luY2x1ZGUgIlhQYXRoUmVz
dWx0LmgiCkBAIC05Niw2ICs5NywxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIG5hbWVzcGFj
ZSBET01BZ2VudFN0YXRlIHsKIHN0YXRpYyBjb25zdCBjaGFyIGRvY3VtZW50UmVxdWVzdGVkW10g
PSAiZG9jdW1lbnRSZXF1ZXN0ZWQiOworCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKK3N0YXRp
YyBjb25zdCBjaGFyIHRvdWNoRXZlbnRFbXVsYXRpb25FbmFibGVkW10gPSAidG91Y2hFdmVudEVt
dWxhdGlvbkVuYWJsZWQiOworI2VuZGlmCiB9OwogCiBzdGF0aWMgY29uc3Qgc2l6ZV90IG1heFRl
eHRTaXplID0gMTAwMDA7CkBAIC0yMTMsNiArMjE4LDEwIEBAIHZvaWQgSW5zcGVjdG9yRE9NQWdl
bnQ6OmNsZWFyRnJvbnRlbmQoKQogICAgIG1fZnJvbnRlbmQgPSAwOwogICAgIG1faW5zdHJ1bWVu
dGluZ0FnZW50cy0+c2V0SW5zcGVjdG9yRE9NQWdlbnQoMCk7CiAgICAgbV9zdGF0ZS0+c2V0Qm9v
bGVhbihET01BZ2VudFN0YXRlOjpkb2N1bWVudFJlcXVlc3RlZCwgZmFsc2UpOworI2lmIEVOQUJM
RShUT1VDSF9FVkVOVFMpCisgICAgbV9zdGF0ZS0+c2V0Qm9vbGVhbihET01BZ2VudFN0YXRlOjp0
b3VjaEV2ZW50RW11bGF0aW9uRW5hYmxlZCwgZmFsc2UpOworICAgIHVwZGF0ZVRvdWNoRXZlbnRF
bXVsYXRpb25JbkRvY3VtZW50cyhmYWxzZSk7CisjZW5kaWYKICAgICByZXNldCgpOwogfQogCkBA
IC0yMjEsNiArMjMwLDkgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6cmVzdG9yZSgpCiAgICAg
Ly8gUmVzZXQgZG9jdW1lbnQgdG8gYXZvaWQgZWFybHkgcmV0dXJuIGZyb20gc2V0RG9jdW1lbnQu
CiAgICAgbV9kb2N1bWVudCA9IDA7CiAgICAgc2V0RG9jdW1lbnQobV9wYWdlQWdlbnQtPm1haW5G
cmFtZSgpLT5kb2N1bWVudCgpKTsKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorICAgIHVwZGF0
ZVRvdWNoRXZlbnRFbXVsYXRpb25JbkRvY3VtZW50cyhtX3N0YXRlLT5nZXRCb29sZWFuKERPTUFn
ZW50U3RhdGU6OnRvdWNoRXZlbnRFbXVsYXRpb25FbmFibGVkKSk7CisjZW5kaWYKIH0KIAogVmVj
dG9yPERvY3VtZW50Kj4gSW5zcGVjdG9yRE9NQWdlbnQ6OmRvY3VtZW50cygpCkBAIC0zOTEsNiAr
NDAzLDE2IEBAIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OmRpc2NhcmRCaW5kaW5ncygpCiAgICAg
bV9jaGlsZHJlblJlcXVlc3RlZC5jbGVhcigpOwogfQogCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5U
UykKK3ZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnVwZGF0ZVRvdWNoRXZlbnRFbXVsYXRpb25JbkRv
Y3VtZW50cyhib29sIGVuYWJsZWQpCit7CisgICAgVmVjdG9yPERvY3VtZW50Kj4gZG9jdW1lbnRz
ID0gdGhpcy0+ZG9jdW1lbnRzKCk7CisgICAgc2l6ZV90IHNpemUgPSBkb2N1bWVudHMuc2l6ZSgp
OworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc2l6ZTsgKytpKQorICAgICAgICBkb2N1bWVu
dHMuYXQoaSktPnNldHRpbmdzKCktPnNldFRvdWNoRXZlbnRFbXVsYXRpb25FbmFibGVkKGVuYWJs
ZWQpOworfQorI2VuZGlmCisKIE5vZGUqIEluc3BlY3RvckRPTUFnZW50Ojpub2RlRm9ySWQoaW50
IGlkKQogewogICAgIGlmICghaWQpCkBAIC0xMDQxLDYgKzEwNjMsMTYgQEAgdm9pZCBJbnNwZWN0
b3JET01BZ2VudDo6bW92ZVRvKEVycm9yU3RyaW5nKiBlcnJvciwgaW50IG5vZGVJZCwgaW50IHRh
cmdldEVsZW1lbnQKICAgICAqbmV3Tm9kZUlkID0gcHVzaE5vZGVQYXRoVG9Gcm9udGVuZChub2Rl
KTsKIH0KIAordm9pZCBJbnNwZWN0b3JET01BZ2VudDo6c2V0VG91Y2hFbXVsYXRpb25FbmFibGVk
KEVycm9yU3RyaW5nKiwgYm9vbCBlbmFibGVkKQoreworI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMp
CisgICAgaWYgKG1fc3RhdGUtPmdldEJvb2xlYW4oRE9NQWdlbnRTdGF0ZTo6dG91Y2hFdmVudEVt
dWxhdGlvbkVuYWJsZWQpID09IGVuYWJsZWQpCisgICAgICAgIHJldHVybjsKKyAgICBtX3N0YXRl
LT5zZXRCb29sZWFuKERPTUFnZW50U3RhdGU6OnRvdWNoRXZlbnRFbXVsYXRpb25FbmFibGVkLCBl
bmFibGVkKTsKKyAgICB1cGRhdGVUb3VjaEV2ZW50RW11bGF0aW9uSW5Eb2N1bWVudHMoZW5hYmxl
ZCk7CisjZW5kaWYKK30KKwogdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6cmVzb2x2ZU5vZGUoRXJy
b3JTdHJpbmcqIGVycm9yLCBpbnQgbm9kZUlkLCBjb25zdCBTdHJpbmcqIGNvbnN0IG9iamVjdEdy
b3VwLCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiYgcmVzdWx0KQogewogICAgIFN0cmluZyBvYmpl
Y3RHcm91cE5hbWUgPSBvYmplY3RHcm91cCA/ICpvYmplY3RHcm91cCA6ICIiOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuaAppbmRleCAwMWM0OWRjY2M4MDVm
MTI1NzE3ZGYxY2ZhYmVhMjBmN2VlNmNmZGY1Li5mMGY0ODAxNzU4Mzk1NTRlNjJhYjE1YmFkNGZh
M2E5ODcwN2MzYWQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRE9NQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9N
QWdlbnQuaApAQCAtMTQyLDYgKzE0Miw5IEBAIHB1YmxpYzoKICAgICB2b2lkIGhpZ2hsaWdodE5v
ZGUoRXJyb3JTdHJpbmcqLCBpbnQgbm9kZUlkLCBjb25zdCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0
PiBoaWdobGlnaHRDb25maWcpOwogICAgIHZvaWQgaGlnaGxpZ2h0RnJhbWUoRXJyb3JTdHJpbmcq
LCBjb25zdCBTdHJpbmcmIGZyYW1lSWQsIGNvbnN0IFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+KiBj
b2xvciwgY29uc3QgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4qIG91dGxpbmVDb2xvcik7CiAgICAg
dm9pZCBtb3ZlVG8oRXJyb3JTdHJpbmcqLCBpbnQgbm9kZUlkLCBpbnQgdGFyZ2V0Tm9kZUlkLCBj
b25zdCBpbnQqIGNvbnN0IGFuY2hvck5vZGVJZCwgaW50KiBuZXdOb2RlSWQpOworI2lmIEVOQUJM
RShUT1VDSF9FVkVOVFMpCisgICAgdm9pZCBzZXRUb3VjaEVtdWxhdGlvbkVuYWJsZWQoRXJyb3JT
dHJpbmcqLCBib29sKTsKKyNlbmRpZgogCiAgICAgTm9kZSogaGlnaGxpZ2h0ZWROb2RlKCkgY29u
c3Q7CiAKQEAgLTIxNiw2ICsyMTksMTAgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgZGlzY2FyZEJp
bmRpbmdzKCk7CiAKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorICAgIHZvaWQgdXBkYXRlVG91
Y2hFdmVudEVtdWxhdGlvbkluRG9jdW1lbnRzKGJvb2wpOworI2VuZGlmCisKICAgICBJbnNwZWN0
b3JQYWdlQWdlbnQqIG1fcGFnZUFnZW50OwogICAgIEluc3BlY3RvckNsaWVudCogbV9jbGllbnQ7
CiAgICAgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBtX2luamVjdGVkU2NyaXB0TWFuYWdlcjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRE9NQWdlbnQuanMg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTUFnZW50LmpzCmluZGV4IDk2
Mzk0M2Y2YmNhZmUxMGI5MjA5ZDgyYmRhZjk3YWQwZGIxZDNjZjUuLjVlNmQ1NzM2MmU5NDBjY2Yz
MTBjN2MzYzJiYjRhYmIyN2ZkZjBjYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvRE9NQWdlbnQuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9ET01BZ2VudC5qcwpAQCAtNTIxLDYgKzUyMSwxMCBAQCBXZWJJbnNwZWN0b3Iu
RE9NQWdlbnQgPSBmdW5jdGlvbigpIHsKICAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRE9N
RGlzcGF0Y2hlcihuZXcgV2ViSW5zcGVjdG9yLkRPTURpc3BhdGNoZXIodGhpcykpOwogICAgIGlm
IChXZWJJbnNwZWN0b3IuZXhwZXJpbWVudHNTZXR0aW5ncy5mcmVlRmxvd0RPTUVkaXRpbmcuaXNF
bmFibGVkKCkpCiAgICAgICAgIG5ldyBXZWJJbnNwZWN0b3IuRE9NTW9kZWxSZXNvdXJjZUJpbmRp
bmcodGhpcyk7CisKKyAgICBpZiAoV2ViSW5zcGVjdG9yLnNldHRpbmdzLmVtdWxhdGVUb3VjaEV2
ZW50cy5nZXQoKSkKKyAgICAgICAgdGhpcy5fZW11bGF0ZVRvdWNoRXZlbnRzQ2hhbmdlZCgpOwor
ICAgIFdlYkluc3BlY3Rvci5zZXR0aW5ncy5lbXVsYXRlVG91Y2hFdmVudHMuYWRkQ2hhbmdlTGlz
dGVuZXIodGhpcy5fZW11bGF0ZVRvdWNoRXZlbnRzQ2hhbmdlZCwgdGhpcyk7CiB9CiAKIFdlYklu
c3BlY3Rvci5ET01BZ2VudC5FdmVudHMgPSB7CkBAIC0xMDE2LDYgKzEwMjAsMTEgQEAgV2ViSW5z
cGVjdG9yLkRPTUFnZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgfQogICAgICAgICBET01BZ2Vu
dC5nZXRPdXRlckhUTUwobm9kZS5vd25lckRvY3VtZW50LmlkLCBjYWxsYmFjayk7CiAgICAgICAg
IAorICAgIH0sCisKKyAgICBfZW11bGF0ZVRvdWNoRXZlbnRzQ2hhbmdlZDogZnVuY3Rpb24oKQor
ICAgIHsKKyAgICAgICAgRE9NQWdlbnQuc2V0VG91Y2hFbXVsYXRpb25FbmFibGVkKFdlYkluc3Bl
Y3Rvci5zZXR0aW5ncy5lbXVsYXRlVG91Y2hFdmVudHMuZ2V0KCkpOwogICAgIH0KIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5ncy5qcyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2V0dGluZ3MuanMKaW5kZXggMjNm
MGNmYWE4NTJjM2UwMDc3ODE0ODMxZDJjZTQ0YjgxOGQzMjc2Ny4uZDdhYzljZDEwYzkxZTYwNWQy
NjdhMTk2MmU3ZGY2ODk5OGZjYzhhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9TZXR0aW5ncy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1NldHRpbmdzLmpzCkBAIC00NCw3ICs0NCw4IEBAIHZhciBQcmVmZXJlbmNlcyA9
IHsKICAgICBleHBvc2VXb3JrZXJzSW5zcGVjdGlvbjogZmFsc2UsCiAgICAgYXBwbGljYXRpb25U
aXRsZTogIldlYiBJbnNwZWN0b3IgLSAlcyIsCiAgICAgc2hvd0hlYXBTbmFwc2hvdE9iamVjdHNI
aWRkZW5Qcm9wZXJ0aWVzOiBmYWxzZSwKLSAgICBzaG93RG9ja1RvUmlnaHQ6IGZhbHNlCisgICAg
c2hvd0RvY2tUb1JpZ2h0OiBmYWxzZSwKKyAgICBlbXVsYXRlVG91Y2hFdmVudHM6IGZhbHNlCiB9
CiAKIHZhciBDYXBhYmlsaXRpZXMgPSB7CkBAIC04OCw2ICs4OSw3IEBAIFdlYkluc3BlY3Rvci5T
ZXR0aW5ncyA9IGZ1bmN0aW9uKCkKICAgICB0aGlzLnVzZXJBZ2VudCA9IHRoaXMuY3JlYXRlU2V0
dGluZygidXNlckFnZW50IiwgIiIpOwogICAgIHRoaXMuc2hvd1NjcmlwdEZvbGRlcnMgPSB0aGlz
LmNyZWF0ZVNldHRpbmcoInNob3dTY3JpcHRGb2xkZXJzIiwgdHJ1ZSk7CiAgICAgdGhpcy5kb2Nr
VG9SaWdodCA9IHRoaXMuY3JlYXRlU2V0dGluZygiZG9ja1RvUmlnaHQiLCBmYWxzZSk7CisgICAg
dGhpcy5lbXVsYXRlVG91Y2hFdmVudHMgPSB0aGlzLmNyZWF0ZVNldHRpbmcoImVtdWxhdGVUb3Vj
aEV2ZW50cyIsIGZhbHNlKTsKIAogICAgIC8vIElmIHRoZXJlIGFyZSB0b28gbWFueSBicmVha3Bv
aW50cyBpbiBhIHN0b3JhZ2UsIGl0IGlzIGxpa2VseSBkdWUgdG8gYSByZWNlbnQgYnVnIHRoYXQg
Y2F1c2VkCiAgICAgLy8gcGVyaW9kaWNhbCBicmVha3BvaW50cyBkdXBsaWNhdGlvbiBsZWFkaW5n
IHRvIGluc3BlY3RvciBzbG93bmVzcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvU2V0dGluZ3NTY3JlZW4uanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1NldHRpbmdzU2NyZWVuLmpzCmluZGV4IDdiNzA2YTBhMDE1MTg2NDM3NWQ0
MjY3MWJmMmJlZWQ3MDE3NDI5ZmMuLjUwMjkzYTkxYzdjMTE3ZTdmODAxZGJhYWNhNWVkYjI1ZTI3
ZjFhZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2V0
dGluZ3NTY3JlZW4uanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9T
ZXR0aW5nc1NjcmVlbi5qcwpAQCAtNDIsNiArNDIsNyBAQCBXZWJJbnNwZWN0b3IuU2V0dGluZ3NT
Y3JlZW4gPSBmdW5jdGlvbigpCiAgICAgaWYgKFByZWZlcmVuY2VzLnNob3dEb2NrVG9SaWdodCkg
ewogICAgICAgICB2YXIgcCA9IHRoaXMuX2FwcGVuZFNlY3Rpb24oV2ViSW5zcGVjdG9yLlVJU3Ry
aW5nKCJHZW5lcmFsIikpOwogICAgICAgICBwLmFwcGVuZENoaWxkKHRoaXMuX2NyZWF0ZUNoZWNr
Ym94U2V0dGluZyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkRvY2sgdG8gcmlnaHQiKSwgV2ViSW5z
cGVjdG9yLnNldHRpbmdzLmRvY2tUb1JpZ2h0KSk7CisgICAgICAgIHAuYXBwZW5kQ2hpbGQodGhp
cy5fY3JlYXRlQ2hlY2tib3hTZXR0aW5nKFdlYkluc3BlY3Rvci5VSVN0cmluZygiRW11bGF0ZSB0
b3VjaCBldmVudHMiKSwgV2ViSW5zcGVjdG9yLnNldHRpbmdzLmVtdWxhdGVUb3VjaEV2ZW50cykp
OwogICAgIH0KIAogICAgIHZhciBwID0gdGhpcy5fYXBwZW5kU2VjdGlvbihXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIkVsZW1lbnRzIikpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125323</attachid>
            <date>2012-02-03 07:32:24 -0800</date>
            <delta_ts>2012-02-03 08:28:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77096-20120203193222.patch</filename>
            <type>text/plain</type>
            <size>10699</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2NjQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmI4NWMxNWVjZWZmYTE3
NjVhZTdjOTk5YTRhZjEyNGQ2MzA4YmFhYy4uNmUxZGY4OWQ0ZjRkYzA4YmQ3MWQ3MmQ3MjZlMTFh
ZTI1MDUxNWYxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTAyLTAzICBBbGV4
YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogW01ldGFdIEFsbG93IGVtdWxhdGlvbiBvZiB0b3VjaCBldmVudHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDk2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyB0aGUgaW5zcGVjdG9y
IHBhcnQgb2YgdGhlIGNoYW5nZSwgY29yZSBwYXJ0IGltcGxlbWVudGF0aW9uIHRyYWNrZWQgaW4g
YnVnIDc3MTA1LgorCisgICAgICAgICogRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpz
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3IuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwOgorICAgICAgICAoRE9NQWdlbnRTdGF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6Y2xlYXJGcm9udGVuZCk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6cmVzdG9yZSk6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50Ojp1cGRhdGVUb3VjaEV2ZW50
RW11bGF0aW9uSW5Eb2N1bWVudHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdl
bnQ6OnNldFRvdWNoRW11bGF0aW9uRW5hYmxlZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3RvckRPTUFnZW50Lmg6CisgICAgICAgIChJbnNwZWN0b3JET01BZ2VudCk6CisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9ET01BZ2VudC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5E
T01BZ2VudC5wcm90b3R5cGUuX2NhcHR1cmVET00pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRP
TUFnZW50LnByb3RvdHlwZS5fZW11bGF0ZVRvdWNoRXZlbnRzQ2hhbmdlZCk6CisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5ncy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5T
ZXR0aW5ncyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5nc1NjcmVlbi5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TZXR0aW5nc1NjcmVlbik6CisgICAgICAgICogcGFn
ZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpoYW5k
bGVNb3VzZVJlbGVhc2VFdmVudCk6CisKIDIwMTItMDEtMjcgIEFsZXhhbmRlciBQYXZsb3YgIDxh
cGF2bG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBJbXBsZW1lbnQgdG91Y2ggZXZlbnQgZW11
bGF0aW9uIGluIHRoZSBXZWJDb3JlIGxheWVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9F
bmdsaXNoLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMgYi9Tb3VyY2UvV2ViQ29yZS9FbmdsaXNo
Lmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKaW5kZXggZDg0OThkOWFjNzI2NjY5NmI1Njg0YjQy
MjA2YjM5YmI3OGY3Y2ViMC4uNzI3NjIzMjg3NzkyMDQyN2I3MTA1N2I4OWMzZTZlYmRlMmQ0YWU2
MiAxMDA2NDQKR0lUIGJpbmFyeSBwYXRjaApkZWx0YSAxMDQKemNtYUVKZiN1VWhtSk8kYTAmXktr
OEZDbUI4QT0jWjg1RHFJSzlIWnhrTzU/O0dMISp2OSNFezlMNVUkMkN9SW81ClpOKGA8SGM9YiVh
PDZ9SHxla2otRyVSd2AqMHN3fGs4eCNObAoKZGVsdGEgMTkKYmNtZXgjaz4kKz1tSk8kYXJ0XztY
QEAkUmBvX1pBa1ZkeDA/CgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvci5qc29uIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCmlu
ZGV4IGU4ZGEwMzhhNzRkMjlmOTQ5NTcxODRkZmJmZTI1ZDVlNjhhZDRlZDUuLjYyNmRhMjQ2ZDdk
NGE2MWI2YzRkYTMyZGExZDVhMTZmODg4ZjhhZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yLmpzb24KQEAgLTE1MDgsNiArMTUwOCwxNCBAQAogICAgICAgICAgICAgICAgICAg
ICB7ICJuYW1lIjogIm5vZGVJZCIsICIkcmVmIjogIk5vZGVJZCIsICJkZXNjcmlwdGlvbiI6ICJO
ZXcgaWQgb2YgdGhlIG1vdmVkIG5vZGUuIiB9CiAgICAgICAgICAgICAgICAgXSwKICAgICAgICAg
ICAgICAgICAiZGVzY3JpcHRpb24iOiAiTW92ZXMgbm9kZSBpbnRvIHRoZSBuZXcgY29udGFpbmVy
LCBwbGFjZXMgaXQgYmVmb3JlIHRoZSBnaXZlbiBhbmNob3IuIgorICAgICAgICAgICAgfSwKKyAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJzZXRUb3VjaEVtdWxhdGlvbkVu
YWJsZWQiLAorICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWworICAgICAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogImVuYWJsZWQiLCAidHlwZSI6ICJib29sZWFuIiwgImRlc2NyaXB0aW9u
IjogIldoZXRoZXIgdGhlIHRvdWNoIGV2ZW50IGVtdWxhdGlvbiBzaG91bGQgYmUgZW5hYmxlZC4i
IH0KKyAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJU
b2dnbGVzIG1vdXNlIGV2ZW50LWJhc2VkIHRvdWNoIGV2ZW50IGVtdWxhdGlvbi4iLAorICAgICAg
ICAgICAgICAgICJoaWRkZW4iOiB0cnVlCiAgICAgICAgICAgICB9CiAgICAgICAgIF0sCiAgICAg
ICAgICJldmVudHMiOiBbCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRE9NQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRP
TUFnZW50LmNwcAppbmRleCBiNTAwMjViYjAwOTc3YTU2YmZiY2I2ZTJjM2ZhMDE2MmM5MjZlNDUz
Li5hMmVkMWZhYzI1OTgzNTg0MmVlMDdmY2E4NWU0YTdjYzI2NzVhNWIzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKQEAgLTc5LDYgKzc5LDcg
QEAKICNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlQ29uc3Rh
bnRzLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXZlbnRMaXN0ZW5lci5oIgorI2luY2x1ZGUgIlNldHRp
bmdzLmgiCiAjaW5jbHVkZSAiU3R5bGVTaGVldExpc3QuaCIKICNpbmNsdWRlICJUZXh0LmgiCiAj
aW5jbHVkZSAiWFBhdGhSZXN1bHQuaCIKQEAgLTk2LDYgKzk3LDEwIEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogbmFtZXNwYWNlIERPTUFnZW50U3RhdGUgewogc3RhdGljIGNvbnN0IGNoYXIgZG9j
dW1lbnRSZXF1ZXN0ZWRbXSA9ICJkb2N1bWVudFJlcXVlc3RlZCI7CisKKyNpZiBFTkFCTEUoVE9V
Q0hfRVZFTlRTKQorc3RhdGljIGNvbnN0IGNoYXIgdG91Y2hFdmVudEVtdWxhdGlvbkVuYWJsZWRb
XSA9ICJ0b3VjaEV2ZW50RW11bGF0aW9uRW5hYmxlZCI7CisjZW5kaWYKIH07CiAKIHN0YXRpYyBj
b25zdCBzaXplX3QgbWF4VGV4dFNpemUgPSAxMDAwMDsKQEAgLTIxMyw2ICsyMTgsMTAgQEAgdm9p
ZCBJbnNwZWN0b3JET01BZ2VudDo6Y2xlYXJGcm9udGVuZCgpCiAgICAgbV9mcm9udGVuZCA9IDA7
CiAgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5zZXRJbnNwZWN0b3JET01BZ2VudCgwKTsKICAg
ICBtX3N0YXRlLT5zZXRCb29sZWFuKERPTUFnZW50U3RhdGU6OmRvY3VtZW50UmVxdWVzdGVkLCBm
YWxzZSk7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICBtX3N0YXRlLT5zZXRCb29sZWFu
KERPTUFnZW50U3RhdGU6OnRvdWNoRXZlbnRFbXVsYXRpb25FbmFibGVkLCBmYWxzZSk7CisgICAg
dXBkYXRlVG91Y2hFdmVudEVtdWxhdGlvbkluRG9jdW1lbnRzKGZhbHNlKTsKKyNlbmRpZgogICAg
IHJlc2V0KCk7CiB9CiAKQEAgLTIyMSw2ICsyMzAsOSBAQCB2b2lkIEluc3BlY3RvckRPTUFnZW50
OjpyZXN0b3JlKCkKICAgICAvLyBSZXNldCBkb2N1bWVudCB0byBhdm9pZCBlYXJseSByZXR1cm4g
ZnJvbSBzZXREb2N1bWVudC4KICAgICBtX2RvY3VtZW50ID0gMDsKICAgICBzZXREb2N1bWVudCht
X3BhZ2VBZ2VudC0+bWFpbkZyYW1lKCktPmRvY3VtZW50KCkpOworI2lmIEVOQUJMRShUT1VDSF9F
VkVOVFMpCisgICAgdXBkYXRlVG91Y2hFdmVudEVtdWxhdGlvbkluRG9jdW1lbnRzKG1fc3RhdGUt
PmdldEJvb2xlYW4oRE9NQWdlbnRTdGF0ZTo6dG91Y2hFdmVudEVtdWxhdGlvbkVuYWJsZWQpKTsK
KyNlbmRpZgogfQogCiBWZWN0b3I8RG9jdW1lbnQqPiBJbnNwZWN0b3JET01BZ2VudDo6ZG9jdW1l
bnRzKCkKQEAgLTM5MSw2ICs0MDMsMTMgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6ZGlzY2Fy
ZEJpbmRpbmdzKCkKICAgICBtX2NoaWxkcmVuUmVxdWVzdGVkLmNsZWFyKCk7CiB9CiAKKyNpZiBF
TkFCTEUoVE9VQ0hfRVZFTlRTKQordm9pZCBJbnNwZWN0b3JET01BZ2VudDo6dXBkYXRlVG91Y2hF
dmVudEVtdWxhdGlvbkluRG9jdW1lbnRzKGJvb2wgZW5hYmxlZCkKK3sKKyAgICBtX2RvY3VtZW50
LT5zZXR0aW5ncygpLT5zZXRUb3VjaEV2ZW50RW11bGF0aW9uRW5hYmxlZChlbmFibGVkKTsKK30K
KyNlbmRpZgorCiBOb2RlKiBJbnNwZWN0b3JET01BZ2VudDo6bm9kZUZvcklkKGludCBpZCkKIHsK
ICAgICBpZiAoIWlkKQpAQCAtMTA0MSw2ICsxMDYwLDE2IEBAIHZvaWQgSW5zcGVjdG9yRE9NQWdl
bnQ6Om1vdmVUbyhFcnJvclN0cmluZyogZXJyb3IsIGludCBub2RlSWQsIGludCB0YXJnZXRFbGVt
ZW50CiAgICAgKm5ld05vZGVJZCA9IHB1c2hOb2RlUGF0aFRvRnJvbnRlbmQobm9kZSk7CiB9CiAK
K3ZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnNldFRvdWNoRW11bGF0aW9uRW5hYmxlZChFcnJvclN0
cmluZyosIGJvb2wgZW5hYmxlZCkKK3sKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorICAgIGlm
IChtX3N0YXRlLT5nZXRCb29sZWFuKERPTUFnZW50U3RhdGU6OnRvdWNoRXZlbnRFbXVsYXRpb25F
bmFibGVkKSA9PSBlbmFibGVkKQorICAgICAgICByZXR1cm47CisgICAgbV9zdGF0ZS0+c2V0Qm9v
bGVhbihET01BZ2VudFN0YXRlOjp0b3VjaEV2ZW50RW11bGF0aW9uRW5hYmxlZCwgZW5hYmxlZCk7
CisgICAgdXBkYXRlVG91Y2hFdmVudEVtdWxhdGlvbkluRG9jdW1lbnRzKGVuYWJsZWQpOworI2Vu
ZGlmCit9CisKIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnJlc29sdmVOb2RlKEVycm9yU3RyaW5n
KiBlcnJvciwgaW50IG5vZGVJZCwgY29uc3QgU3RyaW5nKiBjb25zdCBvYmplY3RHcm91cCwgUmVm
UHRyPEluc3BlY3Rvck9iamVjdD4mIHJlc3VsdCkKIHsKICAgICBTdHJpbmcgb2JqZWN0R3JvdXBO
YW1lID0gb2JqZWN0R3JvdXAgPyAqb2JqZWN0R3JvdXAgOiAiIjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKaW5kZXggMDFjNDlkY2NjODA1ZjEyNTcxN2Rm
MWNmYWJlYTIwZjdlZTZjZmRmNS4uZjBmNDgwMTc1ODM5NTU0ZTYyYWIxNWJhZDRmYTNhOTg3MDdj
M2FkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFn
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgK
QEAgLTE0Miw2ICsxNDIsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBoaWdobGlnaHROb2RlKEVycm9y
U3RyaW5nKiwgaW50IG5vZGVJZCwgY29uc3QgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gaGlnaGxp
Z2h0Q29uZmlnKTsKICAgICB2b2lkIGhpZ2hsaWdodEZyYW1lKEVycm9yU3RyaW5nKiwgY29uc3Qg
U3RyaW5nJiBmcmFtZUlkLCBjb25zdCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiogY29sb3IsIGNv
bnN0IFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+KiBvdXRsaW5lQ29sb3IpOwogICAgIHZvaWQgbW92
ZVRvKEVycm9yU3RyaW5nKiwgaW50IG5vZGVJZCwgaW50IHRhcmdldE5vZGVJZCwgY29uc3QgaW50
KiBjb25zdCBhbmNob3JOb2RlSWQsIGludCogbmV3Tm9kZUlkKTsKKyNpZiBFTkFCTEUoVE9VQ0hf
RVZFTlRTKQorICAgIHZvaWQgc2V0VG91Y2hFbXVsYXRpb25FbmFibGVkKEVycm9yU3RyaW5nKiwg
Ym9vbCk7CisjZW5kaWYKIAogICAgIE5vZGUqIGhpZ2hsaWdodGVkTm9kZSgpIGNvbnN0OwogCkBA
IC0yMTYsNiArMjE5LDEwIEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGRpc2NhcmRCaW5kaW5ncygp
OwogCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICB2b2lkIHVwZGF0ZVRvdWNoRXZlbnRF
bXVsYXRpb25JbkRvY3VtZW50cyhib29sKTsKKyNlbmRpZgorCiAgICAgSW5zcGVjdG9yUGFnZUFn
ZW50KiBtX3BhZ2VBZ2VudDsKICAgICBJbnNwZWN0b3JDbGllbnQqIG1fY2xpZW50OwogICAgIElu
amVjdGVkU2NyaXB0TWFuYWdlciogbV9pbmplY3RlZFNjcmlwdE1hbmFnZXI7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTUFnZW50LmpzIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9ET01BZ2VudC5qcwppbmRleCA5NjM5NDNmNmJj
YWZlMTBiOTIwOWQ4MmJkYWY5N2FkMGRiMWQzY2Y1Li41ZTZkNTczNjJlOTQwY2NmMzEwYzdjM2My
YmI0YWJiMjdmZGYwY2ExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0RPTUFnZW50LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvRE9NQWdlbnQuanMKQEAgLTUyMSw2ICs1MjEsMTAgQEAgV2ViSW5zcGVjdG9yLkRPTUFnZW50
ID0gZnVuY3Rpb24oKSB7CiAgICAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckRPTURpc3BhdGNo
ZXIobmV3IFdlYkluc3BlY3Rvci5ET01EaXNwYXRjaGVyKHRoaXMpKTsKICAgICBpZiAoV2ViSW5z
cGVjdG9yLmV4cGVyaW1lbnRzU2V0dGluZ3MuZnJlZUZsb3dET01FZGl0aW5nLmlzRW5hYmxlZCgp
KQogICAgICAgICBuZXcgV2ViSW5zcGVjdG9yLkRPTU1vZGVsUmVzb3VyY2VCaW5kaW5nKHRoaXMp
OworCisgICAgaWYgKFdlYkluc3BlY3Rvci5zZXR0aW5ncy5lbXVsYXRlVG91Y2hFdmVudHMuZ2V0
KCkpCisgICAgICAgIHRoaXMuX2VtdWxhdGVUb3VjaEV2ZW50c0NoYW5nZWQoKTsKKyAgICBXZWJJ
bnNwZWN0b3Iuc2V0dGluZ3MuZW11bGF0ZVRvdWNoRXZlbnRzLmFkZENoYW5nZUxpc3RlbmVyKHRo
aXMuX2VtdWxhdGVUb3VjaEV2ZW50c0NoYW5nZWQsIHRoaXMpOwogfQogCiBXZWJJbnNwZWN0b3Iu
RE9NQWdlbnQuRXZlbnRzID0gewpAQCAtMTAxNiw2ICsxMDIwLDExIEBAIFdlYkluc3BlY3Rvci5E
T01BZ2VudC5wcm90b3R5cGUgPSB7CiAgICAgICAgIH0KICAgICAgICAgRE9NQWdlbnQuZ2V0T3V0
ZXJIVE1MKG5vZGUub3duZXJEb2N1bWVudC5pZCwgY2FsbGJhY2spOwogICAgICAgICAKKyAgICB9
LAorCisgICAgX2VtdWxhdGVUb3VjaEV2ZW50c0NoYW5nZWQ6IGZ1bmN0aW9uKCkKKyAgICB7Cisg
ICAgICAgIERPTUFnZW50LnNldFRvdWNoRW11bGF0aW9uRW5hYmxlZChXZWJJbnNwZWN0b3Iuc2V0
dGluZ3MuZW11bGF0ZVRvdWNoRXZlbnRzLmdldCgpKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2V0dGluZ3MuanMgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NldHRpbmdzLmpzCmluZGV4IDIzZjBjZmFhODUy
YzNlMDA3NzgxNDgzMWQyY2U0NGI4MThkMzI3NjcuLjY4YmMzOGIzYTJkYmMyOTdkYzQ5YWVhNGI4
YTU5NmIxOTAxOWFiNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvU2V0dGluZ3MuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9TZXR0aW5ncy5qcwpAQCAtODgsNiArODgsNyBAQCBXZWJJbnNwZWN0b3IuU2V0dGluZ3MgPSBm
dW5jdGlvbigpCiAgICAgdGhpcy51c2VyQWdlbnQgPSB0aGlzLmNyZWF0ZVNldHRpbmcoInVzZXJB
Z2VudCIsICIiKTsKICAgICB0aGlzLnNob3dTY3JpcHRGb2xkZXJzID0gdGhpcy5jcmVhdGVTZXR0
aW5nKCJzaG93U2NyaXB0Rm9sZGVycyIsIHRydWUpOwogICAgIHRoaXMuZG9ja1RvUmlnaHQgPSB0
aGlzLmNyZWF0ZVNldHRpbmcoImRvY2tUb1JpZ2h0IiwgZmFsc2UpOworICAgIHRoaXMuZW11bGF0
ZVRvdWNoRXZlbnRzID0gdGhpcy5jcmVhdGVTZXR0aW5nKCJlbXVsYXRlVG91Y2hFdmVudHMiLCBm
YWxzZSk7CiAKICAgICAvLyBJZiB0aGVyZSBhcmUgdG9vIG1hbnkgYnJlYWtwb2ludHMgaW4gYSBz
dG9yYWdlLCBpdCBpcyBsaWtlbHkgZHVlIHRvIGEgcmVjZW50IGJ1ZyB0aGF0IGNhdXNlZAogICAg
IC8vIHBlcmlvZGljYWwgYnJlYWtwb2ludHMgZHVwbGljYXRpb24gbGVhZGluZyB0byBpbnNwZWN0
b3Igc2xvd25lc3MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1NldHRpbmdzU2NyZWVuLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9TZXR0aW5nc1NjcmVlbi5qcwppbmRleCA3YjcwNmEwYTAxNTE4NjQzNzVkNDI2NzFiZjJiZWVk
NzAxNzQyOWZjLi41MDI5M2E5MWM3YzExN2U3ZjgwMWRiYWFjYTVlZGIyNWUyN2YxYWU0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NldHRpbmdzU2NyZWVu
LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2V0dGluZ3NTY3Jl
ZW4uanMKQEAgLTQyLDYgKzQyLDcgQEAgV2ViSW5zcGVjdG9yLlNldHRpbmdzU2NyZWVuID0gZnVu
Y3Rpb24oKQogICAgIGlmIChQcmVmZXJlbmNlcy5zaG93RG9ja1RvUmlnaHQpIHsKICAgICAgICAg
dmFyIHAgPSB0aGlzLl9hcHBlbmRTZWN0aW9uKFdlYkluc3BlY3Rvci5VSVN0cmluZygiR2VuZXJh
bCIpKTsKICAgICAgICAgcC5hcHBlbmRDaGlsZCh0aGlzLl9jcmVhdGVDaGVja2JveFNldHRpbmco
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJEb2NrIHRvIHJpZ2h0IiksIFdlYkluc3BlY3Rvci5zZXR0
aW5ncy5kb2NrVG9SaWdodCkpOworICAgICAgICBwLmFwcGVuZENoaWxkKHRoaXMuX2NyZWF0ZUNo
ZWNrYm94U2V0dGluZyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkVtdWxhdGUgdG91Y2ggZXZlbnRz
IiksIFdlYkluc3BlY3Rvci5zZXR0aW5ncy5lbXVsYXRlVG91Y2hFdmVudHMpKTsKICAgICB9CiAK
ICAgICB2YXIgcCA9IHRoaXMuX2FwcGVuZFNlY3Rpb24oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJF
bGVtZW50cyIpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCBmM2JhZWEy
YzliYmRmN2Q3MzdlODMyYmQ0NTMzNjllMjBhZjc4YmM1Li43OTIzNGIxYWNhYTNjNDUzZTEyOGIx
N2Q1Y2QyMWRiMDJiN2YxODU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50
SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBA
IC04MDcsMTIgKzgwNyw2IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVVwKGNvbnN0
IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmIGV2ZW50KQogCiBib29sIEV2ZW50SGFuZGxl
cjo6aGFuZGxlTW91c2VSZWxlYXNlRXZlbnQoY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVz
dWx0cyYgZXZlbnQpCiB7Ci0jaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKLSAgICBib29sIGRlZmF1
bHRQcmV2ZW50ZWQgPSBkaXNwYXRjaFN5bnRoZXRpY1RvdWNoRXZlbnRJZkVuYWJsZWQoZXZlbnQu
ZXZlbnQoKSk7Ci0gICAgaWYgKGRlZmF1bHRQcmV2ZW50ZWQpCi0gICAgICAgIHJldHVybiB0cnVl
OwotI2VuZGlmCi0KICAgICBpZiAobV9hdXRvc2Nyb2xsSW5Qcm9ncmVzcykKICAgICAgICAgc3Rv
cEF1dG9zY3JvbGxUaW1lcigpOwogCkBAIC0xNzg1LDcgKzE3NzksMTMgQEAgdm9pZCBFdmVudEhh
bmRsZXI6OmludmFsaWRhdGVDbGljaygpCiBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VS
ZWxlYXNlRXZlbnQoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBtb3VzZUV2ZW50KQogewogICAg
IFJlZlB0cjxGcmFtZVZpZXc+IHByb3RlY3RvcihtX2ZyYW1lLT52aWV3KCkpOwotICAgIAorCisj
aWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICBib29sIGRlZmF1bHRQcmV2ZW50ZWQgPSBkaXNw
YXRjaFN5bnRoZXRpY1RvdWNoRXZlbnRJZkVuYWJsZWQobW91c2VFdmVudCk7CisgICAgaWYgKGRl
ZmF1bHRQcmV2ZW50ZWQpCisgICAgICAgIHJldHVybiB0cnVlOworI2VuZGlmCisKICAgICBVc2Vy
R2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKERlZmluaXRlbHlQcm9jZXNzaW5nVXNl
ckdlc3R1cmUpOwogCiAjaWYgRU5BQkxFKFBBTl9TQ1JPTExJTkcpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125335</attachid>
            <date>2012-02-03 08:28:18 -0800</date>
            <delta_ts>2012-02-03 08:54:15 -0800</delta_ts>
            <desc>[PATCH] Fixed for builds without ENABLE(TOUCH_EVENTS)</desc>
            <filename>bug-77096-20120203202816.patch</filename>
            <type>text/plain</type>
            <size>10592</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2NjYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzM5MmRiMGM5MjIxYzBk
YTNmNWFhZDBiYWNhODU4ZDFlM2ZiMDY3Mi4uOTQ4ZGY5MzUwMjBmZTllZjQwY2RlZmZhMDg5YmQ1
NGU4MDNiYjc2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTAyLTAzICBBbGV4
YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogW01ldGFdIEFsbG93IGVtdWxhdGlvbiBvZiB0b3VjaCBldmVudHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDk2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyB0aGUgaW5zcGVjdG9y
IHBhcnQgb2YgdGhlIGNoYW5nZSwgY29yZSBwYXJ0IGltcGxlbWVudGF0aW9uIHRyYWNrZWQgaW4g
YnVnIDc3MTA1LgorCisgICAgICAgICogRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpz
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3IuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwOgorICAgICAgICAoRE9NQWdlbnRTdGF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6Y2xlYXJGcm9udGVuZCk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6cmVzdG9yZSk6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50Ojp1cGRhdGVUb3VjaEV2ZW50
RW11bGF0aW9uSW5Eb2N1bWVudHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdl
bnQ6OnNldFRvdWNoRW11bGF0aW9uRW5hYmxlZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3RvckRPTUFnZW50Lmg6CisgICAgICAgIChJbnNwZWN0b3JET01BZ2VudCk6CisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9ET01BZ2VudC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5E
T01BZ2VudC5wcm90b3R5cGUuX2NhcHR1cmVET00pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRP
TUFnZW50LnByb3RvdHlwZS5fZW11bGF0ZVRvdWNoRXZlbnRzQ2hhbmdlZCk6CisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5ncy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5T
ZXR0aW5ncyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5nc1NjcmVlbi5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TZXR0aW5nc1NjcmVlbik6CisgICAgICAgICogcGFn
ZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpoYW5k
bGVNb3VzZVJlbGVhc2VFdmVudCk6CisKIDIwMTItMDItMDMgIEtlbnRhcm8gSGFyYSAgPGhhcmFr
ZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEZpeCB0eXBvCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9FbmdsaXNoLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMgYi9Tb3VyY2UvV2ViQ29y
ZS9FbmdsaXNoLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKaW5kZXggZDg0OThkOWFjNzI2NjY5
NmI1Njg0YjQyMjA2YjM5YmI3OGY3Y2ViMC4uNzI3NjIzMjg3NzkyMDQyN2I3MTA1N2I4OWMzZTZl
YmRlMmQ0YWU2MiAxMDA2NDQKR0lUIGJpbmFyeSBwYXRjaApkZWx0YSAxMDQKemNtYUVKZiN1VWht
Sk8kYTAmXktrOEZDbUI4QT0jWjg1RHFJSzlIWnhrTzU/O0dMISp2OSNFezlMNVUkMkN9SW81ClpO
KGA8SGM9YiVhPDZ9SHxla2otRyVSd2AqMHN3fGs4eCNObAoKZGVsdGEgMTkKYmNtZXgjaz4kKz1t
Sk8kYXJ0XztYQEAkUmBvX1pBa1ZkeDA/CgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvci5qc29uIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ci5qc29uCmluZGV4IGU4ZGEwMzhhNzRkMjlmOTQ5NTcxODRkZmJmZTI1ZDVlNjhhZDRlZDUuLjYy
NmRhMjQ2ZDdkNGE2MWI2YzRkYTMyZGExZDVhMTZmODg4ZjhhZmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KQEAgLTE1MDgsNiArMTUwOCwxNCBAQAogICAgICAgICAg
ICAgICAgICAgICB7ICJuYW1lIjogIm5vZGVJZCIsICIkcmVmIjogIk5vZGVJZCIsICJkZXNjcmlw
dGlvbiI6ICJOZXcgaWQgb2YgdGhlIG1vdmVkIG5vZGUuIiB9CiAgICAgICAgICAgICAgICAgXSwK
ICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTW92ZXMgbm9kZSBpbnRvIHRoZSBuZXcg
Y29udGFpbmVyLCBwbGFjZXMgaXQgYmVmb3JlIHRoZSBnaXZlbiBhbmNob3IuIgorICAgICAgICAg
ICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJzZXRUb3VjaEVt
dWxhdGlvbkVuYWJsZWQiLAorICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWworICAgICAg
ICAgICAgICAgICAgICB7ICJuYW1lIjogImVuYWJsZWQiLCAidHlwZSI6ICJib29sZWFuIiwgImRl
c2NyaXB0aW9uIjogIldoZXRoZXIgdGhlIHRvdWNoIGV2ZW50IGVtdWxhdGlvbiBzaG91bGQgYmUg
ZW5hYmxlZC4iIH0KKyAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgICJkZXNjcmlw
dGlvbiI6ICJUb2dnbGVzIG1vdXNlIGV2ZW50LWJhc2VkIHRvdWNoIGV2ZW50IGVtdWxhdGlvbi4i
LAorICAgICAgICAgICAgICAgICJoaWRkZW4iOiB0cnVlCiAgICAgICAgICAgICB9CiAgICAgICAg
IF0sCiAgICAgICAgICJldmVudHMiOiBbCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckRPTUFnZW50LmNwcAppbmRleCBiNTAwMjViYjAwOTc3YTU2YmZiY2I2ZTJjM2ZhMDE2
MmM5MjZlNDUzLi43YTM5NjJjZjgyOWYxYjk0MTE5NTFiZGUxNjU2MjY3YjA1YjBjNjZiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKQEAgLTc5
LDYgKzc5LDcgQEAKICNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUgIlJlbmRlclN0
eWxlQ29uc3RhbnRzLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXZlbnRMaXN0ZW5lci5oIgorI2luY2x1
ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU3R5bGVTaGVldExpc3QuaCIKICNpbmNsdWRlICJU
ZXh0LmgiCiAjaW5jbHVkZSAiWFBhdGhSZXN1bHQuaCIKQEAgLTk2LDYgKzk3LDEwIEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIERPTUFnZW50U3RhdGUgewogc3RhdGljIGNvbnN0
IGNoYXIgZG9jdW1lbnRSZXF1ZXN0ZWRbXSA9ICJkb2N1bWVudFJlcXVlc3RlZCI7CisKKyNpZiBF
TkFCTEUoVE9VQ0hfRVZFTlRTKQorc3RhdGljIGNvbnN0IGNoYXIgdG91Y2hFdmVudEVtdWxhdGlv
bkVuYWJsZWRbXSA9ICJ0b3VjaEV2ZW50RW11bGF0aW9uRW5hYmxlZCI7CisjZW5kaWYKIH07CiAK
IHN0YXRpYyBjb25zdCBzaXplX3QgbWF4VGV4dFNpemUgPSAxMDAwMDsKQEAgLTIxMyw2ICsyMTgs
MTAgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6Y2xlYXJGcm9udGVuZCgpCiAgICAgbV9mcm9u
dGVuZCA9IDA7CiAgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5zZXRJbnNwZWN0b3JET01BZ2Vu
dCgwKTsKICAgICBtX3N0YXRlLT5zZXRCb29sZWFuKERPTUFnZW50U3RhdGU6OmRvY3VtZW50UmVx
dWVzdGVkLCBmYWxzZSk7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICBtX3N0YXRlLT5z
ZXRCb29sZWFuKERPTUFnZW50U3RhdGU6OnRvdWNoRXZlbnRFbXVsYXRpb25FbmFibGVkLCBmYWxz
ZSk7CisgICAgdXBkYXRlVG91Y2hFdmVudEVtdWxhdGlvbkluUGFnZShmYWxzZSk7CisjZW5kaWYK
ICAgICByZXNldCgpOwogfQogCkBAIC0yMjEsNiArMjMwLDkgQEAgdm9pZCBJbnNwZWN0b3JET01B
Z2VudDo6cmVzdG9yZSgpCiAgICAgLy8gUmVzZXQgZG9jdW1lbnQgdG8gYXZvaWQgZWFybHkgcmV0
dXJuIGZyb20gc2V0RG9jdW1lbnQuCiAgICAgbV9kb2N1bWVudCA9IDA7CiAgICAgc2V0RG9jdW1l
bnQobV9wYWdlQWdlbnQtPm1haW5GcmFtZSgpLT5kb2N1bWVudCgpKTsKKyNpZiBFTkFCTEUoVE9V
Q0hfRVZFTlRTKQorICAgIHVwZGF0ZVRvdWNoRXZlbnRFbXVsYXRpb25JblBhZ2UobV9zdGF0ZS0+
Z2V0Qm9vbGVhbihET01BZ2VudFN0YXRlOjp0b3VjaEV2ZW50RW11bGF0aW9uRW5hYmxlZCkpOwor
I2VuZGlmCiB9CiAKIFZlY3RvcjxEb2N1bWVudCo+IEluc3BlY3RvckRPTUFnZW50Ojpkb2N1bWVu
dHMoKQpAQCAtMzkxLDYgKzQwMywxMyBAQCB2b2lkIEluc3BlY3RvckRPTUFnZW50OjpkaXNjYXJk
QmluZGluZ3MoKQogICAgIG1fY2hpbGRyZW5SZXF1ZXN0ZWQuY2xlYXIoKTsKIH0KIAorI2lmIEVO
QUJMRShUT1VDSF9FVkVOVFMpCit2b2lkIEluc3BlY3RvckRPTUFnZW50Ojp1cGRhdGVUb3VjaEV2
ZW50RW11bGF0aW9uSW5QYWdlKGJvb2wgZW5hYmxlZCkKK3sKKyAgICBtX2RvY3VtZW50LT5zZXR0
aW5ncygpLT5zZXRUb3VjaEV2ZW50RW11bGF0aW9uRW5hYmxlZChlbmFibGVkKTsKK30KKyNlbmRp
ZgorCiBOb2RlKiBJbnNwZWN0b3JET01BZ2VudDo6bm9kZUZvcklkKGludCBpZCkKIHsKICAgICBp
ZiAoIWlkKQpAQCAtMTA0MSw2ICsxMDYwLDE2IEBAIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6Om1v
dmVUbyhFcnJvclN0cmluZyogZXJyb3IsIGludCBub2RlSWQsIGludCB0YXJnZXRFbGVtZW50CiAg
ICAgKm5ld05vZGVJZCA9IHB1c2hOb2RlUGF0aFRvRnJvbnRlbmQobm9kZSk7CiB9CiAKK3ZvaWQg
SW5zcGVjdG9yRE9NQWdlbnQ6OnNldFRvdWNoRW11bGF0aW9uRW5hYmxlZChFcnJvclN0cmluZyos
IGJvb2wgZW5hYmxlZCkKK3sKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorICAgIGlmIChtX3N0
YXRlLT5nZXRCb29sZWFuKERPTUFnZW50U3RhdGU6OnRvdWNoRXZlbnRFbXVsYXRpb25FbmFibGVk
KSA9PSBlbmFibGVkKQorICAgICAgICByZXR1cm47CisgICAgbV9zdGF0ZS0+c2V0Qm9vbGVhbihE
T01BZ2VudFN0YXRlOjp0b3VjaEV2ZW50RW11bGF0aW9uRW5hYmxlZCwgZW5hYmxlZCk7CisgICAg
dXBkYXRlVG91Y2hFdmVudEVtdWxhdGlvbkluUGFnZShlbmFibGVkKTsKKyNlbmRpZgorfQorCiB2
b2lkIEluc3BlY3RvckRPTUFnZW50OjpyZXNvbHZlTm9kZShFcnJvclN0cmluZyogZXJyb3IsIGlu
dCBub2RlSWQsIGNvbnN0IFN0cmluZyogY29uc3Qgb2JqZWN0R3JvdXAsIFJlZlB0cjxJbnNwZWN0
b3JPYmplY3Q+JiByZXN1bHQpCiB7CiAgICAgU3RyaW5nIG9iamVjdEdyb3VwTmFtZSA9IG9iamVj
dEdyb3VwID8gKm9iamVjdEdyb3VwIDogIiI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JET01BZ2VudC5oCmluZGV4IDAxYzQ5ZGNjYzgwNWYxMjU3MTdkZjFjZmFiZWEyMGY3
ZWU2Y2ZkZjUuLmUyNjc0ZGE4ZWM0OTRhZGEyMTRlOWU2MzkwMDEzZGFmNmMxMWVhYzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oCkBAIC0xNDIsNiAr
MTQyLDcgQEAgcHVibGljOgogICAgIHZvaWQgaGlnaGxpZ2h0Tm9kZShFcnJvclN0cmluZyosIGlu
dCBub2RlSWQsIGNvbnN0IFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGhpZ2hsaWdodENvbmZpZyk7
CiAgICAgdm9pZCBoaWdobGlnaHRGcmFtZShFcnJvclN0cmluZyosIGNvbnN0IFN0cmluZyYgZnJh
bWVJZCwgY29uc3QgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4qIGNvbG9yLCBjb25zdCBSZWZQdHI8
SW5zcGVjdG9yT2JqZWN0Piogb3V0bGluZUNvbG9yKTsKICAgICB2b2lkIG1vdmVUbyhFcnJvclN0
cmluZyosIGludCBub2RlSWQsIGludCB0YXJnZXROb2RlSWQsIGNvbnN0IGludCogY29uc3QgYW5j
aG9yTm9kZUlkLCBpbnQqIG5ld05vZGVJZCk7CisgICAgdm9pZCBzZXRUb3VjaEVtdWxhdGlvbkVu
YWJsZWQoRXJyb3JTdHJpbmcqLCBib29sKTsKIAogICAgIE5vZGUqIGhpZ2hsaWdodGVkTm9kZSgp
IGNvbnN0OwogCkBAIC0yMTYsNiArMjE3LDEwIEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGRpc2Nh
cmRCaW5kaW5ncygpOwogCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICB2b2lkIHVwZGF0
ZVRvdWNoRXZlbnRFbXVsYXRpb25JblBhZ2UoYm9vbCk7CisjZW5kaWYKKwogICAgIEluc3BlY3Rv
clBhZ2VBZ2VudCogbV9wYWdlQWdlbnQ7CiAgICAgSW5zcGVjdG9yQ2xpZW50KiBtX2NsaWVudDsK
ICAgICBJbmplY3RlZFNjcmlwdE1hbmFnZXIqIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9ET01BZ2VudC5qcyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRE9NQWdlbnQuanMKaW5kZXggOTYz
OTQzZjZiY2FmZTEwYjkyMDlkODJiZGFmOTdhZDBkYjFkM2NmNS4uNWU2ZDU3MzYyZTk0MGNjZjMx
MGM3YzNjMmJiNGFiYjI3ZmRmMGNhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9ET01BZ2VudC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0RPTUFnZW50LmpzCkBAIC01MjEsNiArNTIxLDEwIEBAIFdlYkluc3BlY3Rvci5E
T01BZ2VudCA9IGZ1bmN0aW9uKCkgewogICAgIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJET01E
aXNwYXRjaGVyKG5ldyBXZWJJbnNwZWN0b3IuRE9NRGlzcGF0Y2hlcih0aGlzKSk7CiAgICAgaWYg
KFdlYkluc3BlY3Rvci5leHBlcmltZW50c1NldHRpbmdzLmZyZWVGbG93RE9NRWRpdGluZy5pc0Vu
YWJsZWQoKSkKICAgICAgICAgbmV3IFdlYkluc3BlY3Rvci5ET01Nb2RlbFJlc291cmNlQmluZGlu
Zyh0aGlzKTsKKworICAgIGlmIChXZWJJbnNwZWN0b3Iuc2V0dGluZ3MuZW11bGF0ZVRvdWNoRXZl
bnRzLmdldCgpKQorICAgICAgICB0aGlzLl9lbXVsYXRlVG91Y2hFdmVudHNDaGFuZ2VkKCk7Cisg
ICAgV2ViSW5zcGVjdG9yLnNldHRpbmdzLmVtdWxhdGVUb3VjaEV2ZW50cy5hZGRDaGFuZ2VMaXN0
ZW5lcih0aGlzLl9lbXVsYXRlVG91Y2hFdmVudHNDaGFuZ2VkLCB0aGlzKTsKIH0KIAogV2ViSW5z
cGVjdG9yLkRPTUFnZW50LkV2ZW50cyA9IHsKQEAgLTEwMTYsNiArMTAyMCwxMSBAQCBXZWJJbnNw
ZWN0b3IuRE9NQWdlbnQucHJvdG90eXBlID0gewogICAgICAgICB9CiAgICAgICAgIERPTUFnZW50
LmdldE91dGVySFRNTChub2RlLm93bmVyRG9jdW1lbnQuaWQsIGNhbGxiYWNrKTsKICAgICAgICAg
CisgICAgfSwKKworICAgIF9lbXVsYXRlVG91Y2hFdmVudHNDaGFuZ2VkOiBmdW5jdGlvbigpCisg
ICAgeworICAgICAgICBET01BZ2VudC5zZXRUb3VjaEVtdWxhdGlvbkVuYWJsZWQoV2ViSW5zcGVj
dG9yLnNldHRpbmdzLmVtdWxhdGVUb3VjaEV2ZW50cy5nZXQoKSk7CiAgICAgfQogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NldHRpbmdzLmpzIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5ncy5qcwppbmRleCAyM2Yw
Y2ZhYTg1MmMzZTAwNzc4MTQ4MzFkMmNlNDRiODE4ZDMyNzY3Li42OGJjMzhiM2EyZGJjMjk3ZGM0
OWFlYTRiOGE1OTZiMTkwMTlhYjU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1NldHRpbmdzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvU2V0dGluZ3MuanMKQEAgLTg4LDYgKzg4LDcgQEAgV2ViSW5zcGVjdG9yLlNldHRp
bmdzID0gZnVuY3Rpb24oKQogICAgIHRoaXMudXNlckFnZW50ID0gdGhpcy5jcmVhdGVTZXR0aW5n
KCJ1c2VyQWdlbnQiLCAiIik7CiAgICAgdGhpcy5zaG93U2NyaXB0Rm9sZGVycyA9IHRoaXMuY3Jl
YXRlU2V0dGluZygic2hvd1NjcmlwdEZvbGRlcnMiLCB0cnVlKTsKICAgICB0aGlzLmRvY2tUb1Jp
Z2h0ID0gdGhpcy5jcmVhdGVTZXR0aW5nKCJkb2NrVG9SaWdodCIsIGZhbHNlKTsKKyAgICB0aGlz
LmVtdWxhdGVUb3VjaEV2ZW50cyA9IHRoaXMuY3JlYXRlU2V0dGluZygiZW11bGF0ZVRvdWNoRXZl
bnRzIiwgZmFsc2UpOwogCiAgICAgLy8gSWYgdGhlcmUgYXJlIHRvbyBtYW55IGJyZWFrcG9pbnRz
IGluIGEgc3RvcmFnZSwgaXQgaXMgbGlrZWx5IGR1ZSB0byBhIHJlY2VudCBidWcgdGhhdCBjYXVz
ZWQKICAgICAvLyBwZXJpb2RpY2FsIGJyZWFrcG9pbnRzIGR1cGxpY2F0aW9uIGxlYWRpbmcgdG8g
aW5zcGVjdG9yIHNsb3duZXNzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9TZXR0aW5nc1NjcmVlbi5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvU2V0dGluZ3NTY3JlZW4uanMKaW5kZXggN2I3MDZhMGEwMTUxODY0Mzc1ZDQyNjcx
YmYyYmVlZDcwMTc0MjlmYy4uNTAyOTNhOTFjN2MxMTdlN2Y4MDFkYmFhY2E1ZWRiMjVlMjdmMWFl
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5n
c1NjcmVlbi5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NldHRp
bmdzU2NyZWVuLmpzCkBAIC00Miw2ICs0Miw3IEBAIFdlYkluc3BlY3Rvci5TZXR0aW5nc1NjcmVl
biA9IGZ1bmN0aW9uKCkKICAgICBpZiAoUHJlZmVyZW5jZXMuc2hvd0RvY2tUb1JpZ2h0KSB7CiAg
ICAgICAgIHZhciBwID0gdGhpcy5fYXBwZW5kU2VjdGlvbihXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IkdlbmVyYWwiKSk7CiAgICAgICAgIHAuYXBwZW5kQ2hpbGQodGhpcy5fY3JlYXRlQ2hlY2tib3hT
ZXR0aW5nKFdlYkluc3BlY3Rvci5VSVN0cmluZygiRG9jayB0byByaWdodCIpLCBXZWJJbnNwZWN0
b3Iuc2V0dGluZ3MuZG9ja1RvUmlnaHQpKTsKKyAgICAgICAgcC5hcHBlbmRDaGlsZCh0aGlzLl9j
cmVhdGVDaGVja2JveFNldHRpbmcoV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJFbXVsYXRlIHRvdWNo
IGV2ZW50cyIpLCBXZWJJbnNwZWN0b3Iuc2V0dGluZ3MuZW11bGF0ZVRvdWNoRXZlbnRzKSk7CiAg
ICAgfQogCiAgICAgdmFyIHAgPSB0aGlzLl9hcHBlbmRTZWN0aW9uKFdlYkluc3BlY3Rvci5VSVN0
cmluZygiRWxlbWVudHMiKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50
SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXgg
NjY1MWU3NmE4OGMxYWUyODBlY2QyNWQwNjdmZDVkYzM3Yjc4N2MzNi4uZTU3YWY5OWY4ZmU5N2Q1
NzJiNDhmYzRkZDg3MjY4NjU3NDY2NGM5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVy
LmNwcApAQCAtODA3LDEyICs4MDcsNiBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VV
cChjb25zdCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzJiBldmVudCkKIAogYm9vbCBFdmVu
dEhhbmRsZXI6OmhhbmRsZU1vdXNlUmVsZWFzZUV2ZW50KGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0
VGVzdFJlc3VsdHMmIGV2ZW50KQogewotI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCi0gICAgYm9v
bCBkZWZhdWx0UHJldmVudGVkID0gZGlzcGF0Y2hTeW50aGV0aWNUb3VjaEV2ZW50SWZFbmFibGVk
KGV2ZW50LmV2ZW50KCkpOwotICAgIGlmIChkZWZhdWx0UHJldmVudGVkKQotICAgICAgICByZXR1
cm4gdHJ1ZTsKLSNlbmRpZgotCiAgICAgaWYgKG1fYXV0b3Njcm9sbEluUHJvZ3Jlc3MpCiAgICAg
ICAgIHN0b3BBdXRvc2Nyb2xsVGltZXIoKTsKIApAQCAtMTc4NSw3ICsxNzc5LDEzIEBAIHZvaWQg
RXZlbnRIYW5kbGVyOjppbnZhbGlkYXRlQ2xpY2soKQogYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRs
ZU1vdXNlUmVsZWFzZUV2ZW50KGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgbW91c2VFdmVudCkK
IHsKICAgICBSZWZQdHI8RnJhbWVWaWV3PiBwcm90ZWN0b3IobV9mcmFtZS0+dmlldygpKTsKLSAg
ICAKKworI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCisgICAgYm9vbCBkZWZhdWx0UHJldmVudGVk
ID0gZGlzcGF0Y2hTeW50aGV0aWNUb3VjaEV2ZW50SWZFbmFibGVkKG1vdXNlRXZlbnQpOworICAg
IGlmIChkZWZhdWx0UHJldmVudGVkKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyNlbmRpZgorCiAg
ICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vz
c2luZ1VzZXJHZXN0dXJlKTsKIAogI2lmIEVOQUJMRShQQU5fU0NST0xMSU5HKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125344</attachid>
            <date>2012-02-03 08:54:24 -0800</date>
            <delta_ts>2012-02-06 04:34:02 -0800</delta_ts>
            <desc>[PATCH] Fixed unused param in conditional compilation</desc>
            <filename>bug-77096-20120203205422.patch</filename>
            <type>text/plain</type>
            <size>10679</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2NjYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTllZThlOGJhMWJjODFk
YjFkNmMwZGIyYWVhM2M4ZGZlZmYxYThjNy4uZTdmM2Y3YTVlODk5OTczNmRhZGRmZTkwMmJhZTVk
Y2RhZjdjM2Q4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTAyLTAzICBBbGV4
YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogW01ldGFdIEFsbG93IGVtdWxhdGlvbiBvZiB0b3VjaCBldmVudHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDk2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyB0aGUgaW5zcGVjdG9y
IHBhcnQgb2YgdGhlIGNoYW5nZSwgY29yZSBwYXJ0IGltcGxlbWVudGF0aW9uIHRyYWNrZWQgaW4g
YnVnIDc3MTA1LgorCisgICAgICAgICogRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpz
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3IuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwOgorICAgICAgICAoRE9NQWdlbnRTdGF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6Y2xlYXJGcm9udGVuZCk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6cmVzdG9yZSk6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50Ojp1cGRhdGVUb3VjaEV2ZW50
RW11bGF0aW9uSW5Eb2N1bWVudHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdl
bnQ6OnNldFRvdWNoRW11bGF0aW9uRW5hYmxlZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3RvckRPTUFnZW50Lmg6CisgICAgICAgIChJbnNwZWN0b3JET01BZ2VudCk6CisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9ET01BZ2VudC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5E
T01BZ2VudC5wcm90b3R5cGUuX2NhcHR1cmVET00pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRP
TUFnZW50LnByb3RvdHlwZS5fZW11bGF0ZVRvdWNoRXZlbnRzQ2hhbmdlZCk6CisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5ncy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5T
ZXR0aW5ncyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5nc1NjcmVlbi5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TZXR0aW5nc1NjcmVlbik6CisgICAgICAgICogcGFn
ZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpoYW5k
bGVNb3VzZVJlbGVhc2VFdmVudCk6CisKIDIwMTItMDItMDMgIERhbmEgSmFuc2VucyAgPGRhbmFr
akBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBVc2UgdGhlIGN1cnJlbnQgY2xp
cCB3aGVuIG1hcmtpbmcgcGFpbnRzIGFzIG9wYXF1ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzIGIvU291cmNlL1dlYkNvcmUvRW5n
bGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCmluZGV4IGQ4NDk4ZDlhYzcyNjY2OTZiNTY4
NGI0MjIwNmIzOWJiNzhmN2NlYjAuLjcyNzYyMzI4Nzc5MjA0MjdiNzEwNTdiODljM2U2ZWJkZTJk
NGFlNjIgMTAwNjQ0CkdJVCBiaW5hcnkgcGF0Y2gKZGVsdGEgMTA0CnpjbWFFSmYjdVVobUpPJGEw
Jl5LazhGQ21COEE9I1o4NURxSUs5SFp4a081PztHTCEqdjkjRXs5TDVVJDJDfUlvNQpaTihgPEhj
PWIlYTw2fUh8ZWtqLUclUndgKjBzd3xrOHgjTmwKCmRlbHRhIDE5CmJjbWV4I2s+JCs9bUpPJGFy
dF87WEBAJFJgb19aQWtWZHgwPwoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3IuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNv
bgppbmRleCBlOGRhMDM4YTc0ZDI5Zjk0OTU3MTg0ZGZiZmUyNWQ1ZTY4YWQ0ZWQ1Li42MjZkYTI0
NmQ3ZDRhNjFiNmM0ZGEzMmRhMWQ1YTE2Zjg4OGY4YWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvci5qc29uCkBAIC0xNTA4LDYgKzE1MDgsMTQgQEAKICAgICAgICAgICAgICAg
ICAgICAgeyAibmFtZSI6ICJub2RlSWQiLCAiJHJlZiI6ICJOb2RlSWQiLCAiZGVzY3JpcHRpb24i
OiAiTmV3IGlkIG9mIHRoZSBtb3ZlZCBub2RlLiIgfQogICAgICAgICAgICAgICAgIF0sCiAgICAg
ICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk1vdmVzIG5vZGUgaW50byB0aGUgbmV3IGNvbnRh
aW5lciwgcGxhY2VzIGl0IGJlZm9yZSB0aGUgZ2l2ZW4gYW5jaG9yLiIKKyAgICAgICAgICAgIH0s
CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5hbWUiOiAic2V0VG91Y2hFbXVsYXRp
b25FbmFibGVkIiwKKyAgICAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKKyAgICAgICAgICAg
ICAgICAgICAgeyAibmFtZSI6ICJlbmFibGVkIiwgInR5cGUiOiAiYm9vbGVhbiIsICJkZXNjcmlw
dGlvbiI6ICJXaGV0aGVyIHRoZSB0b3VjaCBldmVudCBlbXVsYXRpb24gc2hvdWxkIGJlIGVuYWJs
ZWQuIiB9CisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24i
OiAiVG9nZ2xlcyBtb3VzZSBldmVudC1iYXNlZCB0b3VjaCBldmVudCBlbXVsYXRpb24uIiwKKyAg
ICAgICAgICAgICAgICAiaGlkZGVuIjogdHJ1ZQogICAgICAgICAgICAgfQogICAgICAgICBdLAog
ICAgICAgICAiZXZlbnRzIjogWwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckRPTUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JET01BZ2VudC5jcHAKaW5kZXggYjUwMDI1YmIwMDk3N2E1NmJmYmNiNmUyYzNmYTAxNjJjOTI2
ZTQ1My4uMmNmY2U2NDFlM2FjYjMyOTMzMzhjMjYyMjlkYzMyODg2YzdkYjViMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCkBAIC03OSw2ICs3
OSw3IEBACiAjaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlICJSZW5kZXJTdHlsZUNv
bnN0YW50cy5oIgogI2luY2x1ZGUgIlNjcmlwdEV2ZW50TGlzdGVuZXIuaCIKKyNpbmNsdWRlICJT
ZXR0aW5ncy5oIgogI2luY2x1ZGUgIlN0eWxlU2hlZXRMaXN0LmgiCiAjaW5jbHVkZSAiVGV4dC5o
IgogI2luY2x1ZGUgIlhQYXRoUmVzdWx0LmgiCkBAIC05Niw2ICs5NywxMCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIG5hbWVzcGFjZSBET01BZ2VudFN0YXRlIHsKIHN0YXRpYyBjb25zdCBjaGFy
IGRvY3VtZW50UmVxdWVzdGVkW10gPSAiZG9jdW1lbnRSZXF1ZXN0ZWQiOworCisjaWYgRU5BQkxF
KFRPVUNIX0VWRU5UUykKK3N0YXRpYyBjb25zdCBjaGFyIHRvdWNoRXZlbnRFbXVsYXRpb25FbmFi
bGVkW10gPSAidG91Y2hFdmVudEVtdWxhdGlvbkVuYWJsZWQiOworI2VuZGlmCiB9OwogCiBzdGF0
aWMgY29uc3Qgc2l6ZV90IG1heFRleHRTaXplID0gMTAwMDA7CkBAIC0yMTMsNiArMjE4LDEwIEBA
IHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OmNsZWFyRnJvbnRlbmQoKQogICAgIG1fZnJvbnRlbmQg
PSAwOwogICAgIG1faW5zdHJ1bWVudGluZ0FnZW50cy0+c2V0SW5zcGVjdG9yRE9NQWdlbnQoMCk7
CiAgICAgbV9zdGF0ZS0+c2V0Qm9vbGVhbihET01BZ2VudFN0YXRlOjpkb2N1bWVudFJlcXVlc3Rl
ZCwgZmFsc2UpOworI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCisgICAgbV9zdGF0ZS0+c2V0Qm9v
bGVhbihET01BZ2VudFN0YXRlOjp0b3VjaEV2ZW50RW11bGF0aW9uRW5hYmxlZCwgZmFsc2UpOwor
ICAgIHVwZGF0ZVRvdWNoRXZlbnRFbXVsYXRpb25JblBhZ2UoZmFsc2UpOworI2VuZGlmCiAgICAg
cmVzZXQoKTsKIH0KIApAQCAtMjIxLDYgKzIzMCw5IEBAIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6
OnJlc3RvcmUoKQogICAgIC8vIFJlc2V0IGRvY3VtZW50IHRvIGF2b2lkIGVhcmx5IHJldHVybiBm
cm9tIHNldERvY3VtZW50LgogICAgIG1fZG9jdW1lbnQgPSAwOwogICAgIHNldERvY3VtZW50KG1f
cGFnZUFnZW50LT5tYWluRnJhbWUoKS0+ZG9jdW1lbnQoKSk7CisjaWYgRU5BQkxFKFRPVUNIX0VW
RU5UUykKKyAgICB1cGRhdGVUb3VjaEV2ZW50RW11bGF0aW9uSW5QYWdlKG1fc3RhdGUtPmdldEJv
b2xlYW4oRE9NQWdlbnRTdGF0ZTo6dG91Y2hFdmVudEVtdWxhdGlvbkVuYWJsZWQpKTsKKyNlbmRp
ZgogfQogCiBWZWN0b3I8RG9jdW1lbnQqPiBJbnNwZWN0b3JET01BZ2VudDo6ZG9jdW1lbnRzKCkK
QEAgLTM5MSw2ICs0MDMsMTMgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6ZGlzY2FyZEJpbmRp
bmdzKCkKICAgICBtX2NoaWxkcmVuUmVxdWVzdGVkLmNsZWFyKCk7CiB9CiAKKyNpZiBFTkFCTEUo
VE9VQ0hfRVZFTlRTKQordm9pZCBJbnNwZWN0b3JET01BZ2VudDo6dXBkYXRlVG91Y2hFdmVudEVt
dWxhdGlvbkluUGFnZShib29sIGVuYWJsZWQpCit7CisgICAgbV9kb2N1bWVudC0+c2V0dGluZ3Mo
KS0+c2V0VG91Y2hFdmVudEVtdWxhdGlvbkVuYWJsZWQoZW5hYmxlZCk7Cit9CisjZW5kaWYKKwog
Tm9kZSogSW5zcGVjdG9yRE9NQWdlbnQ6Om5vZGVGb3JJZChpbnQgaWQpCiB7CiAgICAgaWYgKCFp
ZCkKQEAgLTEwNDEsNiArMTA2MCwxOCBAQCB2b2lkIEluc3BlY3RvckRPTUFnZW50Ojptb3ZlVG8o
RXJyb3JTdHJpbmcqIGVycm9yLCBpbnQgbm9kZUlkLCBpbnQgdGFyZ2V0RWxlbWVudAogICAgICpu
ZXdOb2RlSWQgPSBwdXNoTm9kZVBhdGhUb0Zyb250ZW5kKG5vZGUpOwogfQogCit2b2lkIEluc3Bl
Y3RvckRPTUFnZW50OjpzZXRUb3VjaEVtdWxhdGlvbkVuYWJsZWQoRXJyb3JTdHJpbmcqLCBib29s
IGVuYWJsZWQpCit7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICBpZiAobV9zdGF0ZS0+
Z2V0Qm9vbGVhbihET01BZ2VudFN0YXRlOjp0b3VjaEV2ZW50RW11bGF0aW9uRW5hYmxlZCkgPT0g
ZW5hYmxlZCkKKyAgICAgICAgcmV0dXJuOworICAgIG1fc3RhdGUtPnNldEJvb2xlYW4oRE9NQWdl
bnRTdGF0ZTo6dG91Y2hFdmVudEVtdWxhdGlvbkVuYWJsZWQsIGVuYWJsZWQpOworICAgIHVwZGF0
ZVRvdWNoRXZlbnRFbXVsYXRpb25JblBhZ2UoZW5hYmxlZCk7CisjZWxzZQorICAgIFVOVVNFRF9Q
QVJBTShlbmFibGVkKTsKKyNlbmRpZgorfQorCiB2b2lkIEluc3BlY3RvckRPTUFnZW50OjpyZXNv
bHZlTm9kZShFcnJvclN0cmluZyogZXJyb3IsIGludCBub2RlSWQsIGNvbnN0IFN0cmluZyogY29u
c3Qgb2JqZWN0R3JvdXAsIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+JiByZXN1bHQpCiB7CiAgICAg
U3RyaW5nIG9iamVjdEdyb3VwTmFtZSA9IG9iamVjdEdyb3VwID8gKm9iamVjdEdyb3VwIDogIiI7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oCmluZGV4IDAx
YzQ5ZGNjYzgwNWYxMjU3MTdkZjFjZmFiZWEyMGY3ZWU2Y2ZkZjUuLmUyNjc0ZGE4ZWM0OTRhZGEy
MTRlOWU2MzkwMDEzZGFmNmMxMWVhYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JET01BZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JET01BZ2VudC5oCkBAIC0xNDIsNiArMTQyLDcgQEAgcHVibGljOgogICAgIHZvaWQg
aGlnaGxpZ2h0Tm9kZShFcnJvclN0cmluZyosIGludCBub2RlSWQsIGNvbnN0IFJlZlB0cjxJbnNw
ZWN0b3JPYmplY3Q+IGhpZ2hsaWdodENvbmZpZyk7CiAgICAgdm9pZCBoaWdobGlnaHRGcmFtZShF
cnJvclN0cmluZyosIGNvbnN0IFN0cmluZyYgZnJhbWVJZCwgY29uc3QgUmVmUHRyPEluc3BlY3Rv
ck9iamVjdD4qIGNvbG9yLCBjb25zdCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0Piogb3V0bGluZUNv
bG9yKTsKICAgICB2b2lkIG1vdmVUbyhFcnJvclN0cmluZyosIGludCBub2RlSWQsIGludCB0YXJn
ZXROb2RlSWQsIGNvbnN0IGludCogY29uc3QgYW5jaG9yTm9kZUlkLCBpbnQqIG5ld05vZGVJZCk7
CisgICAgdm9pZCBzZXRUb3VjaEVtdWxhdGlvbkVuYWJsZWQoRXJyb3JTdHJpbmcqLCBib29sKTsK
IAogICAgIE5vZGUqIGhpZ2hsaWdodGVkTm9kZSgpIGNvbnN0OwogCkBAIC0yMTYsNiArMjE3LDEw
IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGRpc2NhcmRCaW5kaW5ncygpOwogCisjaWYgRU5BQkxF
KFRPVUNIX0VWRU5UUykKKyAgICB2b2lkIHVwZGF0ZVRvdWNoRXZlbnRFbXVsYXRpb25JblBhZ2Uo
Ym9vbCk7CisjZW5kaWYKKwogICAgIEluc3BlY3RvclBhZ2VBZ2VudCogbV9wYWdlQWdlbnQ7CiAg
ICAgSW5zcGVjdG9yQ2xpZW50KiBtX2NsaWVudDsKICAgICBJbmplY3RlZFNjcmlwdE1hbmFnZXIq
IG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9ET01BZ2VudC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvRE9NQWdlbnQuanMKaW5kZXggOTYzOTQzZjZiY2FmZTEwYjkyMDlkODJiZGFmOTdh
ZDBkYjFkM2NmNS4uNWU2ZDU3MzYyZTk0MGNjZjMxMGM3YzNjMmJiNGFiYjI3ZmRmMGNhMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9ET01BZ2VudC5qcwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTUFnZW50LmpzCkBAIC01
MjEsNiArNTIxLDEwIEBAIFdlYkluc3BlY3Rvci5ET01BZ2VudCA9IGZ1bmN0aW9uKCkgewogICAg
IEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJET01EaXNwYXRjaGVyKG5ldyBXZWJJbnNwZWN0b3Iu
RE9NRGlzcGF0Y2hlcih0aGlzKSk7CiAgICAgaWYgKFdlYkluc3BlY3Rvci5leHBlcmltZW50c1Nl
dHRpbmdzLmZyZWVGbG93RE9NRWRpdGluZy5pc0VuYWJsZWQoKSkKICAgICAgICAgbmV3IFdlYklu
c3BlY3Rvci5ET01Nb2RlbFJlc291cmNlQmluZGluZyh0aGlzKTsKKworICAgIGlmIChXZWJJbnNw
ZWN0b3Iuc2V0dGluZ3MuZW11bGF0ZVRvdWNoRXZlbnRzLmdldCgpKQorICAgICAgICB0aGlzLl9l
bXVsYXRlVG91Y2hFdmVudHNDaGFuZ2VkKCk7CisgICAgV2ViSW5zcGVjdG9yLnNldHRpbmdzLmVt
dWxhdGVUb3VjaEV2ZW50cy5hZGRDaGFuZ2VMaXN0ZW5lcih0aGlzLl9lbXVsYXRlVG91Y2hFdmVu
dHNDaGFuZ2VkLCB0aGlzKTsKIH0KIAogV2ViSW5zcGVjdG9yLkRPTUFnZW50LkV2ZW50cyA9IHsK
QEAgLTEwMTYsNiArMTAyMCwxMSBAQCBXZWJJbnNwZWN0b3IuRE9NQWdlbnQucHJvdG90eXBlID0g
ewogICAgICAgICB9CiAgICAgICAgIERPTUFnZW50LmdldE91dGVySFRNTChub2RlLm93bmVyRG9j
dW1lbnQuaWQsIGNhbGxiYWNrKTsKICAgICAgICAgCisgICAgfSwKKworICAgIF9lbXVsYXRlVG91
Y2hFdmVudHNDaGFuZ2VkOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICBET01BZ2VudC5zZXRU
b3VjaEVtdWxhdGlvbkVuYWJsZWQoV2ViSW5zcGVjdG9yLnNldHRpbmdzLmVtdWxhdGVUb3VjaEV2
ZW50cy5nZXQoKSk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1NldHRpbmdzLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9TZXR0aW5ncy5qcwppbmRleCAyM2YwY2ZhYTg1MmMzZTAwNzc4MTQ4MzFkMmNlNDRi
ODE4ZDMyNzY3Li42OGJjMzhiM2EyZGJjMjk3ZGM0OWFlYTRiOGE1OTZiMTkwMTlhYjU5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NldHRpbmdzLmpzCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2V0dGluZ3MuanMKQEAgLTg4
LDYgKzg4LDcgQEAgV2ViSW5zcGVjdG9yLlNldHRpbmdzID0gZnVuY3Rpb24oKQogICAgIHRoaXMu
dXNlckFnZW50ID0gdGhpcy5jcmVhdGVTZXR0aW5nKCJ1c2VyQWdlbnQiLCAiIik7CiAgICAgdGhp
cy5zaG93U2NyaXB0Rm9sZGVycyA9IHRoaXMuY3JlYXRlU2V0dGluZygic2hvd1NjcmlwdEZvbGRl
cnMiLCB0cnVlKTsKICAgICB0aGlzLmRvY2tUb1JpZ2h0ID0gdGhpcy5jcmVhdGVTZXR0aW5nKCJk
b2NrVG9SaWdodCIsIGZhbHNlKTsKKyAgICB0aGlzLmVtdWxhdGVUb3VjaEV2ZW50cyA9IHRoaXMu
Y3JlYXRlU2V0dGluZygiZW11bGF0ZVRvdWNoRXZlbnRzIiwgZmFsc2UpOwogCiAgICAgLy8gSWYg
dGhlcmUgYXJlIHRvbyBtYW55IGJyZWFrcG9pbnRzIGluIGEgc3RvcmFnZSwgaXQgaXMgbGlrZWx5
IGR1ZSB0byBhIHJlY2VudCBidWcgdGhhdCBjYXVzZWQKICAgICAvLyBwZXJpb2RpY2FsIGJyZWFr
cG9pbnRzIGR1cGxpY2F0aW9uIGxlYWRpbmcgdG8gaW5zcGVjdG9yIHNsb3duZXNzLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5nc1NjcmVlbi5q
cyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2V0dGluZ3NTY3JlZW4uanMK
aW5kZXggN2I3MDZhMGEwMTUxODY0Mzc1ZDQyNjcxYmYyYmVlZDcwMTc0MjlmYy4uNTAyOTNhOTFj
N2MxMTdlN2Y4MDFkYmFhY2E1ZWRiMjVlMjdmMWFlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5nc1NjcmVlbi5qcworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NldHRpbmdzU2NyZWVuLmpzCkBAIC00Miw2ICs0Miw3
IEBAIFdlYkluc3BlY3Rvci5TZXR0aW5nc1NjcmVlbiA9IGZ1bmN0aW9uKCkKICAgICBpZiAoUHJl
ZmVyZW5jZXMuc2hvd0RvY2tUb1JpZ2h0KSB7CiAgICAgICAgIHZhciBwID0gdGhpcy5fYXBwZW5k
U2VjdGlvbihXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkdlbmVyYWwiKSk7CiAgICAgICAgIHAuYXBw
ZW5kQ2hpbGQodGhpcy5fY3JlYXRlQ2hlY2tib3hTZXR0aW5nKFdlYkluc3BlY3Rvci5VSVN0cmlu
ZygiRG9jayB0byByaWdodCIpLCBXZWJJbnNwZWN0b3Iuc2V0dGluZ3MuZG9ja1RvUmlnaHQpKTsK
KyAgICAgICAgcC5hcHBlbmRDaGlsZCh0aGlzLl9jcmVhdGVDaGVja2JveFNldHRpbmcoV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJFbXVsYXRlIHRvdWNoIGV2ZW50cyIpLCBXZWJJbnNwZWN0b3Iuc2V0
dGluZ3MuZW11bGF0ZVRvdWNoRXZlbnRzKSk7CiAgICAgfQogCiAgICAgdmFyIHAgPSB0aGlzLl9h
cHBlbmRTZWN0aW9uKFdlYkluc3BlY3Rvci5VSVN0cmluZygiRWxlbWVudHMiKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXggNjY1MWU3NmE4OGMxYWUyODBlY2QyNWQwNjdm
ZDVkYzM3Yjc4N2MzNi4uZTU3YWY5OWY4ZmU5N2Q1NzJiNDhmYzRkZDg3MjY4NjU3NDY2NGM5YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApAQCAtODA3LDEyICs4MDcsNiBAQCBi
b29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VVcChjb25zdCBNb3VzZUV2ZW50V2l0aEhpdFRl
c3RSZXN1bHRzJiBldmVudCkKIAogYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlUmVsZWFz
ZUV2ZW50KGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmIGV2ZW50KQogewotI2lm
IEVOQUJMRShUT1VDSF9FVkVOVFMpCi0gICAgYm9vbCBkZWZhdWx0UHJldmVudGVkID0gZGlzcGF0
Y2hTeW50aGV0aWNUb3VjaEV2ZW50SWZFbmFibGVkKGV2ZW50LmV2ZW50KCkpOwotICAgIGlmIChk
ZWZhdWx0UHJldmVudGVkKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLSNlbmRpZgotCiAgICAgaWYg
KG1fYXV0b3Njcm9sbEluUHJvZ3Jlc3MpCiAgICAgICAgIHN0b3BBdXRvc2Nyb2xsVGltZXIoKTsK
IApAQCAtMTc4NSw3ICsxNzc5LDEzIEBAIHZvaWQgRXZlbnRIYW5kbGVyOjppbnZhbGlkYXRlQ2xp
Y2soKQogYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlUmVsZWFzZUV2ZW50KGNvbnN0IFBs
YXRmb3JtTW91c2VFdmVudCYgbW91c2VFdmVudCkKIHsKICAgICBSZWZQdHI8RnJhbWVWaWV3PiBw
cm90ZWN0b3IobV9mcmFtZS0+dmlldygpKTsKLSAgICAKKworI2lmIEVOQUJMRShUT1VDSF9FVkVO
VFMpCisgICAgYm9vbCBkZWZhdWx0UHJldmVudGVkID0gZGlzcGF0Y2hTeW50aGV0aWNUb3VjaEV2
ZW50SWZFbmFibGVkKG1vdXNlRXZlbnQpOworICAgIGlmIChkZWZhdWx0UHJldmVudGVkKQorICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyNlbmRpZgorCiAgICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2Vz
dHVyZUluZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlKTsKIAogI2lmIEVO
QUJMRShQQU5fU0NST0xMSU5HKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125615</attachid>
            <date>2012-02-06 04:34:10 -0800</date>
            <delta_ts>2012-02-06 07:17:02 -0800</delta_ts>
            <desc>[PATCH] Return error from agent method if touch events are not enabled in webkit</desc>
            <filename>bug-77096-20120206163409.patch</filename>
            <type>text/plain</type>
            <size>11133</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2Nzk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2QwMGMxYzQxOGU4NGY4
OTczMGU1Mjg1MWRhZjkwYzkwYzVmMWYzMi4uZDdjMTY3ZDc2MTMzNWI0YWNlNDVjZTVlZmRlODUw
ODYwMmQxZTg4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTAyLTAzICBBbGV4
YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogW01ldGFdIEFsbG93IGVtdWxhdGlvbiBvZiB0b3VjaCBldmVudHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDk2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyB0aGUgaW5zcGVjdG9y
IHBhcnQgb2YgdGhlIGNoYW5nZSwgY29yZSBwYXJ0IGltcGxlbWVudGF0aW9uIHRyYWNrZWQgaW4g
YnVnIDc3MTA1LgorCisgICAgICAgICogRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpz
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3IuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwOgorICAgICAgICAoRE9NQWdlbnRTdGF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6Y2xlYXJGcm9udGVuZCk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6cmVzdG9yZSk6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50Ojp1cGRhdGVUb3VjaEV2ZW50
RW11bGF0aW9uSW5Eb2N1bWVudHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdl
bnQ6OnNldFRvdWNoRW11bGF0aW9uRW5hYmxlZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3RvckRPTUFnZW50Lmg6CisgICAgICAgIChJbnNwZWN0b3JET01BZ2VudCk6CisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9ET01BZ2VudC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5E
T01BZ2VudC5wcm90b3R5cGUuX2NhcHR1cmVET00pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRP
TUFnZW50LnByb3RvdHlwZS5fZW11bGF0ZVRvdWNoRXZlbnRzQ2hhbmdlZCk6CisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5ncy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5T
ZXR0aW5ncyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5nc1NjcmVlbi5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TZXR0aW5nc1NjcmVlbik6CisgICAgICAgICogcGFn
ZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpoYW5k
bGVNb3VzZVJlbGVhc2VFdmVudCk6CisKIDIwMTItMDItMDYgIFBoaWxpcHBlIE5vcm1hbmQgIDxw
bm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIEFkZGluZyBGRlRGcmFtZUdTdHJlYW1lci5j
cHAgdGhhdCBJIGZvcmdvdCB0byBjb21taXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Vu
Z2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBiL1NvdXJjZS9XZWJDb3JlL0VuZ2xpc2gu
bHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwppbmRleCBiOTFlODAxZjcyZjdjYWJkMzk0NjI2ZWRm
MTAyNDUwZmJmMzA2NGYwLi40ZDBlZDQ5MjdhZmFjNzExNGM3ZDdjYzgyZTEzYmQ3M2JjNWMzNzJj
IDEwMDY0NApHSVQgYmluYXJ5IHBhdGNoCmRlbHRhIDEwNAp6Y21hRU1mI3VDYm1KT1EwZnc+SCYz
XkAjbTM/JlN5MzxeTHBBSU1LOyROO2lhOE9uZS00PTdnNXB1YFhoNnRNK2oKWUI/ZWFweW19QEo2
ZE88ZThfS29XRnhkMWUwNmFoJDh2cDxSCgpkZWx0YSAxNApXY21hRUprPiVNMW1KT1EwbzdWXjFV
SWhSO3tSZUxWCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ci5qc29uIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCmluZGV4IDdm
MGRjNDRkMGNiMTY0OTlhODU4ZGIyZTQxMDIxOGJiMjcwZWNmNjYuLjMxZThkOGExMTAyZGJlYTgy
ZWIyOTM2MDBmM2Q1M2Q3Y2EyNTc1NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3IuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yLmpzb24KQEAgLTE1MDgsNiArMTUwOCwxNCBAQAogICAgICAgICAgICAgICAgICAgICB7ICJu
YW1lIjogIm5vZGVJZCIsICIkcmVmIjogIk5vZGVJZCIsICJkZXNjcmlwdGlvbiI6ICJOZXcgaWQg
b2YgdGhlIG1vdmVkIG5vZGUuIiB9CiAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAg
ICAiZGVzY3JpcHRpb24iOiAiTW92ZXMgbm9kZSBpbnRvIHRoZSBuZXcgY29udGFpbmVyLCBwbGFj
ZXMgaXQgYmVmb3JlIHRoZSBnaXZlbiBhbmNob3IuIgorICAgICAgICAgICAgfSwKKyAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJzZXRUb3VjaEVtdWxhdGlvbkVuYWJsZWQi
LAorICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWworICAgICAgICAgICAgICAgICAgICB7
ICJuYW1lIjogImVuYWJsZWQiLCAidHlwZSI6ICJib29sZWFuIiwgImRlc2NyaXB0aW9uIjogIldo
ZXRoZXIgdGhlIHRvdWNoIGV2ZW50IGVtdWxhdGlvbiBzaG91bGQgYmUgZW5hYmxlZC4iIH0KKyAg
ICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJUb2dnbGVz
IG1vdXNlIGV2ZW50LWJhc2VkIHRvdWNoIGV2ZW50IGVtdWxhdGlvbi4iLAorICAgICAgICAgICAg
ICAgICJoaWRkZW4iOiB0cnVlCiAgICAgICAgICAgICB9CiAgICAgICAgIF0sCiAgICAgICAgICJl
dmVudHMiOiBbCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RE9NQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50
LmNwcAppbmRleCBiNDMwN2Y5MzVkNDc3ZjEyODExNWQ4MWRjYTcyN2Y0MzA0MDQ0YWFlLi5mYmM2
M2M1YzllMzg1MDE5MGNkZTNhOGQzM2ZlZjRiMDQxZWYyMjkyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKQEAgLTc4LDYgKzc4LDcgQEAKICNp
bmNsdWRlICJSZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlQ29uc3RhbnRzLmgi
CiAjaW5jbHVkZSAiU2NyaXB0RXZlbnRMaXN0ZW5lci5oIgorI2luY2x1ZGUgIlNldHRpbmdzLmgi
CiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0eVNldC5oIgogI2luY2x1ZGUgIlN0eWxlU2hlZXRMaXN0
LmgiCiAjaW5jbHVkZSAiVGV4dC5oIgpAQCAtOTYsNiArOTcsMTAgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBuYW1lc3BhY2UgRE9NQWdlbnRTdGF0ZSB7CiBzdGF0aWMgY29uc3QgY2hhciBkb2N1
bWVudFJlcXVlc3RlZFtdID0gImRvY3VtZW50UmVxdWVzdGVkIjsKKworI2lmIEVOQUJMRShUT1VD
SF9FVkVOVFMpCitzdGF0aWMgY29uc3QgY2hhciB0b3VjaEV2ZW50RW11bGF0aW9uRW5hYmxlZFtd
ID0gInRvdWNoRXZlbnRFbXVsYXRpb25FbmFibGVkIjsKKyNlbmRpZgogfTsKIAogc3RhdGljIGNv
bnN0IHNpemVfdCBtYXhUZXh0U2l6ZSA9IDEwMDAwOwpAQCAtMjEzLDYgKzIxOCwxMCBAQCB2b2lk
IEluc3BlY3RvckRPTUFnZW50OjpjbGVhckZyb250ZW5kKCkKICAgICBtX2Zyb250ZW5kID0gMDsK
ICAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNldEluc3BlY3RvckRPTUFnZW50KDApOwogICAg
IG1fc3RhdGUtPnNldEJvb2xlYW4oRE9NQWdlbnRTdGF0ZTo6ZG9jdW1lbnRSZXF1ZXN0ZWQsIGZh
bHNlKTsKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorICAgIG1fc3RhdGUtPnNldEJvb2xlYW4o
RE9NQWdlbnRTdGF0ZTo6dG91Y2hFdmVudEVtdWxhdGlvbkVuYWJsZWQsIGZhbHNlKTsKKyAgICB1
cGRhdGVUb3VjaEV2ZW50RW11bGF0aW9uSW5QYWdlKGZhbHNlKTsKKyNlbmRpZgogICAgIHJlc2V0
KCk7CiB9CiAKQEAgLTIyMSw2ICsyMzAsOSBAQCB2b2lkIEluc3BlY3RvckRPTUFnZW50OjpyZXN0
b3JlKCkKICAgICAvLyBSZXNldCBkb2N1bWVudCB0byBhdm9pZCBlYXJseSByZXR1cm4gZnJvbSBz
ZXREb2N1bWVudC4KICAgICBtX2RvY3VtZW50ID0gMDsKICAgICBzZXREb2N1bWVudChtX3BhZ2VB
Z2VudC0+bWFpbkZyYW1lKCktPmRvY3VtZW50KCkpOworI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMp
CisgICAgdXBkYXRlVG91Y2hFdmVudEVtdWxhdGlvbkluUGFnZShtX3N0YXRlLT5nZXRCb29sZWFu
KERPTUFnZW50U3RhdGU6OnRvdWNoRXZlbnRFbXVsYXRpb25FbmFibGVkKSk7CisjZW5kaWYKIH0K
IAogVmVjdG9yPERvY3VtZW50Kj4gSW5zcGVjdG9yRE9NQWdlbnQ6OmRvY3VtZW50cygpCkBAIC0z
OTEsNiArNDAzLDEzIEBAIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OmRpc2NhcmRCaW5kaW5ncygp
CiAgICAgbV9jaGlsZHJlblJlcXVlc3RlZC5jbGVhcigpOwogfQogCisjaWYgRU5BQkxFKFRPVUNI
X0VWRU5UUykKK3ZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnVwZGF0ZVRvdWNoRXZlbnRFbXVsYXRp
b25JblBhZ2UoYm9vbCBlbmFibGVkKQoreworICAgIG1fZG9jdW1lbnQtPnNldHRpbmdzKCktPnNl
dFRvdWNoRXZlbnRFbXVsYXRpb25FbmFibGVkKGVuYWJsZWQpOworfQorI2VuZGlmCisKIE5vZGUq
IEluc3BlY3RvckRPTUFnZW50Ojpub2RlRm9ySWQoaW50IGlkKQogewogICAgIGlmICghaWQpCkBA
IC0xMDQxLDYgKzEwNjAsMjAgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6bW92ZVRvKEVycm9y
U3RyaW5nKiBlcnJvciwgaW50IG5vZGVJZCwgaW50IHRhcmdldEVsZW1lbnQKICAgICAqbmV3Tm9k
ZUlkID0gcHVzaE5vZGVQYXRoVG9Gcm9udGVuZChub2RlKTsKIH0KIAordm9pZCBJbnNwZWN0b3JE
T01BZ2VudDo6c2V0VG91Y2hFbXVsYXRpb25FbmFibGVkKEVycm9yU3RyaW5nKiBlcnJvciwgYm9v
bCBlbmFibGVkKQoreworI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCisgICAgVU5VU0VEX1BBUkFN
KGVycm9yKTsKKyAgICBpZiAobV9zdGF0ZS0+Z2V0Qm9vbGVhbihET01BZ2VudFN0YXRlOjp0b3Vj
aEV2ZW50RW11bGF0aW9uRW5hYmxlZCkgPT0gZW5hYmxlZCkKKyAgICAgICAgcmV0dXJuOworICAg
IG1fc3RhdGUtPnNldEJvb2xlYW4oRE9NQWdlbnRTdGF0ZTo6dG91Y2hFdmVudEVtdWxhdGlvbkVu
YWJsZWQsIGVuYWJsZWQpOworICAgIHVwZGF0ZVRvdWNoRXZlbnRFbXVsYXRpb25JblBhZ2UoZW5h
YmxlZCk7CisjZWxzZQorICAgICplcnJvciA9ICJUb3VjaCBldmVudCBlbXVsYXRpb24gbm90IGVu
YWJsZWQiOworICAgIFVOVVNFRF9QQVJBTShlbmFibGVkKTsKKyNlbmRpZgorfQorCiB2b2lkIElu
c3BlY3RvckRPTUFnZW50OjpyZXNvbHZlTm9kZShFcnJvclN0cmluZyogZXJyb3IsIGludCBub2Rl
SWQsIGNvbnN0IFN0cmluZyogY29uc3Qgb2JqZWN0R3JvdXAsIFJlZlB0cjxJbnNwZWN0b3JPYmpl
Y3Q+JiByZXN1bHQpCiB7CiAgICAgU3RyaW5nIG9iamVjdEdyb3VwTmFtZSA9IG9iamVjdEdyb3Vw
ID8gKm9iamVjdEdyb3VwIDogIiI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRE9NQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JET01BZ2VudC5oCmluZGV4IDQzZDA4ODE0YThmZDk5YzUyOTVlM2U3MWE4ZTYwYmEyYTM5MTBj
NGQuLjI1OWZlZjY0M2UwNTkxMDQ4ZGI5ZmM4ZTM3NjFjOGY2MmM3YjAzZDEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oCkBAIC0xNDIsNiArMTQyLDcg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBoaWdobGlnaHROb2RlKEVycm9yU3RyaW5nKiwg
aW50IG5vZGVJZCwgY29uc3QgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4mIGhpZ2hsaWdodENvbmZp
Zyk7CiAgICAgdmlydHVhbCB2b2lkIGhpZ2hsaWdodEZyYW1lKEVycm9yU3RyaW5nKiwgY29uc3Qg
U3RyaW5nJiBmcmFtZUlkLCBjb25zdCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiogY29sb3IsIGNv
bnN0IFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+KiBvdXRsaW5lQ29sb3IpOwogICAgIHZpcnR1YWwg
dm9pZCBtb3ZlVG8oRXJyb3JTdHJpbmcqLCBpbnQgbm9kZUlkLCBpbnQgdGFyZ2V0Tm9kZUlkLCBj
b25zdCBpbnQqIGFuY2hvck5vZGVJZCwgaW50KiBuZXdOb2RlSWQpOworICAgIHZpcnR1YWwgdm9p
ZCBzZXRUb3VjaEVtdWxhdGlvbkVuYWJsZWQoRXJyb3JTdHJpbmcqLCBib29sKTsKIAogICAgIE5v
ZGUqIGhpZ2hsaWdodGVkTm9kZSgpIGNvbnN0OwogCkBAIC0yMTYsNiArMjE3LDEwIEBAIHByaXZh
dGU6CiAKICAgICB2b2lkIGRpc2NhcmRCaW5kaW5ncygpOwogCisjaWYgRU5BQkxFKFRPVUNIX0VW
RU5UUykKKyAgICB2b2lkIHVwZGF0ZVRvdWNoRXZlbnRFbXVsYXRpb25JblBhZ2UoYm9vbCk7Cisj
ZW5kaWYKKwogICAgIEluc3BlY3RvclBhZ2VBZ2VudCogbV9wYWdlQWdlbnQ7CiAgICAgSW5zcGVj
dG9yQ2xpZW50KiBtX2NsaWVudDsKICAgICBJbmplY3RlZFNjcmlwdE1hbmFnZXIqIG1faW5qZWN0
ZWRTY3JpcHRNYW5hZ2VyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9ET01BZ2VudC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
RE9NQWdlbnQuanMKaW5kZXggOTI2MjA1YjM0N2IzY2I1YTVjMWQzMTJkMWMwYWQ2YTEwZjNkNzU4
MC4uOTk4YjcyNmI4YTIyZTRkNmFiZTAyMzQ1ZWQ3NGQ0OTI1Y2U3MzE2NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9ET01BZ2VudC5qcworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTUFnZW50LmpzCkBAIC02NjIsNiArNjYy
LDEwIEBAIFdlYkluc3BlY3Rvci5ET01BZ2VudCA9IGZ1bmN0aW9uKCkgewogICAgIEluc3BlY3Rv
ckJhY2tlbmQucmVnaXN0ZXJET01EaXNwYXRjaGVyKG5ldyBXZWJJbnNwZWN0b3IuRE9NRGlzcGF0
Y2hlcih0aGlzKSk7CiAgICAgaWYgKFdlYkluc3BlY3Rvci5leHBlcmltZW50c1NldHRpbmdzLmZy
ZWVGbG93RE9NRWRpdGluZy5pc0VuYWJsZWQoKSkKICAgICAgICAgbmV3IFdlYkluc3BlY3Rvci5E
T01Nb2RlbFJlc291cmNlQmluZGluZyh0aGlzKTsKKworICAgIGlmIChXZWJJbnNwZWN0b3Iuc2V0
dGluZ3MuZW11bGF0ZVRvdWNoRXZlbnRzLmdldCgpKQorICAgICAgICB0aGlzLl9lbXVsYXRlVG91
Y2hFdmVudHNDaGFuZ2VkKCk7CisgICAgV2ViSW5zcGVjdG9yLnNldHRpbmdzLmVtdWxhdGVUb3Vj
aEV2ZW50cy5hZGRDaGFuZ2VMaXN0ZW5lcih0aGlzLl9lbXVsYXRlVG91Y2hFdmVudHNDaGFuZ2Vk
LCB0aGlzKTsKIH0KIAogV2ViSW5zcGVjdG9yLkRPTUFnZW50LkV2ZW50cyA9IHsKQEAgLTExNTcs
NiArMTE2MSwxMSBAQCBXZWJJbnNwZWN0b3IuRE9NQWdlbnQucHJvdG90eXBlID0gewogICAgICAg
ICB9CiAgICAgICAgIERPTUFnZW50LmdldE91dGVySFRNTChub2RlLm93bmVyRG9jdW1lbnQuaWQs
IGNhbGxiYWNrKTsKICAgICAgICAgCisgICAgfSwKKworICAgIF9lbXVsYXRlVG91Y2hFdmVudHND
aGFuZ2VkOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICBET01BZ2VudC5zZXRUb3VjaEVtdWxh
dGlvbkVuYWJsZWQoV2ViSW5zcGVjdG9yLnNldHRpbmdzLmVtdWxhdGVUb3VjaEV2ZW50cy5nZXQo
KSk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1NldHRpbmdzLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9T
ZXR0aW5ncy5qcwppbmRleCAyM2YwY2ZhYTg1MmMzZTAwNzc4MTQ4MzFkMmNlNDRiODE4ZDMyNzY3
Li42OGJjMzhiM2EyZGJjMjk3ZGM0OWFlYTRiOGE1OTZiMTkwMTlhYjU5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NldHRpbmdzLmpzCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2V0dGluZ3MuanMKQEAgLTg4LDYgKzg4LDcg
QEAgV2ViSW5zcGVjdG9yLlNldHRpbmdzID0gZnVuY3Rpb24oKQogICAgIHRoaXMudXNlckFnZW50
ID0gdGhpcy5jcmVhdGVTZXR0aW5nKCJ1c2VyQWdlbnQiLCAiIik7CiAgICAgdGhpcy5zaG93U2Ny
aXB0Rm9sZGVycyA9IHRoaXMuY3JlYXRlU2V0dGluZygic2hvd1NjcmlwdEZvbGRlcnMiLCB0cnVl
KTsKICAgICB0aGlzLmRvY2tUb1JpZ2h0ID0gdGhpcy5jcmVhdGVTZXR0aW5nKCJkb2NrVG9SaWdo
dCIsIGZhbHNlKTsKKyAgICB0aGlzLmVtdWxhdGVUb3VjaEV2ZW50cyA9IHRoaXMuY3JlYXRlU2V0
dGluZygiZW11bGF0ZVRvdWNoRXZlbnRzIiwgZmFsc2UpOwogCiAgICAgLy8gSWYgdGhlcmUgYXJl
IHRvbyBtYW55IGJyZWFrcG9pbnRzIGluIGEgc3RvcmFnZSwgaXQgaXMgbGlrZWx5IGR1ZSB0byBh
IHJlY2VudCBidWcgdGhhdCBjYXVzZWQKICAgICAvLyBwZXJpb2RpY2FsIGJyZWFrcG9pbnRzIGR1
cGxpY2F0aW9uIGxlYWRpbmcgdG8gaW5zcGVjdG9yIHNsb3duZXNzLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5nc1NjcmVlbi5qcyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2V0dGluZ3NTY3JlZW4uanMKaW5kZXggN2I3
MDZhMGEwMTUxODY0Mzc1ZDQyNjcxYmYyYmVlZDcwMTc0MjlmYy4uZTVjNjhjYmNjYzcwOWM5NDZl
OGUxOGI1M2Y5YzViN2YxYTk3YzBkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9TZXR0aW5nc1NjcmVlbi5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1NldHRpbmdzU2NyZWVuLmpzCkBAIC0zOSwxMCArMzksMTAgQEAgV2Vi
SW5zcGVjdG9yLlNldHRpbmdzU2NyZWVuID0gZnVuY3Rpb24oKQogICAgIHRoaXMuX2xlZnRDb2x1
bW5FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKTsKICAgICB0aGlzLl9yaWdo
dENvbHVtbkVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpOwogCi0gICAgaWYg
KFByZWZlcmVuY2VzLnNob3dEb2NrVG9SaWdodCkgewotICAgICAgICB2YXIgcCA9IHRoaXMuX2Fw
cGVuZFNlY3Rpb24oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJHZW5lcmFsIikpOworICAgIHZhciBw
ID0gdGhpcy5fYXBwZW5kU2VjdGlvbihXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkdlbmVyYWwiKSk7
CisgICAgaWYgKFByZWZlcmVuY2VzLnNob3dEb2NrVG9SaWdodCkKICAgICAgICAgcC5hcHBlbmRD
aGlsZCh0aGlzLl9jcmVhdGVDaGVja2JveFNldHRpbmcoV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJE
b2NrIHRvIHJpZ2h0IiksIFdlYkluc3BlY3Rvci5zZXR0aW5ncy5kb2NrVG9SaWdodCkpOwotICAg
IH0KKyAgICBwLmFwcGVuZENoaWxkKHRoaXMuX2NyZWF0ZUNoZWNrYm94U2V0dGluZyhXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoIkVtdWxhdGUgdG91Y2ggZXZlbnRzIiksIFdlYkluc3BlY3Rvci5zZXR0
aW5ncy5lbXVsYXRlVG91Y2hFdmVudHMpKTsKIAogICAgIHZhciBwID0gdGhpcy5fYXBwZW5kU2Vj
dGlvbihXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkVsZW1lbnRzIikpOwogICAgIHAuYXBwZW5kQ2hp
bGQodGhpcy5fY3JlYXRlQ2hlY2tib3hTZXR0aW5nKFdlYkluc3BlY3Rvci5VSVN0cmluZygiV29y
ZCB3cmFwIiksIFdlYkluc3BlY3Rvci5zZXR0aW5ncy5kb21Xb3JkV3JhcCkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IDY2NTFlNzZhODhjMWFlMjgwZWNkMjVkMDY3ZmQ1
ZGMzN2I3ODdjMzYuLmU1N2FmOTlmOGZlOTdkNTcyYjQ4ZmM0ZGQ4NzI2ODY1NzQ2NjRjOWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTgwNywxMiArODA3LDYgQEAgYm9v
bCBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlVXAoY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0
UmVzdWx0cyYgZXZlbnQpCiAKIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVJlbGVhc2VF
dmVudChjb25zdCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzJiBldmVudCkKIHsKLSNpZiBF
TkFCTEUoVE9VQ0hfRVZFTlRTKQotICAgIGJvb2wgZGVmYXVsdFByZXZlbnRlZCA9IGRpc3BhdGNo
U3ludGhldGljVG91Y2hFdmVudElmRW5hYmxlZChldmVudC5ldmVudCgpKTsKLSAgICBpZiAoZGVm
YXVsdFByZXZlbnRlZCkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0jZW5kaWYKLQogICAgIGlmICht
X2F1dG9zY3JvbGxJblByb2dyZXNzKQogICAgICAgICBzdG9wQXV0b3Njcm9sbFRpbWVyKCk7CiAK
QEAgLTE3ODUsNyArMTc3OSwxMyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6aW52YWxpZGF0ZUNsaWNr
KCkKIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVJlbGVhc2VFdmVudChjb25zdCBQbGF0
Zm9ybU1vdXNlRXZlbnQmIG1vdXNlRXZlbnQpCiB7CiAgICAgUmVmUHRyPEZyYW1lVmlldz4gcHJv
dGVjdG9yKG1fZnJhbWUtPnZpZXcoKSk7Ci0gICAgCisKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRT
KQorICAgIGJvb2wgZGVmYXVsdFByZXZlbnRlZCA9IGRpc3BhdGNoU3ludGhldGljVG91Y2hFdmVu
dElmRW5hYmxlZChtb3VzZUV2ZW50KTsKKyAgICBpZiAoZGVmYXVsdFByZXZlbnRlZCkKKyAgICAg
ICAgcmV0dXJuIHRydWU7CisjZW5kaWYKKwogICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1
cmVJbmRpY2F0b3IoRGVmaW5pdGVseVByb2Nlc3NpbmdVc2VyR2VzdHVyZSk7CiAKICNpZiBFTkFC
TEUoUEFOX1NDUk9MTElORykK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125639</attachid>
            <date>2012-02-06 07:17:11 -0800</date>
            <delta_ts>2012-02-06 07:38:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77096-20120206191709.patch</filename>
            <type>text/plain</type>
            <size>12513</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2Nzk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTM1OGYwYjJjZGVhMDBi
ZDJiYTEzYzBhZWQxOGUxOWRiMGFmNWY4MC4uNDc5NWVmZGZjODZhNjM0YjE2OGViZGU1ODg4ZTNm
MmRiMDg5ZWVkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTAyLTAzICBBbGV4
YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogW01ldGFdIEFsbG93IGVtdWxhdGlvbiBvZiB0b3VjaCBldmVudHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDk2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyB0aGUgaW5zcGVjdG9y
IHBhcnQgb2YgdGhlIGNoYW5nZSwgY29yZSBwYXJ0IGltcGxlbWVudGF0aW9uIHRyYWNrZWQgaW4g
YnVnIDc3MTA1LgorCisgICAgICAgICogRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpz
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3IuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwOgorICAgICAgICAoRE9NQWdlbnRTdGF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6Y2xlYXJGcm9udGVuZCk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6cmVzdG9yZSk6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50Ojp1cGRhdGVUb3VjaEV2ZW50
RW11bGF0aW9uSW5Eb2N1bWVudHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdl
bnQ6OnNldFRvdWNoRW11bGF0aW9uRW5hYmxlZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3RvckRPTUFnZW50Lmg6CisgICAgICAgIChJbnNwZWN0b3JET01BZ2VudCk6CisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9ET01BZ2VudC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5E
T01BZ2VudC5wcm90b3R5cGUuX2NhcHR1cmVET00pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRP
TUFnZW50LnByb3RvdHlwZS5fZW11bGF0ZVRvdWNoRXZlbnRzQ2hhbmdlZCk6CisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5ncy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5T
ZXR0aW5ncyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5nc1NjcmVlbi5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TZXR0aW5nc1NjcmVlbik6CisgICAgICAgICogcGFn
ZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpoYW5k
bGVNb3VzZVJlbGVhc2VFdmVudCk6CisKIDIwMTItMDItMDYgIEFsbGFuIFNhbmRmZWxkIEplbnNl
biAgPGFsbGFuLmplbnNlbkBub2tpYS5jb20+CiAKICAgICAgICAgRW5zdXJlIHRpbWVycyBhbmQg
b3RoZXIgYWN0aXZlIERPTSBvYmplY3RzIGRvIG5vdCBmaXJlIGluIHN1c3BlbmRlZCBkb2N1bWVu
dHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxwcm9qL2xvY2FsaXplZFN0
cmluZ3MuanMgYi9Tb3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxwcm9qL2xvY2FsaXplZFN0cmluZ3Mu
anMKaW5kZXggYjkxZTgwMWY3MmY3Y2FiZDM5NDYyNmVkZjEwMjQ1MGZiZjMwNjRmMC4uNGQwZWQ0
OTI3YWZhYzcxMTRjN2Q3Y2M4MmUxM2JkNzNiYzVjMzcyYyAxMDA2NDQKR0lUIGJpbmFyeSBwYXRj
aApkZWx0YSAxMDQKemNtYUVNZiN1Q2JtSk9RMGZ3PkgmM15AI20zPyZTeTM8XkxwQUlNSzskTjtp
YThPbmUtND03ZzVwdWBYaDZ0TStqCllCP2VhcHltfUBKNmRPPGU4X0tvV0Z4ZDFlMDZhaCQ4dnA8
UgoKZGVsdGEgMTQKV2NtYUVKaz4lTTFtSk9RMG83Vl4xVUloUjt7UmVMVgoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgppbmRleCA3ZjBkYzQ0ZDBjYjE2NDk5YTg1OGRiMmU0
MTAyMThiYjI3MGVjZjY2Li4zMWU4ZDhhMTEwMmRiZWE4MmViMjkzNjAwZjNkNTNkN2NhMjU3NTcy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCkBAIC0xNTA4LDYgKzE1
MDgsMTQgQEAKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJub2RlSWQiLCAiJHJlZiI6
ICJOb2RlSWQiLCAiZGVzY3JpcHRpb24iOiAiTmV3IGlkIG9mIHRoZSBtb3ZlZCBub2RlLiIgfQog
ICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk1vdmVz
IG5vZGUgaW50byB0aGUgbmV3IGNvbnRhaW5lciwgcGxhY2VzIGl0IGJlZm9yZSB0aGUgZ2l2ZW4g
YW5jaG9yLiIKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
Im5hbWUiOiAic2V0VG91Y2hFbXVsYXRpb25FbmFibGVkIiwKKyAgICAgICAgICAgICAgICAicGFy
YW1ldGVycyI6IFsKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJlbmFibGVkIiwgInR5
cGUiOiAiYm9vbGVhbiIsICJkZXNjcmlwdGlvbiI6ICJXaGV0aGVyIHRoZSB0b3VjaCBldmVudCBl
bXVsYXRpb24gc2hvdWxkIGJlIGVuYWJsZWQuIiB9CisgICAgICAgICAgICAgICAgXSwKKyAgICAg
ICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVG9nZ2xlcyBtb3VzZSBldmVudC1iYXNlZCB0b3Vj
aCBldmVudCBlbXVsYXRpb24uIiwKKyAgICAgICAgICAgICAgICAiaGlkZGVuIjogdHJ1ZQogICAg
ICAgICAgICAgfQogICAgICAgICBdLAogICAgICAgICAiZXZlbnRzIjogWwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKaW5kZXggYjQzMDdmOTM1ZDQ3
N2YxMjgxMTVkODFkY2E3MjdmNDMwNDA0NGFhZS4uNzlkMzdmNTg5ZTU5OWY1Zjg5NTg4YTBkMTBl
ZTBhN2QwMGJjMjJiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckRPTUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RE9NQWdlbnQuY3BwCkBAIC03OCw2ICs3OCw3IEBACiAjaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIK
ICNpbmNsdWRlICJSZW5kZXJTdHlsZUNvbnN0YW50cy5oIgogI2luY2x1ZGUgIlNjcmlwdEV2ZW50
TGlzdGVuZXIuaCIKKyNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlN0eWxlUHJvcGVy
dHlTZXQuaCIKICNpbmNsdWRlICJTdHlsZVNoZWV0TGlzdC5oIgogI2luY2x1ZGUgIlRleHQuaCIK
QEAgLTk2LDYgKzk3LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIERPTUFn
ZW50U3RhdGUgewogc3RhdGljIGNvbnN0IGNoYXIgZG9jdW1lbnRSZXF1ZXN0ZWRbXSA9ICJkb2N1
bWVudFJlcXVlc3RlZCI7CisKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorc3RhdGljIGNvbnN0
IGNoYXIgdG91Y2hFdmVudEVtdWxhdGlvbkVuYWJsZWRbXSA9ICJ0b3VjaEV2ZW50RW11bGF0aW9u
RW5hYmxlZCI7CisjZW5kaWYKIH07CiAKIHN0YXRpYyBjb25zdCBzaXplX3QgbWF4VGV4dFNpemUg
PSAxMDAwMDsKQEAgLTIxMyw2ICsyMTgsMTAgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6Y2xl
YXJGcm9udGVuZCgpCiAgICAgbV9mcm9udGVuZCA9IDA7CiAgICAgbV9pbnN0cnVtZW50aW5nQWdl
bnRzLT5zZXRJbnNwZWN0b3JET01BZ2VudCgwKTsKICAgICBtX3N0YXRlLT5zZXRCb29sZWFuKERP
TUFnZW50U3RhdGU6OmRvY3VtZW50UmVxdWVzdGVkLCBmYWxzZSk7CisjaWYgRU5BQkxFKFRPVUNI
X0VWRU5UUykKKyAgICBtX3N0YXRlLT5zZXRCb29sZWFuKERPTUFnZW50U3RhdGU6OnRvdWNoRXZl
bnRFbXVsYXRpb25FbmFibGVkLCBmYWxzZSk7CisgICAgdXBkYXRlVG91Y2hFdmVudEVtdWxhdGlv
bkluUGFnZShmYWxzZSk7CisjZW5kaWYKICAgICByZXNldCgpOwogfQogCkBAIC0yMjEsNiArMjMw
LDkgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6cmVzdG9yZSgpCiAgICAgLy8gUmVzZXQgZG9j
dW1lbnQgdG8gYXZvaWQgZWFybHkgcmV0dXJuIGZyb20gc2V0RG9jdW1lbnQuCiAgICAgbV9kb2N1
bWVudCA9IDA7CiAgICAgc2V0RG9jdW1lbnQobV9wYWdlQWdlbnQtPm1haW5GcmFtZSgpLT5kb2N1
bWVudCgpKTsKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorICAgIHVwZGF0ZVRvdWNoRXZlbnRF
bXVsYXRpb25JblBhZ2UobV9zdGF0ZS0+Z2V0Qm9vbGVhbihET01BZ2VudFN0YXRlOjp0b3VjaEV2
ZW50RW11bGF0aW9uRW5hYmxlZCkpOworI2VuZGlmCiB9CiAKIFZlY3RvcjxEb2N1bWVudCo+IElu
c3BlY3RvckRPTUFnZW50Ojpkb2N1bWVudHMoKQpAQCAtMzkxLDYgKzQwMywxNCBAQCB2b2lkIElu
c3BlY3RvckRPTUFnZW50OjpkaXNjYXJkQmluZGluZ3MoKQogICAgIG1fY2hpbGRyZW5SZXF1ZXN0
ZWQuY2xlYXIoKTsKIH0KIAorI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCit2b2lkIEluc3BlY3Rv
ckRPTUFnZW50Ojp1cGRhdGVUb3VjaEV2ZW50RW11bGF0aW9uSW5QYWdlKGJvb2wgZW5hYmxlZCkK
K3sKKyAgICBtX3N0YXRlLT5zZXRCb29sZWFuKERPTUFnZW50U3RhdGU6OnRvdWNoRXZlbnRFbXVs
YXRpb25FbmFibGVkLCBlbmFibGVkKTsKKyAgICBtX3BhZ2VBZ2VudC0+bWFpbkZyYW1lKCktPnNl
dHRpbmdzKCktPnNldFRvdWNoRXZlbnRFbXVsYXRpb25FbmFibGVkKGVuYWJsZWQpOworfQorI2Vu
ZGlmCisKIE5vZGUqIEluc3BlY3RvckRPTUFnZW50Ojpub2RlRm9ySWQoaW50IGlkKQogewogICAg
IGlmICghaWQpCkBAIC0xMDQxLDYgKzEwNjEsMTkgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6
bW92ZVRvKEVycm9yU3RyaW5nKiBlcnJvciwgaW50IG5vZGVJZCwgaW50IHRhcmdldEVsZW1lbnQK
ICAgICAqbmV3Tm9kZUlkID0gcHVzaE5vZGVQYXRoVG9Gcm9udGVuZChub2RlKTsKIH0KIAordm9p
ZCBJbnNwZWN0b3JET01BZ2VudDo6c2V0VG91Y2hFbXVsYXRpb25FbmFibGVkKEVycm9yU3RyaW5n
KiBlcnJvciwgYm9vbCBlbmFibGVkKQoreworI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCisgICAg
VU5VU0VEX1BBUkFNKGVycm9yKTsKKyAgICBpZiAobV9zdGF0ZS0+Z2V0Qm9vbGVhbihET01BZ2Vu
dFN0YXRlOjp0b3VjaEV2ZW50RW11bGF0aW9uRW5hYmxlZCkgPT0gZW5hYmxlZCkKKyAgICAgICAg
cmV0dXJuOworICAgIHVwZGF0ZVRvdWNoRXZlbnRFbXVsYXRpb25JblBhZ2UoZW5hYmxlZCk7Cisj
ZWxzZQorICAgICplcnJvciA9ICJUb3VjaCBldmVudCBlbXVsYXRpb24gbm90IGVuYWJsZWQiOwor
ICAgIFVOVVNFRF9QQVJBTShlbmFibGVkKTsKKyNlbmRpZgorfQorCiB2b2lkIEluc3BlY3RvckRP
TUFnZW50OjpyZXNvbHZlTm9kZShFcnJvclN0cmluZyogZXJyb3IsIGludCBub2RlSWQsIGNvbnN0
IFN0cmluZyogY29uc3Qgb2JqZWN0R3JvdXAsIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+JiByZXN1
bHQpCiB7CiAgICAgU3RyaW5nIG9iamVjdEdyb3VwTmFtZSA9IG9iamVjdEdyb3VwID8gKm9iamVj
dEdyb3VwIDogIiI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRE9NQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2Vu
dC5oCmluZGV4IDQzZDA4ODE0YThmZDk5YzUyOTVlM2U3MWE4ZTYwYmEyYTM5MTBjNGQuLjI1OWZl
ZjY0M2UwNTkxMDQ4ZGI5ZmM4ZTM3NjFjOGY2MmM3YjAzZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oCkBAIC0xNDIsNiArMTQyLDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgdm9pZCBoaWdobGlnaHROb2RlKEVycm9yU3RyaW5nKiwgaW50IG5vZGVJ
ZCwgY29uc3QgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4mIGhpZ2hsaWdodENvbmZpZyk7CiAgICAg
dmlydHVhbCB2b2lkIGhpZ2hsaWdodEZyYW1lKEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nJiBm
cmFtZUlkLCBjb25zdCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiogY29sb3IsIGNvbnN0IFJlZlB0
cjxJbnNwZWN0b3JPYmplY3Q+KiBvdXRsaW5lQ29sb3IpOwogICAgIHZpcnR1YWwgdm9pZCBtb3Zl
VG8oRXJyb3JTdHJpbmcqLCBpbnQgbm9kZUlkLCBpbnQgdGFyZ2V0Tm9kZUlkLCBjb25zdCBpbnQq
IGFuY2hvck5vZGVJZCwgaW50KiBuZXdOb2RlSWQpOworICAgIHZpcnR1YWwgdm9pZCBzZXRUb3Vj
aEVtdWxhdGlvbkVuYWJsZWQoRXJyb3JTdHJpbmcqLCBib29sKTsKIAogICAgIE5vZGUqIGhpZ2hs
aWdodGVkTm9kZSgpIGNvbnN0OwogCkBAIC0yMTYsNiArMjE3LDEwIEBAIHByaXZhdGU6CiAKICAg
ICB2b2lkIGRpc2NhcmRCaW5kaW5ncygpOwogCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAg
ICB2b2lkIHVwZGF0ZVRvdWNoRXZlbnRFbXVsYXRpb25JblBhZ2UoYm9vbCk7CisjZW5kaWYKKwog
ICAgIEluc3BlY3RvclBhZ2VBZ2VudCogbV9wYWdlQWdlbnQ7CiAgICAgSW5zcGVjdG9yQ2xpZW50
KiBtX2NsaWVudDsKICAgICBJbmplY3RlZFNjcmlwdE1hbmFnZXIqIG1faW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9E
T01BZ2VudC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRE9NQWdlbnQu
anMKaW5kZXggOTI2MjA1YjM0N2IzY2I1YTVjMWQzMTJkMWMwYWQ2YTEwZjNkNzU4MC4uOTk4Yjcy
NmI4YTIyZTRkNmFiZTAyMzQ1ZWQ3NGQ0OTI1Y2U3MzE2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9ET01BZ2VudC5qcworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTUFnZW50LmpzCkBAIC02NjIsNiArNjYyLDEwIEBAIFdl
Ykluc3BlY3Rvci5ET01BZ2VudCA9IGZ1bmN0aW9uKCkgewogICAgIEluc3BlY3RvckJhY2tlbmQu
cmVnaXN0ZXJET01EaXNwYXRjaGVyKG5ldyBXZWJJbnNwZWN0b3IuRE9NRGlzcGF0Y2hlcih0aGlz
KSk7CiAgICAgaWYgKFdlYkluc3BlY3Rvci5leHBlcmltZW50c1NldHRpbmdzLmZyZWVGbG93RE9N
RWRpdGluZy5pc0VuYWJsZWQoKSkKICAgICAgICAgbmV3IFdlYkluc3BlY3Rvci5ET01Nb2RlbFJl
c291cmNlQmluZGluZyh0aGlzKTsKKworICAgIGlmIChXZWJJbnNwZWN0b3Iuc2V0dGluZ3MuZW11
bGF0ZVRvdWNoRXZlbnRzLmdldCgpKQorICAgICAgICB0aGlzLl9lbXVsYXRlVG91Y2hFdmVudHND
aGFuZ2VkKCk7CisgICAgV2ViSW5zcGVjdG9yLnNldHRpbmdzLmVtdWxhdGVUb3VjaEV2ZW50cy5h
ZGRDaGFuZ2VMaXN0ZW5lcih0aGlzLl9lbXVsYXRlVG91Y2hFdmVudHNDaGFuZ2VkLCB0aGlzKTsK
IH0KIAogV2ViSW5zcGVjdG9yLkRPTUFnZW50LkV2ZW50cyA9IHsKQEAgLTExNTcsNiArMTE2MSwx
MSBAQCBXZWJJbnNwZWN0b3IuRE9NQWdlbnQucHJvdG90eXBlID0gewogICAgICAgICB9CiAgICAg
ICAgIERPTUFnZW50LmdldE91dGVySFRNTChub2RlLm93bmVyRG9jdW1lbnQuaWQsIGNhbGxiYWNr
KTsKICAgICAgICAgCisgICAgfSwKKworICAgIF9lbXVsYXRlVG91Y2hFdmVudHNDaGFuZ2VkOiBm
dW5jdGlvbigpCisgICAgeworICAgICAgICBET01BZ2VudC5zZXRUb3VjaEVtdWxhdGlvbkVuYWJs
ZWQoV2ViSW5zcGVjdG9yLnNldHRpbmdzLmVtdWxhdGVUb3VjaEV2ZW50cy5nZXQoKSk7CiAgICAg
fQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Nl
dHRpbmdzLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5ncy5q
cwppbmRleCAyM2YwY2ZhYTg1MmMzZTAwNzc4MTQ4MzFkMmNlNDRiODE4ZDMyNzY3Li42OGJjMzhi
M2EyZGJjMjk3ZGM0OWFlYTRiOGE1OTZiMTkwMTlhYjU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NldHRpbmdzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvU2V0dGluZ3MuanMKQEAgLTg4LDYgKzg4LDcgQEAgV2ViSW5z
cGVjdG9yLlNldHRpbmdzID0gZnVuY3Rpb24oKQogICAgIHRoaXMudXNlckFnZW50ID0gdGhpcy5j
cmVhdGVTZXR0aW5nKCJ1c2VyQWdlbnQiLCAiIik7CiAgICAgdGhpcy5zaG93U2NyaXB0Rm9sZGVy
cyA9IHRoaXMuY3JlYXRlU2V0dGluZygic2hvd1NjcmlwdEZvbGRlcnMiLCB0cnVlKTsKICAgICB0
aGlzLmRvY2tUb1JpZ2h0ID0gdGhpcy5jcmVhdGVTZXR0aW5nKCJkb2NrVG9SaWdodCIsIGZhbHNl
KTsKKyAgICB0aGlzLmVtdWxhdGVUb3VjaEV2ZW50cyA9IHRoaXMuY3JlYXRlU2V0dGluZygiZW11
bGF0ZVRvdWNoRXZlbnRzIiwgZmFsc2UpOwogCiAgICAgLy8gSWYgdGhlcmUgYXJlIHRvbyBtYW55
IGJyZWFrcG9pbnRzIGluIGEgc3RvcmFnZSwgaXQgaXMgbGlrZWx5IGR1ZSB0byBhIHJlY2VudCBi
dWcgdGhhdCBjYXVzZWQKICAgICAvLyBwZXJpb2RpY2FsIGJyZWFrcG9pbnRzIGR1cGxpY2F0aW9u
IGxlYWRpbmcgdG8gaW5zcGVjdG9yIHNsb3duZXNzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5nc1NjcmVlbi5qcyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvU2V0dGluZ3NTY3JlZW4uanMKaW5kZXggN2I3MDZhMGEwMTUx
ODY0Mzc1ZDQyNjcxYmYyYmVlZDcwMTc0MjlmYy4uMDY4YTI4MGNkZTE3OWE4OWVhNTQ1YjFhOWRh
YjEyOTU0NTVjNDNlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9TZXR0aW5nc1NjcmVlbi5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1NldHRpbmdzU2NyZWVuLmpzCkBAIC0zOCwxMyArMzgsMTcgQEAgV2ViSW5zcGVjdG9y
LlNldHRpbmdzU2NyZWVuID0gZnVuY3Rpb24oKQogCiAgICAgdGhpcy5fbGVmdENvbHVtbkVsZW1l
bnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpOwogICAgIHRoaXMuX3JpZ2h0Q29sdW1u
RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIik7Ci0KLSAgICBpZiAoUHJlZmVy
ZW5jZXMuc2hvd0RvY2tUb1JpZ2h0KSB7Ci0gICAgICAgIHZhciBwID0gdGhpcy5fYXBwZW5kU2Vj
dGlvbihXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkdlbmVyYWwiKSk7Ci0gICAgICAgIHAuYXBwZW5k
Q2hpbGQodGhpcy5fY3JlYXRlQ2hlY2tib3hTZXR0aW5nKFdlYkluc3BlY3Rvci5VSVN0cmluZygi
RG9jayB0byByaWdodCIpLCBXZWJJbnNwZWN0b3Iuc2V0dGluZ3MuZG9ja1RvUmlnaHQpKTsKKyAg
ICB2YXIgcDsKKworICAgIGlmIChQcmVmZXJlbmNlcy5zaG93RG9ja1RvUmlnaHQgJiYgUHJlZmVy
ZW5jZXMuZXhwb3NlRGlzYWJsZUNhY2hlKSB7CisgICAgICAgIHAgPSB0aGlzLl9hcHBlbmRTZWN0
aW9uKFdlYkluc3BlY3Rvci5VSVN0cmluZygiR2VuZXJhbCIpKTsKKyAgICAgICAgaWYgKFByZWZl
cmVuY2VzLnNob3dEb2NrVG9SaWdodCkKKyAgICAgICAgICAgIHAuYXBwZW5kQ2hpbGQodGhpcy5f
Y3JlYXRlQ2hlY2tib3hTZXR0aW5nKFdlYkluc3BlY3Rvci5VSVN0cmluZygiRG9jayB0byByaWdo
dCIpLCBXZWJJbnNwZWN0b3Iuc2V0dGluZ3MuZG9ja1RvUmlnaHQpKTsKKyAgICAgICAgaWYgKFBy
ZWZlcmVuY2VzLmV4cG9zZURpc2FibGVDYWNoZSkKKyAgICAgICAgICAgIHAuYXBwZW5kQ2hpbGQo
dGhpcy5fY3JlYXRlQ2hlY2tib3hTZXR0aW5nKFdlYkluc3BlY3Rvci5VSVN0cmluZygiRGlzYWJs
ZSBjYWNoZSIpLCBXZWJJbnNwZWN0b3Iuc2V0dGluZ3MuY2FjaGVEaXNhYmxlZCkpOwogICAgIH0K
IAotICAgIHZhciBwID0gdGhpcy5fYXBwZW5kU2VjdGlvbihXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IkVsZW1lbnRzIikpOworICAgIHAgPSB0aGlzLl9hcHBlbmRTZWN0aW9uKFdlYkluc3BlY3Rvci5V
SVN0cmluZygiRWxlbWVudHMiKSk7CiAgICAgcC5hcHBlbmRDaGlsZCh0aGlzLl9jcmVhdGVDaGVj
a2JveFNldHRpbmcoV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJXb3JkIHdyYXAiKSwgV2ViSW5zcGVj
dG9yLnNldHRpbmdzLmRvbVdvcmRXcmFwKSk7CiAKICAgICBwID0gdGhpcy5fYXBwZW5kU2VjdGlv
bihXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlN0eWxlcyIpKTsKQEAgLTYzLDEwICs2Nyw5IEBAIFdl
Ykluc3BlY3Rvci5TZXR0aW5nc1NjcmVlbiA9IGZ1bmN0aW9uKCkKICAgICAgICAgICAgIFsgV2Vi
SW5zcGVjdG9yLlVJU3RyaW5nKCJUYWIgY2hhcmFjdGVyIiksIFdlYkluc3BlY3Rvci5UZXh0RWRp
dG9yTW9kZWwuSW5kZW50LlRhYkNoYXJhY3RlciBdCiAgICAgICAgIF0sIFdlYkluc3BlY3Rvci5z
ZXR0aW5ncy50ZXh0RWRpdG9ySW5kZW50KSk7CiAKLSAgICBwID0gdGhpcy5fYXBwZW5kU2VjdGlv
bihXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIk5ldHdvcmsiKSwgdHJ1ZSk7Ci0gICAgaWYgKFByZWZl
cmVuY2VzLmV4cG9zZURpc2FibGVDYWNoZSkKLSAgICAgICAgcC5hcHBlbmRDaGlsZCh0aGlzLl9j
cmVhdGVDaGVja2JveFNldHRpbmcoV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJEaXNhYmxlIGNhY2hl
IiksIFdlYkluc3BlY3Rvci5zZXR0aW5ncy5jYWNoZURpc2FibGVkKSk7CisgICAgcCA9IHRoaXMu
X2FwcGVuZFNlY3Rpb24oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJVc2VyIEFnZW50IiksIHRydWUp
OwogICAgIHAuYXBwZW5kQ2hpbGQodGhpcy5fY3JlYXRlVXNlckFjdGlvbkNvbnRyb2woKSk7Cisg
ICAgcC5hcHBlbmRDaGlsZCh0aGlzLl9jcmVhdGVDaGVja2JveFNldHRpbmcoV2ViSW5zcGVjdG9y
LlVJU3RyaW5nKCJFbXVsYXRlIHRvdWNoIGV2ZW50cyIpLCBXZWJJbnNwZWN0b3Iuc2V0dGluZ3Mu
ZW11bGF0ZVRvdWNoRXZlbnRzKSk7CiAKICAgICBwID0gdGhpcy5fYXBwZW5kU2VjdGlvbihXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIlNjcmlwdHMiKSwgdHJ1ZSk7CiAgICAgcC5hcHBlbmRDaGlsZCh0
aGlzLl9jcmVhdGVDaGVja2JveFNldHRpbmcoV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTaG93IHNj
cmlwdCBmb2xkZXJzIiksIFdlYkluc3BlY3Rvci5zZXR0aW5ncy5zaG93U2NyaXB0Rm9sZGVycykp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IDY2NTFlNzZhODhjMWFlMjgw
ZWNkMjVkMDY3ZmQ1ZGMzN2I3ODdjMzYuLmU1N2FmOTlmOGZlOTdkNTcyYjQ4ZmM0ZGQ4NzI2ODY1
NzQ2NjRjOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTgwNywxMiAr
ODA3LDYgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlVXAoY29uc3QgTW91c2VFdmVu
dFdpdGhIaXRUZXN0UmVzdWx0cyYgZXZlbnQpCiAKIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVN
b3VzZVJlbGVhc2VFdmVudChjb25zdCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzJiBldmVu
dCkKIHsKLSNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQotICAgIGJvb2wgZGVmYXVsdFByZXZlbnRl
ZCA9IGRpc3BhdGNoU3ludGhldGljVG91Y2hFdmVudElmRW5hYmxlZChldmVudC5ldmVudCgpKTsK
LSAgICBpZiAoZGVmYXVsdFByZXZlbnRlZCkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0jZW5kaWYK
LQogICAgIGlmIChtX2F1dG9zY3JvbGxJblByb2dyZXNzKQogICAgICAgICBzdG9wQXV0b3Njcm9s
bFRpbWVyKCk7CiAKQEAgLTE3ODUsNyArMTc3OSwxMyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6aW52
YWxpZGF0ZUNsaWNrKCkKIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVJlbGVhc2VFdmVu
dChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIG1vdXNlRXZlbnQpCiB7CiAgICAgUmVmUHRyPEZy
YW1lVmlldz4gcHJvdGVjdG9yKG1fZnJhbWUtPnZpZXcoKSk7Ci0gICAgCisKKyNpZiBFTkFCTEUo
VE9VQ0hfRVZFTlRTKQorICAgIGJvb2wgZGVmYXVsdFByZXZlbnRlZCA9IGRpc3BhdGNoU3ludGhl
dGljVG91Y2hFdmVudElmRW5hYmxlZChtb3VzZUV2ZW50KTsKKyAgICBpZiAoZGVmYXVsdFByZXZl
bnRlZCkKKyAgICAgICAgcmV0dXJuIHRydWU7CisjZW5kaWYKKwogICAgIFVzZXJHZXN0dXJlSW5k
aWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IoRGVmaW5pdGVseVByb2Nlc3NpbmdVc2VyR2VzdHVyZSk7
CiAKICNpZiBFTkFCTEUoUEFOX1NDUk9MTElORykK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125643</attachid>
            <date>2012-02-06 07:39:05 -0800</date>
            <delta_ts>2012-02-06 07:47:23 -0800</delta_ts>
            <desc>[PATCH] Comments addressed</desc>
            <filename>bug-77096-20120206193903.patch</filename>
            <type>text/plain</type>
            <size>11178</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2Nzk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTM1OGYwYjJjZGVhMDBi
ZDJiYTEzYzBhZWQxOGUxOWRiMGFmNWY4MC4uYjg4MWY0ZmNkYjdlMDc5ODQxNDQ0Y2NmZDcxZWMw
NTQxZTUwYjkzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTAyLTAzICBBbGV4
YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogW01ldGFdIEFsbG93IGVtdWxhdGlvbiBvZiB0b3VjaCBldmVudHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDk2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyB0aGUgaW5zcGVjdG9y
IHBhcnQgb2YgdGhlIGNoYW5nZSwgY29yZSBwYXJ0IGltcGxlbWVudGF0aW9uIHRyYWNrZWQgaW4g
YnVnIDc3MTA1LgorCisgICAgICAgICogRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpz
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3IuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwOgorICAgICAgICAoRE9NQWdlbnRTdGF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6Y2xlYXJGcm9udGVuZCk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6cmVzdG9yZSk6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50Ojp1cGRhdGVUb3VjaEV2ZW50
RW11bGF0aW9uSW5Eb2N1bWVudHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdl
bnQ6OnNldFRvdWNoRW11bGF0aW9uRW5hYmxlZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3RvckRPTUFnZW50Lmg6CisgICAgICAgIChJbnNwZWN0b3JET01BZ2VudCk6CisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9ET01BZ2VudC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5E
T01BZ2VudC5wcm90b3R5cGUuX2NhcHR1cmVET00pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRP
TUFnZW50LnByb3RvdHlwZS5fZW11bGF0ZVRvdWNoRXZlbnRzQ2hhbmdlZCk6CisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5ncy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5T
ZXR0aW5ncyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5nc1NjcmVlbi5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TZXR0aW5nc1NjcmVlbik6CisKIDIwMTItMDItMDYg
IEFsbGFuIFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBub2tpYS5jb20+CiAKICAgICAg
ICAgRW5zdXJlIHRpbWVycyBhbmQgb3RoZXIgYWN0aXZlIERPTSBvYmplY3RzIGRvIG5vdCBmaXJl
IGluIHN1c3BlbmRlZCBkb2N1bWVudHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Fbmds
aXNoLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMgYi9Tb3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxw
cm9qL2xvY2FsaXplZFN0cmluZ3MuanMKaW5kZXggYjkxZTgwMWY3MmY3Y2FiZDM5NDYyNmVkZjEw
MjQ1MGZiZjMwNjRmMC4uNGQwZWQ0OTI3YWZhYzcxMTRjN2Q3Y2M4MmUxM2JkNzNiYzVjMzcyYyAx
MDA2NDQKR0lUIGJpbmFyeSBwYXRjaApkZWx0YSAxMDQKemNtYUVNZiN1Q2JtSk9RMGZ3PkgmM15A
I20zPyZTeTM8XkxwQUlNSzskTjtpYThPbmUtND03ZzVwdWBYaDZ0TStqCllCP2VhcHltfUBKNmRP
PGU4X0tvV0Z4ZDFlMDZhaCQ4dnA8UgoKZGVsdGEgMTQKV2NtYUVKaz4lTTFtSk9RMG83Vl4xVUlo
Ujt7UmVMVgoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3Iu
anNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgppbmRleCA3ZjBk
YzQ0ZDBjYjE2NDk5YTg1OGRiMmU0MTAyMThiYjI3MGVjZjY2Li4zMWU4ZDhhMTEwMmRiZWE4MmVi
MjkzNjAwZjNkNTNkN2NhMjU3NTcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ci5qc29uCkBAIC0xNTA4LDYgKzE1MDgsMTQgQEAKICAgICAgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJub2RlSWQiLCAiJHJlZiI6ICJOb2RlSWQiLCAiZGVzY3JpcHRpb24iOiAiTmV3IGlkIG9m
IHRoZSBtb3ZlZCBub2RlLiIgfQogICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAg
ImRlc2NyaXB0aW9uIjogIk1vdmVzIG5vZGUgaW50byB0aGUgbmV3IGNvbnRhaW5lciwgcGxhY2Vz
IGl0IGJlZm9yZSB0aGUgZ2l2ZW4gYW5jaG9yLiIKKyAgICAgICAgICAgIH0sCisgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgIm5hbWUiOiAic2V0VG91Y2hFbXVsYXRpb25FbmFibGVkIiwK
KyAgICAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKKyAgICAgICAgICAgICAgICAgICAgeyAi
bmFtZSI6ICJlbmFibGVkIiwgInR5cGUiOiAiYm9vbGVhbiIsICJkZXNjcmlwdGlvbiI6ICJXaGV0
aGVyIHRoZSB0b3VjaCBldmVudCBlbXVsYXRpb24gc2hvdWxkIGJlIGVuYWJsZWQuIiB9CisgICAg
ICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVG9nZ2xlcyBt
b3VzZSBldmVudC1iYXNlZCB0b3VjaCBldmVudCBlbXVsYXRpb24uIiwKKyAgICAgICAgICAgICAg
ICAiaGlkZGVuIjogdHJ1ZQogICAgICAgICAgICAgfQogICAgICAgICBdLAogICAgICAgICAiZXZl
bnRzIjogWwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRP
TUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5j
cHAKaW5kZXggYjQzMDdmOTM1ZDQ3N2YxMjgxMTVkODFkY2E3MjdmNDMwNDA0NGFhZS4uYTI4Nzk5
OTY5NzFjNjdmNzAyMmEyM2YwZjk2NDkwMTA1M2E2ZWVhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCkBAIC03OCw2ICs3OCw3IEBACiAjaW5j
bHVkZSAiUmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlICJSZW5kZXJTdHlsZUNvbnN0YW50cy5oIgog
I2luY2x1ZGUgIlNjcmlwdEV2ZW50TGlzdGVuZXIuaCIKKyNpbmNsdWRlICJTZXR0aW5ncy5oIgog
I2luY2x1ZGUgIlN0eWxlUHJvcGVydHlTZXQuaCIKICNpbmNsdWRlICJTdHlsZVNoZWV0TGlzdC5o
IgogI2luY2x1ZGUgIlRleHQuaCIKQEAgLTk2LDYgKzk3LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogbmFtZXNwYWNlIERPTUFnZW50U3RhdGUgewogc3RhdGljIGNvbnN0IGNoYXIgZG9jdW1l
bnRSZXF1ZXN0ZWRbXSA9ICJkb2N1bWVudFJlcXVlc3RlZCI7CisKKyNpZiBFTkFCTEUoVE9VQ0hf
RVZFTlRTKQorc3RhdGljIGNvbnN0IGNoYXIgdG91Y2hFdmVudEVtdWxhdGlvbkVuYWJsZWRbXSA9
ICJ0b3VjaEV2ZW50RW11bGF0aW9uRW5hYmxlZCI7CisjZW5kaWYKIH07CiAKIHN0YXRpYyBjb25z
dCBzaXplX3QgbWF4VGV4dFNpemUgPSAxMDAwMDsKQEAgLTIxMyw2ICsyMTgsOSBAQCB2b2lkIElu
c3BlY3RvckRPTUFnZW50OjpjbGVhckZyb250ZW5kKCkKICAgICBtX2Zyb250ZW5kID0gMDsKICAg
ICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNldEluc3BlY3RvckRPTUFnZW50KDApOwogICAgIG1f
c3RhdGUtPnNldEJvb2xlYW4oRE9NQWdlbnRTdGF0ZTo6ZG9jdW1lbnRSZXF1ZXN0ZWQsIGZhbHNl
KTsKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorICAgIHVwZGF0ZVRvdWNoRXZlbnRFbXVsYXRp
b25JblBhZ2UoZmFsc2UpOworI2VuZGlmCiAgICAgcmVzZXQoKTsKIH0KIApAQCAtMjIxLDYgKzIy
OSw5IEBAIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnJlc3RvcmUoKQogICAgIC8vIFJlc2V0IGRv
Y3VtZW50IHRvIGF2b2lkIGVhcmx5IHJldHVybiBmcm9tIHNldERvY3VtZW50LgogICAgIG1fZG9j
dW1lbnQgPSAwOwogICAgIHNldERvY3VtZW50KG1fcGFnZUFnZW50LT5tYWluRnJhbWUoKS0+ZG9j
dW1lbnQoKSk7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICB1cGRhdGVUb3VjaEV2ZW50
RW11bGF0aW9uSW5QYWdlKG1fc3RhdGUtPmdldEJvb2xlYW4oRE9NQWdlbnRTdGF0ZTo6dG91Y2hF
dmVudEVtdWxhdGlvbkVuYWJsZWQpKTsKKyNlbmRpZgogfQogCiBWZWN0b3I8RG9jdW1lbnQqPiBJ
bnNwZWN0b3JET01BZ2VudDo6ZG9jdW1lbnRzKCkKQEAgLTM5MSw2ICs0MDIsMTQgQEAgdm9pZCBJ
bnNwZWN0b3JET01BZ2VudDo6ZGlzY2FyZEJpbmRpbmdzKCkKICAgICBtX2NoaWxkcmVuUmVxdWVz
dGVkLmNsZWFyKCk7CiB9CiAKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQordm9pZCBJbnNwZWN0
b3JET01BZ2VudDo6dXBkYXRlVG91Y2hFdmVudEVtdWxhdGlvbkluUGFnZShib29sIGVuYWJsZWQp
Cit7CisgICAgbV9zdGF0ZS0+c2V0Qm9vbGVhbihET01BZ2VudFN0YXRlOjp0b3VjaEV2ZW50RW11
bGF0aW9uRW5hYmxlZCwgZW5hYmxlZCk7CisgICAgbV9wYWdlQWdlbnQtPm1haW5GcmFtZSgpLT5z
ZXR0aW5ncygpLT5zZXRUb3VjaEV2ZW50RW11bGF0aW9uRW5hYmxlZChlbmFibGVkKTsKK30KKyNl
bmRpZgorCiBOb2RlKiBJbnNwZWN0b3JET01BZ2VudDo6bm9kZUZvcklkKGludCBpZCkKIHsKICAg
ICBpZiAoIWlkKQpAQCAtMTA0MSw2ICsxMDYwLDE5IEBAIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6
Om1vdmVUbyhFcnJvclN0cmluZyogZXJyb3IsIGludCBub2RlSWQsIGludCB0YXJnZXRFbGVtZW50
CiAgICAgKm5ld05vZGVJZCA9IHB1c2hOb2RlUGF0aFRvRnJvbnRlbmQobm9kZSk7CiB9CiAKK3Zv
aWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnNldFRvdWNoRW11bGF0aW9uRW5hYmxlZChFcnJvclN0cmlu
ZyogZXJyb3IsIGJvb2wgZW5hYmxlZCkKK3sKKyAgICBpZiAobV9zdGF0ZS0+Z2V0Qm9vbGVhbihE
T01BZ2VudFN0YXRlOjp0b3VjaEV2ZW50RW11bGF0aW9uRW5hYmxlZCkgPT0gZW5hYmxlZCkKKyAg
ICAgICAgcmV0dXJuOworI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCisgICAgVU5VU0VEX1BBUkFN
KGVycm9yKTsKKyAgICB1cGRhdGVUb3VjaEV2ZW50RW11bGF0aW9uSW5QYWdlKGVuYWJsZWQpOwor
I2Vsc2UKKyAgICAqZXJyb3IgPSAiVG91Y2ggZXZlbnRzIGVtdWxhdGlvbiBub3Qgc3VwcG9ydGVk
IjsKKyAgICBVTlVTRURfUEFSQU0oZW5hYmxlZCk7CisjZW5kaWYKK30KKwogdm9pZCBJbnNwZWN0
b3JET01BZ2VudDo6cmVzb2x2ZU5vZGUoRXJyb3JTdHJpbmcqIGVycm9yLCBpbnQgbm9kZUlkLCBj
b25zdCBTdHJpbmcqIGNvbnN0IG9iamVjdEdyb3VwLCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiYg
cmVzdWx0KQogewogICAgIFN0cmluZyBvYmplY3RHcm91cE5hbWUgPSBvYmplY3RHcm91cCA/ICpv
YmplY3RHcm91cCA6ICIiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckRPTUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9N
QWdlbnQuaAppbmRleCA0M2QwODgxNGE4ZmQ5OWM1Mjk1ZTNlNzFhOGU2MGJhMmEzOTEwYzRkLi4y
NTlmZWY2NDNlMDU5MTA0OGRiOWZjOGUzNzYxYzhmNjJjN2IwM2QxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuaApAQCAtMTQyLDYgKzE0Miw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgaGlnaGxpZ2h0Tm9kZShFcnJvclN0cmluZyosIGludCBu
b2RlSWQsIGNvbnN0IFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+JiBoaWdobGlnaHRDb25maWcpOwog
ICAgIHZpcnR1YWwgdm9pZCBoaWdobGlnaHRGcmFtZShFcnJvclN0cmluZyosIGNvbnN0IFN0cmlu
ZyYgZnJhbWVJZCwgY29uc3QgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4qIGNvbG9yLCBjb25zdCBS
ZWZQdHI8SW5zcGVjdG9yT2JqZWN0Piogb3V0bGluZUNvbG9yKTsKICAgICB2aXJ0dWFsIHZvaWQg
bW92ZVRvKEVycm9yU3RyaW5nKiwgaW50IG5vZGVJZCwgaW50IHRhcmdldE5vZGVJZCwgY29uc3Qg
aW50KiBhbmNob3JOb2RlSWQsIGludCogbmV3Tm9kZUlkKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0
VG91Y2hFbXVsYXRpb25FbmFibGVkKEVycm9yU3RyaW5nKiwgYm9vbCk7CiAKICAgICBOb2RlKiBo
aWdobGlnaHRlZE5vZGUoKSBjb25zdDsKIApAQCAtMjE2LDYgKzIxNywxMCBAQCBwcml2YXRlOgog
CiAgICAgdm9pZCBkaXNjYXJkQmluZGluZ3MoKTsKIAorI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMp
CisgICAgdm9pZCB1cGRhdGVUb3VjaEV2ZW50RW11bGF0aW9uSW5QYWdlKGJvb2wpOworI2VuZGlm
CisKICAgICBJbnNwZWN0b3JQYWdlQWdlbnQqIG1fcGFnZUFnZW50OwogICAgIEluc3BlY3RvckNs
aWVudCogbV9jbGllbnQ7CiAgICAgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBtX2luamVjdGVkU2Ny
aXB0TWFuYWdlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvRE9NQWdlbnQuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTUFn
ZW50LmpzCmluZGV4IDkyNjIwNWIzNDdiM2NiNWE1YzFkMzEyZDFjMGFkNmExMGYzZDc1ODAuLjk5
OGI3MjZiOGEyMmU0ZDZhYmUwMjM0NWVkNzRkNDkyNWNlNzMxNjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRE9NQWdlbnQuanMKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9ET01BZ2VudC5qcwpAQCAtNjYyLDYgKzY2MiwxMCBA
QCBXZWJJbnNwZWN0b3IuRE9NQWdlbnQgPSBmdW5jdGlvbigpIHsKICAgICBJbnNwZWN0b3JCYWNr
ZW5kLnJlZ2lzdGVyRE9NRGlzcGF0Y2hlcihuZXcgV2ViSW5zcGVjdG9yLkRPTURpc3BhdGNoZXIo
dGhpcykpOwogICAgIGlmIChXZWJJbnNwZWN0b3IuZXhwZXJpbWVudHNTZXR0aW5ncy5mcmVlRmxv
d0RPTUVkaXRpbmcuaXNFbmFibGVkKCkpCiAgICAgICAgIG5ldyBXZWJJbnNwZWN0b3IuRE9NTW9k
ZWxSZXNvdXJjZUJpbmRpbmcodGhpcyk7CisKKyAgICBpZiAoV2ViSW5zcGVjdG9yLnNldHRpbmdz
LmVtdWxhdGVUb3VjaEV2ZW50cy5nZXQoKSkKKyAgICAgICAgdGhpcy5fZW11bGF0ZVRvdWNoRXZl
bnRzQ2hhbmdlZCgpOworICAgIFdlYkluc3BlY3Rvci5zZXR0aW5ncy5lbXVsYXRlVG91Y2hFdmVu
dHMuYWRkQ2hhbmdlTGlzdGVuZXIodGhpcy5fZW11bGF0ZVRvdWNoRXZlbnRzQ2hhbmdlZCwgdGhp
cyk7CiB9CiAKIFdlYkluc3BlY3Rvci5ET01BZ2VudC5FdmVudHMgPSB7CkBAIC0xMTU3LDYgKzEx
NjEsMTEgQEAgV2ViSW5zcGVjdG9yLkRPTUFnZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgfQog
ICAgICAgICBET01BZ2VudC5nZXRPdXRlckhUTUwobm9kZS5vd25lckRvY3VtZW50LmlkLCBjYWxs
YmFjayk7CiAgICAgICAgIAorICAgIH0sCisKKyAgICBfZW11bGF0ZVRvdWNoRXZlbnRzQ2hhbmdl
ZDogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgRE9NQWdlbnQuc2V0VG91Y2hFbXVsYXRpb25F
bmFibGVkKFdlYkluc3BlY3Rvci5zZXR0aW5ncy5lbXVsYXRlVG91Y2hFdmVudHMuZ2V0KCkpOwog
ICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9TZXR0aW5ncy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2V0dGlu
Z3MuanMKaW5kZXggMjNmMGNmYWE4NTJjM2UwMDc3ODE0ODMxZDJjZTQ0YjgxOGQzMjc2Ny4uNjhi
YzM4YjNhMmRiYzI5N2RjNDlhZWE0YjhhNTk2YjE5MDE5YWI1OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5ncy5qcworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NldHRpbmdzLmpzCkBAIC04OCw2ICs4OCw3IEBAIFdl
Ykluc3BlY3Rvci5TZXR0aW5ncyA9IGZ1bmN0aW9uKCkKICAgICB0aGlzLnVzZXJBZ2VudCA9IHRo
aXMuY3JlYXRlU2V0dGluZygidXNlckFnZW50IiwgIiIpOwogICAgIHRoaXMuc2hvd1NjcmlwdEZv
bGRlcnMgPSB0aGlzLmNyZWF0ZVNldHRpbmcoInNob3dTY3JpcHRGb2xkZXJzIiwgdHJ1ZSk7CiAg
ICAgdGhpcy5kb2NrVG9SaWdodCA9IHRoaXMuY3JlYXRlU2V0dGluZygiZG9ja1RvUmlnaHQiLCBm
YWxzZSk7CisgICAgdGhpcy5lbXVsYXRlVG91Y2hFdmVudHMgPSB0aGlzLmNyZWF0ZVNldHRpbmco
ImVtdWxhdGVUb3VjaEV2ZW50cyIsIGZhbHNlKTsKIAogICAgIC8vIElmIHRoZXJlIGFyZSB0b28g
bWFueSBicmVha3BvaW50cyBpbiBhIHN0b3JhZ2UsIGl0IGlzIGxpa2VseSBkdWUgdG8gYSByZWNl
bnQgYnVnIHRoYXQgY2F1c2VkCiAgICAgLy8gcGVyaW9kaWNhbCBicmVha3BvaW50cyBkdXBsaWNh
dGlvbiBsZWFkaW5nIHRvIGluc3BlY3RvciBzbG93bmVzcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2V0dGluZ3NTY3JlZW4uanMgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NldHRpbmdzU2NyZWVuLmpzCmluZGV4IDdiNzA2YTBh
MDE1MTg2NDM3NWQ0MjY3MWJmMmJlZWQ3MDE3NDI5ZmMuLjc1NTUwOWFjNTQ4MzBmZmY3NzdhNzhj
YmY5NTAyNjQ5ZWU2ZTMwNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvU2V0dGluZ3NTY3JlZW4uanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9TZXR0aW5nc1NjcmVlbi5qcwpAQCAtMzgsMTMgKzM4LDE3IEBAIFdlYkluc3Bl
Y3Rvci5TZXR0aW5nc1NjcmVlbiA9IGZ1bmN0aW9uKCkKIAogICAgIHRoaXMuX2xlZnRDb2x1bW5F
bGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKTsKICAgICB0aGlzLl9yaWdodENv
bHVtbkVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpOwotCi0gICAgaWYgKFBy
ZWZlcmVuY2VzLnNob3dEb2NrVG9SaWdodCkgewotICAgICAgICB2YXIgcCA9IHRoaXMuX2FwcGVu
ZFNlY3Rpb24oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJHZW5lcmFsIikpOwotICAgICAgICBwLmFw
cGVuZENoaWxkKHRoaXMuX2NyZWF0ZUNoZWNrYm94U2V0dGluZyhXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoIkRvY2sgdG8gcmlnaHQiKSwgV2ViSW5zcGVjdG9yLnNldHRpbmdzLmRvY2tUb1JpZ2h0KSk7
CisgICAgdmFyIHA7CisKKyAgICBpZiAoUHJlZmVyZW5jZXMuc2hvd0RvY2tUb1JpZ2h0IHx8IFBy
ZWZlcmVuY2VzLmV4cG9zZURpc2FibGVDYWNoZSkgeworICAgICAgICBwID0gdGhpcy5fYXBwZW5k
U2VjdGlvbihXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkdlbmVyYWwiKSk7CisgICAgICAgIGlmIChQ
cmVmZXJlbmNlcy5zaG93RG9ja1RvUmlnaHQpCisgICAgICAgICAgICBwLmFwcGVuZENoaWxkKHRo
aXMuX2NyZWF0ZUNoZWNrYm94U2V0dGluZyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkRvY2sgdG8g
cmlnaHQiKSwgV2ViSW5zcGVjdG9yLnNldHRpbmdzLmRvY2tUb1JpZ2h0KSk7CisgICAgICAgIGlm
IChQcmVmZXJlbmNlcy5leHBvc2VEaXNhYmxlQ2FjaGUpCisgICAgICAgICAgICBwLmFwcGVuZENo
aWxkKHRoaXMuX2NyZWF0ZUNoZWNrYm94U2V0dGluZyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkRp
c2FibGUgY2FjaGUiKSwgV2ViSW5zcGVjdG9yLnNldHRpbmdzLmNhY2hlRGlzYWJsZWQpKTsKICAg
ICB9CiAKLSAgICB2YXIgcCA9IHRoaXMuX2FwcGVuZFNlY3Rpb24oV2ViSW5zcGVjdG9yLlVJU3Ry
aW5nKCJFbGVtZW50cyIpKTsKKyAgICBwID0gdGhpcy5fYXBwZW5kU2VjdGlvbihXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIkVsZW1lbnRzIikpOwogICAgIHAuYXBwZW5kQ2hpbGQodGhpcy5fY3JlYXRl
Q2hlY2tib3hTZXR0aW5nKFdlYkluc3BlY3Rvci5VSVN0cmluZygiV29yZCB3cmFwIiksIFdlYklu
c3BlY3Rvci5zZXR0aW5ncy5kb21Xb3JkV3JhcCkpOwogCiAgICAgcCA9IHRoaXMuX2FwcGVuZFNl
Y3Rpb24oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTdHlsZXMiKSk7CkBAIC02MywxMCArNjcsOSBA
QCBXZWJJbnNwZWN0b3IuU2V0dGluZ3NTY3JlZW4gPSBmdW5jdGlvbigpCiAgICAgICAgICAgICBb
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiVGFiIGNoYXJhY3RlciIpLCBXZWJJbnNwZWN0b3IuVGV4
dEVkaXRvck1vZGVsLkluZGVudC5UYWJDaGFyYWN0ZXIgXQogICAgICAgICBdLCBXZWJJbnNwZWN0
b3Iuc2V0dGluZ3MudGV4dEVkaXRvckluZGVudCkpOwogCi0gICAgcCA9IHRoaXMuX2FwcGVuZFNl
Y3Rpb24oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJOZXR3b3JrIiksIHRydWUpOwotICAgIGlmIChQ
cmVmZXJlbmNlcy5leHBvc2VEaXNhYmxlQ2FjaGUpCi0gICAgICAgIHAuYXBwZW5kQ2hpbGQodGhp
cy5fY3JlYXRlQ2hlY2tib3hTZXR0aW5nKFdlYkluc3BlY3Rvci5VSVN0cmluZygiRGlzYWJsZSBj
YWNoZSIpLCBXZWJJbnNwZWN0b3Iuc2V0dGluZ3MuY2FjaGVEaXNhYmxlZCkpOworICAgIHAgPSB0
aGlzLl9hcHBlbmRTZWN0aW9uKFdlYkluc3BlY3Rvci5VSVN0cmluZygiVXNlciBBZ2VudCIpLCB0
cnVlKTsKICAgICBwLmFwcGVuZENoaWxkKHRoaXMuX2NyZWF0ZVVzZXJBY3Rpb25Db250cm9sKCkp
OworICAgIHAuYXBwZW5kQ2hpbGQodGhpcy5fY3JlYXRlQ2hlY2tib3hTZXR0aW5nKFdlYkluc3Bl
Y3Rvci5VSVN0cmluZygiRW11bGF0ZSB0b3VjaCBldmVudHMiKSwgV2ViSW5zcGVjdG9yLnNldHRp
bmdzLmVtdWxhdGVUb3VjaEV2ZW50cykpOwogCiAgICAgcCA9IHRoaXMuX2FwcGVuZFNlY3Rpb24o
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTY3JpcHRzIiksIHRydWUpOwogICAgIHAuYXBwZW5kQ2hp
bGQodGhpcy5fY3JlYXRlQ2hlY2tib3hTZXR0aW5nKFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2hv
dyBzY3JpcHQgZm9sZGVycyIpLCBXZWJJbnNwZWN0b3Iuc2V0dGluZ3Muc2hvd1NjcmlwdEZvbGRl
cnMpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125645</attachid>
            <date>2012-02-06 07:47:32 -0800</date>
            <delta_ts>2012-02-06 08:57:30 -0800</delta_ts>
            <desc>[PATCH] Efl build fixed</desc>
            <filename>bug-77096-20120206194730.patch</filename>
            <type>text/plain</type>
            <size>11178</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2Nzk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTM1OGYwYjJjZGVhMDBi
ZDJiYTEzYzBhZWQxOGUxOWRiMGFmNWY4MC4uYjg4MWY0ZmNkYjdlMDc5ODQxNDQ0Y2NmZDcxZWMw
NTQxZTUwYjkzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTAyLTAzICBBbGV4
YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogW01ldGFdIEFsbG93IGVtdWxhdGlvbiBvZiB0b3VjaCBldmVudHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDk2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyB0aGUgaW5zcGVjdG9y
IHBhcnQgb2YgdGhlIGNoYW5nZSwgY29yZSBwYXJ0IGltcGxlbWVudGF0aW9uIHRyYWNrZWQgaW4g
YnVnIDc3MTA1LgorCisgICAgICAgICogRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpz
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3IuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwOgorICAgICAgICAoRE9NQWdlbnRTdGF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6Y2xlYXJGcm9udGVuZCk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6cmVzdG9yZSk6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50Ojp1cGRhdGVUb3VjaEV2ZW50
RW11bGF0aW9uSW5Eb2N1bWVudHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdl
bnQ6OnNldFRvdWNoRW11bGF0aW9uRW5hYmxlZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3RvckRPTUFnZW50Lmg6CisgICAgICAgIChJbnNwZWN0b3JET01BZ2VudCk6CisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9ET01BZ2VudC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5E
T01BZ2VudC5wcm90b3R5cGUuX2NhcHR1cmVET00pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRP
TUFnZW50LnByb3RvdHlwZS5fZW11bGF0ZVRvdWNoRXZlbnRzQ2hhbmdlZCk6CisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5ncy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5T
ZXR0aW5ncyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5nc1NjcmVlbi5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TZXR0aW5nc1NjcmVlbik6CisKIDIwMTItMDItMDYg
IEFsbGFuIFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBub2tpYS5jb20+CiAKICAgICAg
ICAgRW5zdXJlIHRpbWVycyBhbmQgb3RoZXIgYWN0aXZlIERPTSBvYmplY3RzIGRvIG5vdCBmaXJl
IGluIHN1c3BlbmRlZCBkb2N1bWVudHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Fbmds
aXNoLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMgYi9Tb3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxw
cm9qL2xvY2FsaXplZFN0cmluZ3MuanMKaW5kZXggYjkxZTgwMWY3MmY3Y2FiZDM5NDYyNmVkZjEw
MjQ1MGZiZjMwNjRmMC4uNGQwZWQ0OTI3YWZhYzcxMTRjN2Q3Y2M4MmUxM2JkNzNiYzVjMzcyYyAx
MDA2NDQKR0lUIGJpbmFyeSBwYXRjaApkZWx0YSAxMDQKemNtYUVNZiN1Q2JtSk9RMGZ3PkgmM15A
I20zPyZTeTM8XkxwQUlNSzskTjtpYThPbmUtND03ZzVwdWBYaDZ0TStqCllCP2VhcHltfUBKNmRP
PGU4X0tvV0Z4ZDFlMDZhaCQ4dnA8UgoKZGVsdGEgMTQKV2NtYUVKaz4lTTFtSk9RMG83Vl4xVUlo
Ujt7UmVMVgoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3Iu
anNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgppbmRleCA3ZjBk
YzQ0ZDBjYjE2NDk5YTg1OGRiMmU0MTAyMThiYjI3MGVjZjY2Li4zMWU4ZDhhMTEwMmRiZWE4MmVi
MjkzNjAwZjNkNTNkN2NhMjU3NTcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ci5qc29uCkBAIC0xNTA4LDYgKzE1MDgsMTQgQEAKICAgICAgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJub2RlSWQiLCAiJHJlZiI6ICJOb2RlSWQiLCAiZGVzY3JpcHRpb24iOiAiTmV3IGlkIG9m
IHRoZSBtb3ZlZCBub2RlLiIgfQogICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAg
ImRlc2NyaXB0aW9uIjogIk1vdmVzIG5vZGUgaW50byB0aGUgbmV3IGNvbnRhaW5lciwgcGxhY2Vz
IGl0IGJlZm9yZSB0aGUgZ2l2ZW4gYW5jaG9yLiIKKyAgICAgICAgICAgIH0sCisgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgIm5hbWUiOiAic2V0VG91Y2hFbXVsYXRpb25FbmFibGVkIiwK
KyAgICAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKKyAgICAgICAgICAgICAgICAgICAgeyAi
bmFtZSI6ICJlbmFibGVkIiwgInR5cGUiOiAiYm9vbGVhbiIsICJkZXNjcmlwdGlvbiI6ICJXaGV0
aGVyIHRoZSB0b3VjaCBldmVudCBlbXVsYXRpb24gc2hvdWxkIGJlIGVuYWJsZWQuIiB9CisgICAg
ICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVG9nZ2xlcyBt
b3VzZSBldmVudC1iYXNlZCB0b3VjaCBldmVudCBlbXVsYXRpb24uIiwKKyAgICAgICAgICAgICAg
ICAiaGlkZGVuIjogdHJ1ZQogICAgICAgICAgICAgfQogICAgICAgICBdLAogICAgICAgICAiZXZl
bnRzIjogWwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRP
TUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5j
cHAKaW5kZXggYjQzMDdmOTM1ZDQ3N2YxMjgxMTVkODFkY2E3MjdmNDMwNDA0NGFhZS4uOGNjZDQ0
MWI4NDc0NTg1OGUzOWJjZmZlYWIzNTJkMzVlOGNmZDYwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCkBAIC03OCw2ICs3OCw3IEBACiAjaW5j
bHVkZSAiUmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlICJSZW5kZXJTdHlsZUNvbnN0YW50cy5oIgog
I2luY2x1ZGUgIlNjcmlwdEV2ZW50TGlzdGVuZXIuaCIKKyNpbmNsdWRlICJTZXR0aW5ncy5oIgog
I2luY2x1ZGUgIlN0eWxlUHJvcGVydHlTZXQuaCIKICNpbmNsdWRlICJTdHlsZVNoZWV0TGlzdC5o
IgogI2luY2x1ZGUgIlRleHQuaCIKQEAgLTk2LDYgKzk3LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogbmFtZXNwYWNlIERPTUFnZW50U3RhdGUgewogc3RhdGljIGNvbnN0IGNoYXIgZG9jdW1l
bnRSZXF1ZXN0ZWRbXSA9ICJkb2N1bWVudFJlcXVlc3RlZCI7CisKKyNpZiBFTkFCTEUoVE9VQ0hf
RVZFTlRTKQorc3RhdGljIGNvbnN0IGNoYXIgdG91Y2hFdmVudEVtdWxhdGlvbkVuYWJsZWRbXSA9
ICJ0b3VjaEV2ZW50RW11bGF0aW9uRW5hYmxlZCI7CisjZW5kaWYKIH07CiAKIHN0YXRpYyBjb25z
dCBzaXplX3QgbWF4VGV4dFNpemUgPSAxMDAwMDsKQEAgLTIxMyw2ICsyMTgsOSBAQCB2b2lkIElu
c3BlY3RvckRPTUFnZW50OjpjbGVhckZyb250ZW5kKCkKICAgICBtX2Zyb250ZW5kID0gMDsKICAg
ICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNldEluc3BlY3RvckRPTUFnZW50KDApOwogICAgIG1f
c3RhdGUtPnNldEJvb2xlYW4oRE9NQWdlbnRTdGF0ZTo6ZG9jdW1lbnRSZXF1ZXN0ZWQsIGZhbHNl
KTsKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorICAgIHVwZGF0ZVRvdWNoRXZlbnRFbXVsYXRp
b25JblBhZ2UoZmFsc2UpOworI2VuZGlmCiAgICAgcmVzZXQoKTsKIH0KIApAQCAtMjIxLDYgKzIy
OSw5IEBAIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnJlc3RvcmUoKQogICAgIC8vIFJlc2V0IGRv
Y3VtZW50IHRvIGF2b2lkIGVhcmx5IHJldHVybiBmcm9tIHNldERvY3VtZW50LgogICAgIG1fZG9j
dW1lbnQgPSAwOwogICAgIHNldERvY3VtZW50KG1fcGFnZUFnZW50LT5tYWluRnJhbWUoKS0+ZG9j
dW1lbnQoKSk7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICB1cGRhdGVUb3VjaEV2ZW50
RW11bGF0aW9uSW5QYWdlKG1fc3RhdGUtPmdldEJvb2xlYW4oRE9NQWdlbnRTdGF0ZTo6dG91Y2hF
dmVudEVtdWxhdGlvbkVuYWJsZWQpKTsKKyNlbmRpZgogfQogCiBWZWN0b3I8RG9jdW1lbnQqPiBJ
bnNwZWN0b3JET01BZ2VudDo6ZG9jdW1lbnRzKCkKQEAgLTM5MSw2ICs0MDIsMTQgQEAgdm9pZCBJ
bnNwZWN0b3JET01BZ2VudDo6ZGlzY2FyZEJpbmRpbmdzKCkKICAgICBtX2NoaWxkcmVuUmVxdWVz
dGVkLmNsZWFyKCk7CiB9CiAKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQordm9pZCBJbnNwZWN0
b3JET01BZ2VudDo6dXBkYXRlVG91Y2hFdmVudEVtdWxhdGlvbkluUGFnZShib29sIGVuYWJsZWQp
Cit7CisgICAgbV9zdGF0ZS0+c2V0Qm9vbGVhbihET01BZ2VudFN0YXRlOjp0b3VjaEV2ZW50RW11
bGF0aW9uRW5hYmxlZCwgZW5hYmxlZCk7CisgICAgbV9wYWdlQWdlbnQtPm1haW5GcmFtZSgpLT5z
ZXR0aW5ncygpLT5zZXRUb3VjaEV2ZW50RW11bGF0aW9uRW5hYmxlZChlbmFibGVkKTsKK30KKyNl
bmRpZgorCiBOb2RlKiBJbnNwZWN0b3JET01BZ2VudDo6bm9kZUZvcklkKGludCBpZCkKIHsKICAg
ICBpZiAoIWlkKQpAQCAtMTA0MSw2ICsxMDYwLDE5IEBAIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6
Om1vdmVUbyhFcnJvclN0cmluZyogZXJyb3IsIGludCBub2RlSWQsIGludCB0YXJnZXRFbGVtZW50
CiAgICAgKm5ld05vZGVJZCA9IHB1c2hOb2RlUGF0aFRvRnJvbnRlbmQobm9kZSk7CiB9CiAKK3Zv
aWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnNldFRvdWNoRW11bGF0aW9uRW5hYmxlZChFcnJvclN0cmlu
ZyogZXJyb3IsIGJvb2wgZW5hYmxlZCkKK3sKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorICAg
IGlmIChtX3N0YXRlLT5nZXRCb29sZWFuKERPTUFnZW50U3RhdGU6OnRvdWNoRXZlbnRFbXVsYXRp
b25FbmFibGVkKSA9PSBlbmFibGVkKQorICAgICAgICByZXR1cm47CisgICAgVU5VU0VEX1BBUkFN
KGVycm9yKTsKKyAgICB1cGRhdGVUb3VjaEV2ZW50RW11bGF0aW9uSW5QYWdlKGVuYWJsZWQpOwor
I2Vsc2UKKyAgICAqZXJyb3IgPSAiVG91Y2ggZXZlbnRzIGVtdWxhdGlvbiBub3Qgc3VwcG9ydGVk
IjsKKyAgICBVTlVTRURfUEFSQU0oZW5hYmxlZCk7CisjZW5kaWYKK30KKwogdm9pZCBJbnNwZWN0
b3JET01BZ2VudDo6cmVzb2x2ZU5vZGUoRXJyb3JTdHJpbmcqIGVycm9yLCBpbnQgbm9kZUlkLCBj
b25zdCBTdHJpbmcqIGNvbnN0IG9iamVjdEdyb3VwLCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiYg
cmVzdWx0KQogewogICAgIFN0cmluZyBvYmplY3RHcm91cE5hbWUgPSBvYmplY3RHcm91cCA/ICpv
YmplY3RHcm91cCA6ICIiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckRPTUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9N
QWdlbnQuaAppbmRleCA0M2QwODgxNGE4ZmQ5OWM1Mjk1ZTNlNzFhOGU2MGJhMmEzOTEwYzRkLi4y
NTlmZWY2NDNlMDU5MTA0OGRiOWZjOGUzNzYxYzhmNjJjN2IwM2QxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuaApAQCAtMTQyLDYgKzE0Miw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgaGlnaGxpZ2h0Tm9kZShFcnJvclN0cmluZyosIGludCBu
b2RlSWQsIGNvbnN0IFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+JiBoaWdobGlnaHRDb25maWcpOwog
ICAgIHZpcnR1YWwgdm9pZCBoaWdobGlnaHRGcmFtZShFcnJvclN0cmluZyosIGNvbnN0IFN0cmlu
ZyYgZnJhbWVJZCwgY29uc3QgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4qIGNvbG9yLCBjb25zdCBS
ZWZQdHI8SW5zcGVjdG9yT2JqZWN0Piogb3V0bGluZUNvbG9yKTsKICAgICB2aXJ0dWFsIHZvaWQg
bW92ZVRvKEVycm9yU3RyaW5nKiwgaW50IG5vZGVJZCwgaW50IHRhcmdldE5vZGVJZCwgY29uc3Qg
aW50KiBhbmNob3JOb2RlSWQsIGludCogbmV3Tm9kZUlkKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0
VG91Y2hFbXVsYXRpb25FbmFibGVkKEVycm9yU3RyaW5nKiwgYm9vbCk7CiAKICAgICBOb2RlKiBo
aWdobGlnaHRlZE5vZGUoKSBjb25zdDsKIApAQCAtMjE2LDYgKzIxNywxMCBAQCBwcml2YXRlOgog
CiAgICAgdm9pZCBkaXNjYXJkQmluZGluZ3MoKTsKIAorI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMp
CisgICAgdm9pZCB1cGRhdGVUb3VjaEV2ZW50RW11bGF0aW9uSW5QYWdlKGJvb2wpOworI2VuZGlm
CisKICAgICBJbnNwZWN0b3JQYWdlQWdlbnQqIG1fcGFnZUFnZW50OwogICAgIEluc3BlY3RvckNs
aWVudCogbV9jbGllbnQ7CiAgICAgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBtX2luamVjdGVkU2Ny
aXB0TWFuYWdlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvRE9NQWdlbnQuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTUFn
ZW50LmpzCmluZGV4IDkyNjIwNWIzNDdiM2NiNWE1YzFkMzEyZDFjMGFkNmExMGYzZDc1ODAuLjk5
OGI3MjZiOGEyMmU0ZDZhYmUwMjM0NWVkNzRkNDkyNWNlNzMxNjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRE9NQWdlbnQuanMKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9ET01BZ2VudC5qcwpAQCAtNjYyLDYgKzY2MiwxMCBA
QCBXZWJJbnNwZWN0b3IuRE9NQWdlbnQgPSBmdW5jdGlvbigpIHsKICAgICBJbnNwZWN0b3JCYWNr
ZW5kLnJlZ2lzdGVyRE9NRGlzcGF0Y2hlcihuZXcgV2ViSW5zcGVjdG9yLkRPTURpc3BhdGNoZXIo
dGhpcykpOwogICAgIGlmIChXZWJJbnNwZWN0b3IuZXhwZXJpbWVudHNTZXR0aW5ncy5mcmVlRmxv
d0RPTUVkaXRpbmcuaXNFbmFibGVkKCkpCiAgICAgICAgIG5ldyBXZWJJbnNwZWN0b3IuRE9NTW9k
ZWxSZXNvdXJjZUJpbmRpbmcodGhpcyk7CisKKyAgICBpZiAoV2ViSW5zcGVjdG9yLnNldHRpbmdz
LmVtdWxhdGVUb3VjaEV2ZW50cy5nZXQoKSkKKyAgICAgICAgdGhpcy5fZW11bGF0ZVRvdWNoRXZl
bnRzQ2hhbmdlZCgpOworICAgIFdlYkluc3BlY3Rvci5zZXR0aW5ncy5lbXVsYXRlVG91Y2hFdmVu
dHMuYWRkQ2hhbmdlTGlzdGVuZXIodGhpcy5fZW11bGF0ZVRvdWNoRXZlbnRzQ2hhbmdlZCwgdGhp
cyk7CiB9CiAKIFdlYkluc3BlY3Rvci5ET01BZ2VudC5FdmVudHMgPSB7CkBAIC0xMTU3LDYgKzEx
NjEsMTEgQEAgV2ViSW5zcGVjdG9yLkRPTUFnZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgfQog
ICAgICAgICBET01BZ2VudC5nZXRPdXRlckhUTUwobm9kZS5vd25lckRvY3VtZW50LmlkLCBjYWxs
YmFjayk7CiAgICAgICAgIAorICAgIH0sCisKKyAgICBfZW11bGF0ZVRvdWNoRXZlbnRzQ2hhbmdl
ZDogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgRE9NQWdlbnQuc2V0VG91Y2hFbXVsYXRpb25F
bmFibGVkKFdlYkluc3BlY3Rvci5zZXR0aW5ncy5lbXVsYXRlVG91Y2hFdmVudHMuZ2V0KCkpOwog
ICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9TZXR0aW5ncy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2V0dGlu
Z3MuanMKaW5kZXggMjNmMGNmYWE4NTJjM2UwMDc3ODE0ODMxZDJjZTQ0YjgxOGQzMjc2Ny4uNjhi
YzM4YjNhMmRiYzI5N2RjNDlhZWE0YjhhNTk2YjE5MDE5YWI1OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5ncy5qcworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NldHRpbmdzLmpzCkBAIC04OCw2ICs4OCw3IEBAIFdl
Ykluc3BlY3Rvci5TZXR0aW5ncyA9IGZ1bmN0aW9uKCkKICAgICB0aGlzLnVzZXJBZ2VudCA9IHRo
aXMuY3JlYXRlU2V0dGluZygidXNlckFnZW50IiwgIiIpOwogICAgIHRoaXMuc2hvd1NjcmlwdEZv
bGRlcnMgPSB0aGlzLmNyZWF0ZVNldHRpbmcoInNob3dTY3JpcHRGb2xkZXJzIiwgdHJ1ZSk7CiAg
ICAgdGhpcy5kb2NrVG9SaWdodCA9IHRoaXMuY3JlYXRlU2V0dGluZygiZG9ja1RvUmlnaHQiLCBm
YWxzZSk7CisgICAgdGhpcy5lbXVsYXRlVG91Y2hFdmVudHMgPSB0aGlzLmNyZWF0ZVNldHRpbmco
ImVtdWxhdGVUb3VjaEV2ZW50cyIsIGZhbHNlKTsKIAogICAgIC8vIElmIHRoZXJlIGFyZSB0b28g
bWFueSBicmVha3BvaW50cyBpbiBhIHN0b3JhZ2UsIGl0IGlzIGxpa2VseSBkdWUgdG8gYSByZWNl
bnQgYnVnIHRoYXQgY2F1c2VkCiAgICAgLy8gcGVyaW9kaWNhbCBicmVha3BvaW50cyBkdXBsaWNh
dGlvbiBsZWFkaW5nIHRvIGluc3BlY3RvciBzbG93bmVzcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2V0dGluZ3NTY3JlZW4uanMgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NldHRpbmdzU2NyZWVuLmpzCmluZGV4IDdiNzA2YTBh
MDE1MTg2NDM3NWQ0MjY3MWJmMmJlZWQ3MDE3NDI5ZmMuLjc1NTUwOWFjNTQ4MzBmZmY3NzdhNzhj
YmY5NTAyNjQ5ZWU2ZTMwNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvU2V0dGluZ3NTY3JlZW4uanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9TZXR0aW5nc1NjcmVlbi5qcwpAQCAtMzgsMTMgKzM4LDE3IEBAIFdlYkluc3Bl
Y3Rvci5TZXR0aW5nc1NjcmVlbiA9IGZ1bmN0aW9uKCkKIAogICAgIHRoaXMuX2xlZnRDb2x1bW5F
bGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKTsKICAgICB0aGlzLl9yaWdodENv
bHVtbkVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpOwotCi0gICAgaWYgKFBy
ZWZlcmVuY2VzLnNob3dEb2NrVG9SaWdodCkgewotICAgICAgICB2YXIgcCA9IHRoaXMuX2FwcGVu
ZFNlY3Rpb24oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJHZW5lcmFsIikpOwotICAgICAgICBwLmFw
cGVuZENoaWxkKHRoaXMuX2NyZWF0ZUNoZWNrYm94U2V0dGluZyhXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoIkRvY2sgdG8gcmlnaHQiKSwgV2ViSW5zcGVjdG9yLnNldHRpbmdzLmRvY2tUb1JpZ2h0KSk7
CisgICAgdmFyIHA7CisKKyAgICBpZiAoUHJlZmVyZW5jZXMuc2hvd0RvY2tUb1JpZ2h0IHx8IFBy
ZWZlcmVuY2VzLmV4cG9zZURpc2FibGVDYWNoZSkgeworICAgICAgICBwID0gdGhpcy5fYXBwZW5k
U2VjdGlvbihXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkdlbmVyYWwiKSk7CisgICAgICAgIGlmIChQ
cmVmZXJlbmNlcy5zaG93RG9ja1RvUmlnaHQpCisgICAgICAgICAgICBwLmFwcGVuZENoaWxkKHRo
aXMuX2NyZWF0ZUNoZWNrYm94U2V0dGluZyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkRvY2sgdG8g
cmlnaHQiKSwgV2ViSW5zcGVjdG9yLnNldHRpbmdzLmRvY2tUb1JpZ2h0KSk7CisgICAgICAgIGlm
IChQcmVmZXJlbmNlcy5leHBvc2VEaXNhYmxlQ2FjaGUpCisgICAgICAgICAgICBwLmFwcGVuZENo
aWxkKHRoaXMuX2NyZWF0ZUNoZWNrYm94U2V0dGluZyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkRp
c2FibGUgY2FjaGUiKSwgV2ViSW5zcGVjdG9yLnNldHRpbmdzLmNhY2hlRGlzYWJsZWQpKTsKICAg
ICB9CiAKLSAgICB2YXIgcCA9IHRoaXMuX2FwcGVuZFNlY3Rpb24oV2ViSW5zcGVjdG9yLlVJU3Ry
aW5nKCJFbGVtZW50cyIpKTsKKyAgICBwID0gdGhpcy5fYXBwZW5kU2VjdGlvbihXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIkVsZW1lbnRzIikpOwogICAgIHAuYXBwZW5kQ2hpbGQodGhpcy5fY3JlYXRl
Q2hlY2tib3hTZXR0aW5nKFdlYkluc3BlY3Rvci5VSVN0cmluZygiV29yZCB3cmFwIiksIFdlYklu
c3BlY3Rvci5zZXR0aW5ncy5kb21Xb3JkV3JhcCkpOwogCiAgICAgcCA9IHRoaXMuX2FwcGVuZFNl
Y3Rpb24oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTdHlsZXMiKSk7CkBAIC02MywxMCArNjcsOSBA
QCBXZWJJbnNwZWN0b3IuU2V0dGluZ3NTY3JlZW4gPSBmdW5jdGlvbigpCiAgICAgICAgICAgICBb
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiVGFiIGNoYXJhY3RlciIpLCBXZWJJbnNwZWN0b3IuVGV4
dEVkaXRvck1vZGVsLkluZGVudC5UYWJDaGFyYWN0ZXIgXQogICAgICAgICBdLCBXZWJJbnNwZWN0
b3Iuc2V0dGluZ3MudGV4dEVkaXRvckluZGVudCkpOwogCi0gICAgcCA9IHRoaXMuX2FwcGVuZFNl
Y3Rpb24oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJOZXR3b3JrIiksIHRydWUpOwotICAgIGlmIChQ
cmVmZXJlbmNlcy5leHBvc2VEaXNhYmxlQ2FjaGUpCi0gICAgICAgIHAuYXBwZW5kQ2hpbGQodGhp
cy5fY3JlYXRlQ2hlY2tib3hTZXR0aW5nKFdlYkluc3BlY3Rvci5VSVN0cmluZygiRGlzYWJsZSBj
YWNoZSIpLCBXZWJJbnNwZWN0b3Iuc2V0dGluZ3MuY2FjaGVEaXNhYmxlZCkpOworICAgIHAgPSB0
aGlzLl9hcHBlbmRTZWN0aW9uKFdlYkluc3BlY3Rvci5VSVN0cmluZygiVXNlciBBZ2VudCIpLCB0
cnVlKTsKICAgICBwLmFwcGVuZENoaWxkKHRoaXMuX2NyZWF0ZVVzZXJBY3Rpb25Db250cm9sKCkp
OworICAgIHAuYXBwZW5kQ2hpbGQodGhpcy5fY3JlYXRlQ2hlY2tib3hTZXR0aW5nKFdlYkluc3Bl
Y3Rvci5VSVN0cmluZygiRW11bGF0ZSB0b3VjaCBldmVudHMiKSwgV2ViSW5zcGVjdG9yLnNldHRp
bmdzLmVtdWxhdGVUb3VjaEV2ZW50cykpOwogCiAgICAgcCA9IHRoaXMuX2FwcGVuZFNlY3Rpb24o
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTY3JpcHRzIiksIHRydWUpOwogICAgIHAuYXBwZW5kQ2hp
bGQodGhpcy5fY3JlYXRlQ2hlY2tib3hTZXR0aW5nKFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2hv
dyBzY3JpcHQgZm9sZGVycyIpLCBXZWJJbnNwZWN0b3Iuc2V0dGluZ3Muc2hvd1NjcmlwdEZvbGRl
cnMpKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>