<?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>112308</bug_id>
          
          <creation_ts>2013-03-13 18:24:47 -0700</creation_ts>
          <short_desc>Add runtime setting for hidden page DOM timer throttling and CSS animation suspension</short_desc>
          <delta_ts>2020-01-31 08:18:15 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=207042</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>112323</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kiran Muppala">cmuppala</reporter>
          <assigned_to name="Kiran Muppala">cmuppala</assigned_to>
          <cc>andersca</cc>
    
    <cc>barraclough</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>dstockwell</cc>
    
    <cc>noel.gordon</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-ews</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>854844</commentid>
    <comment_count>0</comment_count>
    <who name="Kiran Muppala">cmuppala</who>
    <bug_when>2013-03-13 18:24:47 -0700</bug_when>
    <thetext>https://bugs.webkit.org/show_bug.cgi?id=98474 added a feature define, HIDDEN_PAGE_DOM_TIMER_THROTTLING, to enable throttling of Javascript timers when the visibility state of a page is set to &quot;Hidden&quot;.  Later https://bugs.webkit.org/show_bug.cgi?id=106940 added logic to suspend CSS animations for &quot;Hidden&quot; pages.  These two features can break rendering of off screen web views, particularly Javascript timer throttling.  Hence it is preferable to add a setting for these features.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854845</commentid>
    <comment_count>1</comment_count>
    <who name="Kiran Muppala">cmuppala</who>
    <bug_when>2013-03-13 18:25:55 -0700</bug_when>
    <thetext>&lt;rdar://problem/13337564&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854873</commentid>
    <comment_count>2</comment_count>
    <who name="Kiran Muppala">cmuppala</who>
    <bug_when>2013-03-13 19:35:02 -0700</bug_when>
    <thetext>The settings should be disabled by default to minimize compatibility issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854878</commentid>
    <comment_count>3</comment_count>
      <attachid>193040</attachid>
    <who name="Kiran Muppala">cmuppala</who>
    <bug_when>2013-03-13 19:43:49 -0700</bug_when>
    <thetext>Created attachment 193040
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854885</commentid>
    <comment_count>4</comment_count>
      <attachid>193040</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-03-13 19:51:31 -0700</bug_when>
    <thetext>Comment on attachment 193040
Patch

Attachment 193040 did not pass qt-wk2-ews (qt):
Output: http://webkit-commit-queue.appspot.com/results/17166388</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854901</commentid>
    <comment_count>5</comment_count>
      <attachid>193040</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-03-13 20:15:09 -0700</bug_when>
    <thetext>Comment on attachment 193040
Patch

Attachment 193040 did not pass efl-ews (efl):
Output: http://webkit-commit-queue.appspot.com/results/17133130</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854904</commentid>
    <comment_count>6</comment_count>
      <attachid>193051</attachid>
    <who name="Kiran Muppala">cmuppala</who>
    <bug_when>2013-03-13 20:19:38 -0700</bug_when>
    <thetext>Created attachment 193051
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855491</commentid>
    <comment_count>7</comment_count>
    <who name="Kiran Muppala">cmuppala</who>
    <bug_when>2013-03-14 14:40:24 -0700</bug_when>
    <thetext>On further discussion with Maciej, it was decided that this setting should be enabled by default in WebKit2, since compatibility is less of a issue there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855494</commentid>
    <comment_count>8</comment_count>
      <attachid>193185</attachid>
    <who name="Kiran Muppala">cmuppala</who>
    <bug_when>2013-03-14 14:41:22 -0700</bug_when>
    <thetext>Created attachment 193185
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855495</commentid>
    <comment_count>9</comment_count>
    <who name="Kiran Muppala">cmuppala</who>
    <bug_when>2013-03-14 14:42:56 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Created an attachment (id=193185) [details]
&gt; Patch

Updated patch to make the settings default to false in WebKit1 and true in WebKit2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856506</commentid>
    <comment_count>10</comment_count>
      <attachid>193422</attachid>
    <who name="Kiran Muppala">cmuppala</who>
    <bug_when>2013-03-15 21:42:29 -0700</bug_when>
    <thetext>Created attachment 193422
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856507</commentid>
    <comment_count>11</comment_count>
    <who name="Kiran Muppala">cmuppala</who>
    <bug_when>2013-03-15 21:43:11 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Created an attachment (id=193422) [details]
&gt; Patch

Modified patch to only enable by default on Mac.  Since WebKit2 might be a public API on other platforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860075</commentid>
    <comment_count>12</comment_count>
      <attachid>193422</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2013-03-20 23:49:41 -0700</bug_when>
    <thetext>Comment on attachment 193422
Patch

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

&gt; Source/WebCore/page/Page.cpp:1453
&gt; +#if ENABLE(PAGE_VISIBILITY_API)

Why this #ifdef? – setVisibilityState is compiled in if ENABLE(HIDDEN_PAGE_DOM_TIMER_THROTTLING) and not ENABLE(PAGE_VISIBILITY_API) is defined, &quot;setTimerAlignmentInterval(Settings::hiddenPageDOMTimerAlignmentInterval());&quot; may have been called (line 1239/1240).

&gt; Source/WebCore/page/Page.cpp:1458
&gt; +        setTimerAlignmentInterval(Settings::defaultDOMTimerAlignmentInterval());

This will unnecessarily reset the timer interval where m_visibilityState != WebCore::PageVisibilityStateHidden.  Could this not be more like hiddenPageCSSAnimationSuspensionStateChanged, below?

#if ENABLE(HIDDEN_PAGE_DOM_TIMER_THROTTLING)
void Page::hiddenPageDOMTimerThrottlingStateChanged()
{
    if (m_visibilityState == WebCore::PageVisibilityStateHidden) {
        if (m_settings-&gt;hiddenPageDOMTimerThrottlingEnabled())
            setTimerAlignmentInterval(Settings::hiddenPageDOMTimerAlignmentInterval());
        else
            setTimerAlignmentInterval(Settings::defaultDOMTimerAlignmentInterval());
    }
}
#endif</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860084</commentid>
    <comment_count>13</comment_count>
    <who name="Kiran Muppala">cmuppala</who>
    <bug_when>2013-03-21 00:04:56 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 193422 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=193422&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/Page.cpp:1453
&gt; &gt; +#if ENABLE(PAGE_VISIBILITY_API)
&gt; 
&gt; Why this #ifdef? – setVisibilityState is compiled in if ENABLE(HIDDEN_PAGE_DOM_TIMER_THROTTLING) and not ENABLE(PAGE_VISIBILITY_API) is defined, &quot;setTimerAlignmentInterval(Settings::hiddenPageDOMTimerAlignmentInterval());&quot; may have been called (line 1239/1240).
&gt; 
&gt; &gt; Source/WebCore/page/Page.cpp:1458
&gt; &gt; +        setTimerAlignmentInterval(Settings::defaultDOMTimerAlignmentInterval());
&gt; 
&gt; This will unnecessarily reset the timer interval where m_visibilityState != WebCore::PageVisibilityStateHidden.  Could this not be more like hiddenPageCSSAnimationSuspensionStateChanged, below?
&gt; 

HIDDEN_PAGE_DOM_TIMER_THROTTLING doesn&apos;t compile in m_visibilityState needed to remember the last set value.  Only PAGE_VISIBILITY_API does that.  On Mac, this is not a concern because we enable both.  And I have a separate bug https://bugs.webkit.org/show_bug.cgi?id=112323, to remove HIDDEN_PAGE_DOM_TIMER_THROTTLING entirely and just use PAGE_VISIBILITY_API.  Then the code will match CSS animation suspension.

&gt; #if ENABLE(HIDDEN_PAGE_DOM_TIMER_THROTTLING)
&gt; void Page::hiddenPageDOMTimerThrottlingStateChanged()
&gt; {
&gt;     if (m_visibilityState == WebCore::PageVisibilityStateHidden) {
&gt;         if (m_settings-&gt;hiddenPageDOMTimerThrottlingEnabled())
&gt;             setTimerAlignmentInterval(Settings::hiddenPageDOMTimerAlignmentInterval());
&gt;         else
&gt;             setTimerAlignmentInterval(Settings::defaultDOMTimerAlignmentInterval());
&gt;     }
&gt; }
&gt; #endif</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860115</commentid>
    <comment_count>14</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2013-03-21 00:51:39 -0700</bug_when>
    <thetext>r is me.

It&apos;s a bit gross that we can forget the state we&apos;re in, but I guess this is at least conservative in favouring the default timeout.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>862082</commentid>
    <comment_count>15</comment_count>
    <who name="Kiran Muppala">cmuppala</who>
    <bug_when>2013-03-22 19:21:43 -0700</bug_when>
    <thetext>Committed r146704: &lt;http://trac.webkit.org/changeset/146704&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>862371</commentid>
    <comment_count>16</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2013-03-24 08:50:21 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; Committed r146704: &lt;http://trac.webkit.org/changeset/146704&gt;

Build fix in &lt;http://trac.webkit.org/r146729&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>862392</commentid>
    <comment_count>17</comment_count>
    <who name="Kiran Muppala">cmuppala</who>
    <bug_when>2013-03-24 11:40:58 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; (In reply to comment #15)
&gt; &gt; Committed r146704: &lt;http://trac.webkit.org/changeset/146704&gt;
&gt; 
&gt; Build fix in &lt;http://trac.webkit.org/r146729&gt;

I missed that, EWS wasn&apos;t of help.  Thanks for the fix.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193040</attachid>
            <date>2013-03-13 19:43:49 -0700</date>
            <delta_ts>2013-03-13 20:19:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112308-20130313193946.patch</filename>
            <type>text/plain</type>
            <size>23442</size>
            <attacher name="Kiran Muppala">cmuppala</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1NTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2Q4ZWEyODIyMzU3Njdj
MTFkM2Y3NzBlNDkxNDJmZDViNzlhNGZlOC4uMjFhNGU5ZDUxNDEyMmE3MzIxMzU4NzRiZjY0ZGQ2
OGNmNDg4ZDQwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEzLTAzLTEzICBLaXJh
biBNdXBwYWxhICA8Y211cHBhbGFAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBydW50aW1lIHNl
dHRpbmcgZm9yIGhpZGRlbiBwYWdlIERPTSB0aW1lciB0aHJvdHRsaW5nIGFuZCBDU1MgYW5pbWF0
aW9uIHN1c3BlbnNpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExMjMwOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE5vIG5ldyB0ZXN0cy4gIE9ubHkgYWRkaW5nIHNldHRpbmdzIHRvIGVuYWJsZS9kaXNh
YmxlIGV4aXN0aW5nIGZlYXR1cmVzCisgICAgICAgIGFuZCBoZW5jZSBleGlzdGluZyB0ZXN0cyBz
dWZmaWNlLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogcGFnZS9QYWdl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnNldFZpc2liaWxpdHlTdGF0ZSk6IENoZWNr
IGlmIERPTSB0aW1lciB0aHJvdHRsaW5nCisgICAgICAgIGFuZCBDU1MgYW5pbWF0aW9uIHN1c3Bl
bnNpb24gYXJlIGVuYWJsZWQgYmVmb3JlIHR1cm5pbmcgdGhlbSBvbi4KKyAgICAgICAgKFdlYkNv
cmU6OlBhZ2U6OmhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdTdGF0ZUNoYW5nZWQpOiBTdGFy
dCBvciBzdG9wCisgICAgICAgIERPTSB0aW1lciB0aHJvdHRsaW5nIGJhc2VkIG9uIHBhZ2Ugdmlz
aWJpbGl0eSBhbmQgdGhlIG5ldyBzZXR0aW5nIHN0YXRlLgorICAgICAgICAoV2ViQ29yZTo6UGFn
ZTo6aGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25TdGF0ZUNoYW5nZWQpOiBEaXR0bwor
ICAgICAgICBmb3IgQ1NTIGFuaW1hdGlvbiBzdXNwZW5zaW9uLgorICAgICAgICAqIHBhZ2UvUGFn
ZS5oOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2V0
dGluZ3M6OlNldHRpbmdzKTogSW5pdGlhbGl6ZSB0aGUgZmxhZ3MgZm9yIGVuYWJsaW5nIGhpZGRl
bgorICAgICAgICBwYWdlIERPTSB0aW1lciB0aHJvdHRsaW5nIGFuZCBDU1MgYW5pbWF0aW9uIHN1
c3BlbnNpb24gdG8gZmFsc2UuCisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0SGlkZGVu
UGFnZURPTVRpbWVyVGhyb3R0bGluZ0VuYWJsZWQpOiBVcGRhdGUgZmxhZworICAgICAgICBhbmQg
bm90aWZ5IHBhZ2UgdGhhdCB0aGUgc3RhdGUgb2YgdGhlIHNldHRpbmcgaGFzIGNoYW5nZWQuCisg
ICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0SGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3Bl
bnNpb25FbmFibGVkKTogRGl0dG8uCisgICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAg
ICAoV2ViQ29yZTo6U2V0dGluZ3M6OmhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVk
KToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpoaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3Vz
cGVuc2lvbkVuYWJsZWQpOgorCiAyMDEzLTAzLTEyICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZp
ZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTQ1
NTU0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDk0MThlNTFkNzM1NTdjM2M1ZGZkNjA0NTI2ZjU5NGE4
OTYzYWRiYTguLjIxYjQ2MThlMWI4YzRmMmVhNjI4ZGU2MjljNTY0NTlmNzJlYzU5ZjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxMy0wMy0xMyAgS2lyYW4gTXVwcGFsYSAg
PGNtdXBwYWxhQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgcnVudGltZSBzZXR0aW5nIGZvciBo
aWRkZW4gcGFnZSBET00gdGltZXIgdGhyb3R0bGluZyBhbmQgQ1NTIGFuaW1hdGlvbiBzdXNwZW5z
aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTIz
MDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQg
cHJpdmF0ZSBwcmVmZXJlbmNlIGZvciBlbmFibGluZy9kaXNhYmxpbmcgaGlkZGVuIHBhZ2UgRE9N
IHRpbWVyCisgICAgICAgIHRocm90dGxpbmcgYW5kIENTUyBhbmltYXRpb24gc3VzcGVuc2lvbi4K
KworICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAg
ICogV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbToKKyAgICAgICAgKCtbV2ViUHJlZmVyZW5jZXMg
aW5pdGlhbGl6ZV0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBoaWRkZW5QYWdlRE9NVGlt
ZXJUaHJvdHRsaW5nRW5hYmxlZF0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRIaWRk
ZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZDpdKToKKyAgICAgICAgKC1bV2ViUHJlZmVy
ZW5jZXMgaGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkXSk6CisgICAgICAg
ICgtW1dlYlByZWZlcmVuY2VzIHNldEhpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5h
YmxlZDpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAg
ICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5j
ZXNDaGFuZ2VkOl0pOgorCiAyMDEzLTAzLTEyICBBYmhpc2hlayBBcnlhICA8aW5mZXJub0BjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgUmVwbGFjZSBzdGF0aWNfY2FzdHMgd2l0aCB0byogZnVuY3Rp
b25zLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCmluZGV4IDljODUxZmE0NTcwMmQ5YWVmZTU0Mjc4ODdmOTM5ZTQ0YjQ3ZjZl
ZmYuLjZkOWNkZGY1NWQ0MmMyMjQ4NzRmZGFmNTZiNDY5MWRhYmVjNGU4OGYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyNiBAQAorMjAxMy0wMy0xMyAgS2lyYW4gTXVwcGFsYSAgPGNtdXBwYWxhQGFw
cGxlLmNvbT4KKworICAgICAgICBBZGQgcnVudGltZSBzZXR0aW5nIGZvciBoaWRkZW4gcGFnZSBE
T00gdGltZXIgdGhyb3R0bGluZyBhbmQgQ1NTIGFuaW1hdGlvbiBzdXNwZW5zaW9uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTIzMDgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgcHJpdmF0ZSBwcmVm
ZXJlbmNlIGZvciBlbmFibGluZy9kaXNhYmxpbmcgaGlkZGVuIHBhZ2UgRE9NIHRpbWVyCisgICAg
ICAgIHRocm90dGxpbmcgYW5kIENTUyBhbmltYXRpb24gc3VzcGVuc2lvbi4KKworICAgICAgICAq
IFNoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
L1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQcmVmZXJlbmNlc1NldEhpZGRlblBhZ2VE
T01UaW1lclRocm90dGxpbmdFbmFibGVkKToKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNHZXRIaWRk
ZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2Vz
U2V0SGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkKToKKyAgICAgICAgKFdL
UHJlZmVyZW5jZXNHZXRIaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6b3ZlcnJpZGVCb29sUHJlZmVyZW5jZUZvclRlc3RS
dW5uZXIpOiBBbGxvdworICAgICAgICBXZWJLaXRUZXN0UnVubmVyIHRvIG92ZXJyaWRlIGhpZGRl
blBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dXBkYXRlUHJlZmVy
ZW5jZXMpOgorCiAyMDEzLTAzLTEyICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNv
bT4KIAogICAgICAgICBbR1RLXSBSZW1vdmUgSElMRE9OX0NQUEZMQUdTIGFuZCBISUxET05fQ0ZM
QUdTIHJlZmVyZW5jZXMgZnJvbSBHTlVtYWtlZmlsZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXgg
YzdiNDRhZGU5MzgzNzBlZDAxMjAyYmVkN2I1NmQ2NGNkYmNkMGFiNC4uMWQ0YmZlOTQ4NThjOWU4
NzViNjUxNDNmMDM4YzMzYzYxZTVhMDdhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTEwMzcs
NiArMTAzNyw4IEBAIF9fWk43V2ViQ29yZThTZXR0aW5nczMyc2V0TmVlZHNBZG9iZUZyYW1lUmVs
b2FkaW5nUXVpcmtFYgogX19aTjdXZWJDb3JlOFNldHRpbmdzMzJzZXRTY3JlZW5Gb250U3Vic3Rp
dHV0aW9uRW5hYmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MzM3NldEFnZ3Jlc3NpdmVUaWxl
UmV0ZW50aW9uRW5hYmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MzN3NldFNjcm9sbGluZ1Bl
cmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWRFYgorX19aTjdXZWJDb3JlOFNldHRpbmdzMzhzZXRIaWRk
ZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZEViCitfX1pON1dlYkNvcmU4U2V0dGluZ3M0
MnNldEhpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZEViCiBfX1pON1dlYkNv
cmU4U2V0dGluZ3M0NXNldFNob3VsZFJlc3BlY3RQcmlvcml0eUluQ1NTQXR0cmlidXRlU2V0dGVy
c0ViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMXNldFJlc29sdXRpb25PdmVycmlkZUVSS05TXzdJ
bnRTaXplRQogX19aTjdXZWJDb3JlOFNldHRpbmdzMjBzZXRNZWRpYVR5cGVPdmVycmlkZUVSS04z
V1RGNlN0cmluZ0UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IDIyZjMxMmZjMzllOTQwOTM1OWFiOGNm
YjRhMzQ0MGFmZTEyMDI3MzIuLjU5ZDg1NDdkMzdiY2VhNjE1OWJjMTEzMjFiYmFiZWVjZjFhMDAy
YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMTIzNiwxNCArMTIzNiwxOCBAQCB2b2lkIFBhZ2U6
OnNldFZpc2liaWxpdHlTdGF0ZShQYWdlVmlzaWJpbGl0eVN0YXRlIHZpc2liaWxpdHlTdGF0ZSwg
Ym9vbCBpc0luaXRpYQogCiAgICAgaWYgKHZpc2liaWxpdHlTdGF0ZSA9PSBXZWJDb3JlOjpQYWdl
VmlzaWJpbGl0eVN0YXRlSGlkZGVuKSB7CiAjaWYgRU5BQkxFKEhJRERFTl9QQUdFX0RPTV9USU1F
Ul9USFJPVFRMSU5HKQotICAgICAgICBzZXRUaW1lckFsaWdubWVudEludGVydmFsKFNldHRpbmdz
OjpoaWRkZW5QYWdlRE9NVGltZXJBbGlnbm1lbnRJbnRlcnZhbCgpKTsKKyAgICAgICAgaWYgKG1f
c2V0dGluZ3MtPmhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkKCkpCisgICAgICAg
ICAgICBzZXRUaW1lckFsaWdubWVudEludGVydmFsKFNldHRpbmdzOjpoaWRkZW5QYWdlRE9NVGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbCgpKTsKICNlbmRpZgotICAgICAgICBtYWluRnJhbWUoKS0+YW5p
bWF0aW9uKCktPnN1c3BlbmRBbmltYXRpb25zKCk7CisgICAgICAgIGlmIChtX3NldHRpbmdzLT5o
aWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQoKSkKKyAgICAgICAgICAgIG1h
aW5GcmFtZSgpLT5hbmltYXRpb24oKS0+c3VzcGVuZEFuaW1hdGlvbnMoKTsKICAgICB9IGVsc2Ug
ewogI2lmIEVOQUJMRShISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykKLSAgICAgICAg
c2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbChTZXR0aW5nczo6ZGVmYXVsdERPTVRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWwoKSk7CisgICAgICAgIGlmIChtX3NldHRpbmdzLT5oaWRkZW5QYWdlRE9NVGlt
ZXJUaHJvdHRsaW5nRW5hYmxlZCgpKQorICAgICAgICAgICAgc2V0VGltZXJBbGlnbm1lbnRJbnRl
cnZhbChTZXR0aW5nczo6ZGVmYXVsdERPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKSk7CiAjZW5k
aWYKLSAgICAgICAgbWFpbkZyYW1lKCktPmFuaW1hdGlvbigpLT5yZXN1bWVBbmltYXRpb25zKCk7
CisgICAgICAgIGlmIChtX3NldHRpbmdzLT5oaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lv
bkVuYWJsZWQoKSkKKyAgICAgICAgICAgIG1haW5GcmFtZSgpLT5hbmltYXRpb24oKS0+cmVzdW1l
QW5pbWF0aW9ucygpOwogICAgIH0KICNpZiAhRU5BQkxFKFBBR0VfVklTSUJJTElUWV9BUEkpCiAg
ICAgVU5VU0VEX1BBUkFNKGlzSW5pdGlhbFN0YXRlKTsKQEAgLTE0NDIsNiArMTQ0NiwzMSBAQCB2
b2lkIFBhZ2U6OnJlc2V0U2Vlbk1lZGlhRW5naW5lcygpCiAgICAgbV9zZWVuTWVkaWFFbmdpbmVz
LmNsZWFyKCk7CiB9CiAKKyNpZiBFTkFCTEUoSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJ
TkcpCit2b2lkIFBhZ2U6OmhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdTdGF0ZUNoYW5nZWQo
KQoreworICAgIGlmIChtX3NldHRpbmdzLT5oaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5h
YmxlZCgpKSB7CisjaWYgRU5BQkxFKFBBR0VfVklTSUJJTElUWV9BUEkpCisgICAgICAgIGlmICht
X3Zpc2liaWxpdHlTdGF0ZSA9PSBXZWJDb3JlOjpQYWdlVmlzaWJpbGl0eVN0YXRlSGlkZGVuKQor
ICAgICAgICAgICAgc2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbChTZXR0aW5nczo6aGlkZGVuUGFn
ZURPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKSk7CisjZW5kaWYKKyAgICB9IGVsc2UKKyAgICAg
ICAgc2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbChTZXR0aW5nczo6ZGVmYXVsdERPTVRpbWVyQWxp
Z25tZW50SW50ZXJ2YWwoKSk7Cit9CisjZW5kaWYKKworI2lmIChFTkFCTEVfUEFHRV9WSVNJQklM
SVRZX0FQSSkKK3ZvaWQgUGFnZTo6aGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25TdGF0
ZUNoYW5nZWQoKQoreworICAgIGlmIChtX3Zpc2liaWxpdHlTdGF0ZSA9PSBXZWJDb3JlOjpQYWdl
VmlzaWJpbGl0eVN0YXRlSGlkZGVuKSB7CisgICAgICAgIGlmIChtX3NldHRpbmdzLT5oaWRkZW5Q
YWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQoKSkKKyAgICAgICAgICAgIG1haW5GcmFt
ZSgpLT5hbmltYXRpb24oKS0+c3VzcGVuZEFuaW1hdGlvbnMoKTsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgbWFpbkZyYW1lKCktPmFuaW1hdGlvbigpLT5yZXN1bWVBbmltYXRpb25zKCk7Cisg
ICAgfQorfQorI2VuZGlmCisKIHZvaWQgUGFnZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2Jq
ZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8g
aW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OlBhZ2UpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuaAppbmRleCA5OTkxNWEwOWJjNWU3ZjQwNjVmZWVmOWU2YjQxYTQ0MGM4NWI0NTll
Li5kMzgxNWRkMDc4YjhjOGExMmM1ODhhMWRhMDIxYmI3NzE5MzQwOWY4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
aApAQCAtMzc4LDYgKzM3OCwxMyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzYXdNZWRpYUVuZ2luZShj
b25zdCBTdHJpbmcmIGVuZ2luZU5hbWUpOwogICAgIHZvaWQgcmVzZXRTZWVuTWVkaWFFbmdpbmVz
KCk7CiAKKyNpZiBFTkFCTEUoSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpCisgICAg
dm9pZCBoaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nU3RhdGVDaGFuZ2VkKCk7CisjZW5kaWYK
KyNpZiBFTkFCTEUoUEFHRV9WSVNJQklMSVRZX0FQSSkKKyAgICB2b2lkIGhpZGRlblBhZ2VDU1NB
bmltYXRpb25TdXNwZW5zaW9uU3RhdGVDaGFuZ2VkKCk7CisjZW5kaWYKKwogICAgIHZvaWQgcmVw
b3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyopIGNvbnN0OwogCiBwcml2YXRlOgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmNwcAppbmRleCBhM2JjZGRiNzYwMjFlMmM2ZWQ3OGQ2NDg0ZjNkNmVk
NjJjMWM4ZTBmLi42MmFlYjJlY2Q4MThiNDQxYjVlY2FhZTIwNTc1MDVkZGVmNzYzYzU3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmNwcApAQCAtMTg2LDYgKzE4NiwxMiBAQCBTZXR0aW5nczo6U2V0
dGluZ3MoUGFnZSogcGFnZSkKICAgICAsIG1fYWdncmVzc2l2ZVRpbGVSZXRlbnRpb25FbmFibGVk
KGZhbHNlKQogICAgICwgbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250
cm9scygzKQogICAgICwgbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyKHRoaXMsICZTZXR0
aW5nczo6aW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lckZpcmVkKQorI2lmIEVOQUJMRShISURERU5f
UEFHRV9ET01fVElNRVJfVEhST1RUTElORykKKyAgICAsIG1faGlkZGVuUGFnZURPTVRpbWVyVGhy
b3R0bGluZ0VuYWJsZWQoZmFsc2UpCisjZW5kaWYKKyNpZiBFTkFCTEUoUEFHRV9WSVNJQklMSVRZ
X0FQSSkKKyAgICAsIG1faGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkKGZh
bHNlKQorI2VuZGlmCiB7CiAgICAgLy8gQSBGcmFtZSBtYXkgbm90IGhhdmUgYmVlbiBjcmVhdGVk
IHlldCwgc28gd2UgaW5pdGlhbGl6ZSB0aGUgQXRvbWljU3RyaW5nCiAgICAgLy8gaGFzaCBiZWZv
cmUgdHJ5aW5nIHRvIHVzZSBpdC4KQEAgLTYwMiw0ICs2MDgsMjQgQEAgYm9vbCBTZXR0aW5nczo6
c2hvdWxkUmVzcGVjdFByaW9yaXR5SW5DU1NBdHRyaWJ1dGVTZXR0ZXJzKCkKIH0KICNlbmRpZgog
CisjaWYgRU5BQkxFKEhJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKQordm9pZCBTZXR0
aW5nczo6c2V0SGlkZGVuUGFnZURPTVRpbWVyVGhyb3R0bGluZ0VuYWJsZWQoYm9vbCBmbGFnKQor
eworICAgIGlmIChtX2hpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkID09IGZsYWcp
CisgICAgICAgIHJldHVybjsKKyAgICBtX2hpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFi
bGVkID0gZmxhZzsKKyAgICBtX3BhZ2UtPmhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdTdGF0
ZUNoYW5nZWQoKTsKK30KKyNlbmRpZgorCisjaWYgRU5BQkxFKFBBR0VfVklTSUJJTElUWV9BUEkp
Cit2b2lkIFNldHRpbmdzOjpzZXRIaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJs
ZWQoYm9vbCBmbGFnKQoreworICAgIGlmIChtX2hpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5z
aW9uRW5hYmxlZCA9PSBmbGFnKQorICAgICAgICByZXR1cm47CisgICAgbV9oaWRkZW5QYWdlQ1NT
QW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQgPSBmbGFnOworICAgIG1fcGFnZS0+aGlkZGVuUGFn
ZUNTU0FuaW1hdGlvblN1c3BlbnNpb25TdGF0ZUNoYW5nZWQoKTsKK30KKyNlbmRpZgorCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRp
bmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggNGNkZWU1MzVjYWE1
MGVlOTBkZjU2MDRkMTA5NDNlYmY5Y2FjZjZmOC4uNjVjMjE3YWM1ZGJhMDdjZjNlNTU4M2JhM2Nj
Njg3OTJkYTA1YjgxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaApAQCAtMTgwLDYgKzE4MCwxMSBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgc2V0RE9NVGltZXJBbGlnbm1lbnRJ
bnRlcnZhbChkb3VibGUpOwogICAgICAgICBkb3VibGUgZG9tVGltZXJBbGlnbm1lbnRJbnRlcnZh
bCgpIGNvbnN0OwogCisjaWYgRU5BQkxFKEhJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5H
KQorICAgICAgICBib29sIGhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkKCkgY29u
c3QgeyByZXR1cm4gbV9oaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZDsgfQorICAg
ICAgICB2b2lkIHNldEhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkKGJvb2wpOwor
I2VuZGlmCisKICAgICAgICAgdm9pZCBzZXRVc2VzUGFnZUNhY2hlKGJvb2wpOwogICAgICAgICBi
b29sIHVzZXNQYWdlQ2FjaGUoKSBjb25zdCB7IHJldHVybiBtX3VzZXNQYWdlQ2FjaGU7IH0KICAg
ICAgICAgCkBAIC0yNjcsNiArMjcyLDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
dm9pZCBzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyhkb3Vi
bGUgdGltZSkgeyBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xz
ID0gdGltZTsgfQogICAgICAgICBkb3VibGUgdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3Jl
SGlkaW5nQ29udHJvbHMoKSBjb25zdCB7IHJldHVybiBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVu
dEJlZm9yZUhpZGluZ0NvbnRyb2xzOyB9CiAKKyNpZiBFTkFCTEUoUEFHRV9WSVNJQklMSVRZX0FQ
SSkKKyAgICAgICAgYm9vbCBoaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQo
KSBjb25zdCB7IHJldHVybiBtX2hpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxl
ZDsgfQorICAgICAgICB2b2lkIHNldEhpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5h
YmxlZChib29sKTsKKyNlbmRpZgorCiAgICAgcHJpdmF0ZToKICAgICAgICAgZXhwbGljaXQgU2V0
dGluZ3MoUGFnZSopOwogCkBAIC0zMjgsNiArMzM4LDEzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgVGltZXI8U2V0dGluZ3M+IG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lcjsK
ICAgICAgICAgdm9pZCBpbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyRmlyZWQoVGltZXI8U2V0dGlu
Z3M+Kik7CiAKKyNpZiBFTkFCTEUoSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpCisg
ICAgICAgIGJvb2wgbV9oaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZCA6IDE7Cisj
ZW5kaWYKKyNpZiBFTkFCTEUoUEFHRV9WSVNJQklMSVRZX0FQSSkKKyAgICAgICAgYm9vbCBtX2hp
ZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZCA6IDE7CisjZW5kaWYKKwogICAg
ICAgICBzdGF0aWMgZG91YmxlIGdEZWZhdWx0TWluRE9NVGltZXJJbnRlcnZhbDsKICAgICAgICAg
c3RhdGljIGRvdWJsZSBnRGVmYXVsdERPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWw7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRl
LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5o
CmluZGV4IDRlNjU4ODQ0OThlYjMyNjEyOGVkYWJkYzIwNjg1YTZmZDFlNjEwNjkuLjhjNTA5ZDNj
NzQzMmQ3MTM0OTZmNzEwZGFlZjhkOWRlODhhMjAyNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaApAQCAtMTMwLDYgKzEz
MCw4IEBACiAjZGVmaW5lIFdlYktpdFN0b3JhZ2VCbG9ja2luZ1BvbGljeUtleSBAIldlYktpdFN0
b3JhZ2VCbG9ja2luZ1BvbGljeSIKICNkZWZpbmUgV2ViS2l0UGx1Z0luU25hcHNob3R0aW5nRW5h
YmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRQbHVnSW5TbmFwc2hvdHRpbmdFbmFibGVkIgogI2Rl
ZmluZSBXZWJLaXRRVEtpdEVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0UVRLaXRFbmFibGVk
IgorI2RlZmluZSBXZWJLaXRIaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZFByZWZl
cmVuY2VLZXkgQCJXZWJLaXRIaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZCIKKyNk
ZWZpbmUgV2ViS2l0SGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkUHJlZmVy
ZW5jZUtleSBAIldlYktpdEhpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZCIK
IAogLy8gVGhlc2UgYXJlIHByaXZhdGUgYm90aCBiZWNhdXNlIGNhbGxlcnMgc2hvdWxkIGJlIHVz
aW5nIHRoZSBjb3ZlciBtZXRob2RzIGFuZCBiZWNhdXNlIHRoZQogLy8gY292ZXIgbWV0aG9kcyB0
aGVtc2VsdmVzIGFyZSBwcml2YXRlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZXMubW0KaW5kZXggZTA3MDRkMzg1ZWU2NTE3ZTlkZTI1MzdhMWY1MDU3ZDcxYjExYmNh
YS4uNWUwMTQyYWVkZDdkM2IwZDA4NDYwNzM1NjQwN2U4ODJkOGYzYzkxZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCkBAIC00MjAsNiArNDIwLDggQEAg
cHVibGljOgogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aExvbmdMb25nOkFwcGxpY2F0aW9u
Q2FjaGVTdG9yYWdlOjpub1F1b3RhKCldLCBXZWJLaXRBcHBsaWNhdGlvbkNhY2hlVG90YWxRdW90
YSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhMb25nTG9uZzpBcHBsaWNhdGlvbkNhY2hl
U3RvcmFnZTo6bm9RdW90YSgpXSwgV2ViS2l0QXBwbGljYXRpb25DYWNoZURlZmF1bHRPcmlnaW5R
dW90YSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10sICBXZWJLaXRRVEtp
dEVuYWJsZWRQcmVmZXJlbmNlS2V5LAorICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6
Tk9dLCBXZWJLaXRIaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZFByZWZlcmVuY2VL
ZXksCisgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sIFdlYktpdEhpZGRlblBh
Z2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIG5p
bF07CiAKIApAQCAtMTc5OSw2ICsxODAxLDI2IEBAIHN0YXRpYyBOU1N0cmluZyAqY2xhc3NJQkNy
ZWF0b3JJRCA9IG5pbDsKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmVuYWJsZWQgZm9yS2V5Oldl
YktpdFBsdWdJblNuYXBzaG90dGluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKIH0KIAorLSAoQk9P
TCloaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZAoreworICAgIHJldHVybiBbc2Vs
ZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdEhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFi
bGVkUHJlZmVyZW5jZUtleV07Cit9CisKKy0gKHZvaWQpc2V0SGlkZGVuUGFnZURPTVRpbWVyVGhy
b3R0bGluZ0VuYWJsZWQ6KEJPT0wpZW5hYmxlZAoreworICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6
ZW5hYmxlZCBmb3JLZXk6V2ViS2l0SGlkZGVuUGFnZURPTVRpbWVyVGhyb3R0bGluZ0VuYWJsZWRQ
cmVmZXJlbmNlS2V5XTsKK30KKworLSAoQk9PTCloaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVu
c2lvbkVuYWJsZWQKK3sKKyAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRI
aWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30K
KworLSAodm9pZClzZXRIaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQ6KEJP
T0wpZW5hYmxlZAoreworICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZW5hYmxlZCBmb3JLZXk6V2Vi
S2l0SGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkUHJlZmVyZW5jZUtleV07
Cit9CisKIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdlYlByZWZlcmVuY2VzIChXZWJJbnRlcm5h
bCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQ
cml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0
ZS5oCmluZGV4IGZhYmNhNGIwMjNhYWNmOTgzNTBiODg0ZWU0MDFiNzk5NjIwNjdjNjkuLmVjZTQ4
NGZmODBhMDJmZWQ2MTQwYTU1Zjk1YmVkMDcxMjgyZTI1MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaApAQCAtMzI5LDQgKzMyOSwx
MCBAQCBleHRlcm4gTlNTdHJpbmcgKldlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbENoYW5nZWRJbnRl
cm5hbE5vdGlmaWNhdGlvbjsKIC0gKEJPT0wpcGx1Z0luU25hcHNob3R0aW5nRW5hYmxlZDsKIC0g
KHZvaWQpc2V0UGx1Z0luU25hcHNob3R0aW5nRW5hYmxlZDooQk9PTCllbmFibGVkOwogCistIChC
T09MKWhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkOworLSAodm9pZClzZXRIaWRk
ZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZDooQk9PTClmbGFnOworCistIChCT09MKWhp
ZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZDsKKy0gKHZvaWQpc2V0SGlkZGVu
UGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkOihCT09MKWZsYWc7CisKIEBlbmQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCA2NTdmOTIwYTQ0ZTkyZWUwN2ZhM2U3
NjIyNWU1YzJjZDgxM2FjNTNlLi4wN2I5NGY2MWU1MjliYjcwMjNjYTc3YzY3OTEyZGJiMjI0MzEz
ZWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysr
IGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0xNTk0LDYgKzE1OTQs
MTMgQEAgc3RhdGljIGJvb2wgbmVlZHNTZWxmUmV0YWluV2hpbGVMb2FkaW5nUXVpcmsoKQogCiAg
ICAgc2V0dGluZ3MtPnNldFBsdWdJblNuYXBzaG90dGluZ0VuYWJsZWQoW3ByZWZlcmVuY2VzIHBs
dWdJblNuYXBzaG90dGluZ0VuYWJsZWRdKTsKIAorI2lmIEVOQUJMRShISURERU5fUEFHRV9ET01f
VElNRVJfVEhST1RUTElORykKKyAgICBzZXR0aW5ncy0+c2V0SGlkZGVuUGFnZURPTVRpbWVyVGhy
b3R0bGluZ0VuYWJsZWQoW3ByZWZlcmVuY2VzIGhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdF
bmFibGVkXSk7CisjZW5kaWYKKyNpZiBFTkFCTEUoUEFHRV9WSVNJQklMSVRZX0FQSSkKKyAgICBz
ZXR0aW5ncy0+c2V0SGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkKFtwcmVm
ZXJlbmNlcyBoaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWRdKTsKKyNlbmRp
ZgorCiAgICAgLy8gV2UgaGF2ZSBlbmFibGVkIHRoaXMgc2V0dGluZyBpbiBXZWJLaXQyIGZvciB0
aGUgc2FrZSBvZiBzb21lIFNjcm9sbGluZ0Nvb3JkaW5hdG9yIHdvcmsuCiAgICAgLy8gVG8gYXZv
aWQgcG9zc2libGUgcmVuZGVyaW5nIGRpZmZlcmVuY2VzLCB3ZSBzaG91bGQgZW5hYmxlIGl0IGZv
ciBXZWJLaXQxIHRvby4KICAgICBzZXR0aW5ncy0+c2V0Rml4ZWRQb3NpdGlvbkNyZWF0ZXNTdGFj
a2luZ0NvbnRleHQodHJ1ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
UHJlZmVyZW5jZXNTdG9yZS5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2Vz
U3RvcmUuaAppbmRleCBkYWNjYWYzNjYwZjA1ZTljY2RjZDE2ZGZlYTc4NDczMzY2NjBiMTg0Li44
Yzk1ZTRlNTMwZGRkYTY1MWJjZjY3MTQyYWFkYWJjMzE2YmViNTU5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgKQEAgLTE0NCw2ICsxNDQsOCBAQCBuYW1l
c3BhY2UgV2ViS2l0IHsKICAgICBtYWNybyhTbWFydEluc2VydERlbGV0ZUVuYWJsZWQsIHNtYXJ0
SW5zZXJ0RGVsZXRlRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAogICAgIG1hY3JvKFNob3dz
VVJMc0luVG9vbFRpcHNFbmFibGVkLCBzaG93c1VSTHNJblRvb2xUaXBzRW5hYmxlZCwgQm9vbCwg
Ym9vbCwgZmFsc2UpIFwKICAgICBtYWNybyhBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yT3ZlcmZs
b3dTY3JvbGxFbmFibGVkLCBhY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yT3ZlcmZsb3dTY3JvbGxF
bmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAorICAgIG1hY3JvKEhpZGRlblBhZ2VET01UaW1l
clRocm90dGxpbmdFbmFibGVkLCBoaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZCwg
Qm9vbCwgYm9vbCwgZmFsc2UpIFwKKyAgICBtYWNybyhIaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3Vz
cGVuc2lvbkVuYWJsZWQsIGhpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZCwg
Qm9vbCwgYm9vbCwgZmFsc2UpIFwKICAgICBcCiAKICNkZWZpbmUgRk9SX0VBQ0hfV0VCS0lUX0RP
VUJMRV9QUkVGRVJFTkNFKG1hY3JvKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKaW5kZXggZTY5ODM5NzVmMDg5NzlkZDk0MDVlMjNlZTZj
YTNmZWEyN2Q4MjFmNy4uOWNhNTAxODBkOGE3YzAzMzEzOWM1OWQxNjZjOTg2NDRjM2Y1ODBjMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNw
cApAQCAtMTA3MywzICsxMDczLDIzIEBAIGJvb2wgV0tQcmVmZXJlbmNlc0dldFNob3dzVVJMc0lu
VG9vbFRpcHNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCiB7CiAgICAg
cmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNob3dzVVJMc0luVG9vbFRpcHNFbmFibGVk
KCk7CiB9CisKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldEhpZGRlblBhZ2VET01UaW1lclRocm90dGxp
bmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCkK
K3sKKyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRIaWRkZW5QYWdlRE9NVGltZXJUaHJv
dHRsaW5nRW5hYmxlZChlbmFibGVkKTsKK30KKworYm9vbCBXS1ByZWZlcmVuY2VzR2V0SGlkZGVu
UGFnZURPTVRpbWVyVGhyb3R0bGluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNl
c1JlZikKK3sKKyAgICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+aGlkZGVuUGFnZURP
TVRpbWVyVGhyb3R0bGluZ0VuYWJsZWQoKTsKK30KKwordm9pZCBXS1ByZWZlcmVuY2VzU2V0SGlk
ZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJl
ZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCkKK3sKKyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYp
LT5zZXRIaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQoZW5hYmxlZCk7Cit9
CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldEhpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9u
RW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQoreworICAgIHJldHVybiB0
b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5oaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVu
YWJsZWQoKTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S1ByZWZlcmVuY2VzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
UHJlZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggNTU0MmZkZDA4NDJiMDNhZmVmNGFhMWM0Zjc1Zjg1
ODkwMDViNTVmMS4uNTQ0N2NlODIxMWJhODE2YWFmNzEyYjgxNmVlZDJjYzZkZTU0NmZjOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNQcml2
YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNQ
cml2YXRlLmgKQEAgLTI1OSw2ICsyNTksMTMgQEAgV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNl
c0dldFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmUKIFdL
X0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRTaG93c1VSTHNJblRvb2xUaXBzRW5hYmxlZChX
S1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzLCBib29sIGVuYWJsZWQpOwogV0tfRVhQT1JUIGJv
b2wgV0tQcmVmZXJlbmNlc0dldFNob3dzVVJMc0luVG9vbFRpcHNFbmFibGVkKFdLUHJlZmVyZW5j
ZXNSZWYgcHJlZmVyZW5jZXMpOwogCisvLyBEZWZhdWx0cyB0byBmYWxzZQorV0tfRVhQT1JUIHZv
aWQgV0tQcmVmZXJlbmNlc1NldEhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkKFdL
UHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXMsIGJvb2wgZW5hYmxlZCk7CitXS19FWFBPUlQgYm9v
bCBXS1ByZWZlcmVuY2VzR2V0SGlkZGVuUGFnZURPTVRpbWVyVGhyb3R0bGluZ0VuYWJsZWQoV0tQ
cmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlcyk7CisKKy8vIERlZmF1bHRzIHRvIGZhbHNlCitXS19F
WFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0SGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNp
b25FbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXMsIGJvb2wgZW5hYmxlZCk7CitX
S19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0SGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3Bl
bnNpb25FbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXMpOwogCiBXS19FWFBPUlQg
dm9pZCBXS1ByZWZlcmVuY2VzUmVzZXRUZXN0UnVubmVyT3ZlcnJpZGVzKFdLUHJlZmVyZW5jZXNS
ZWYgcHJlZmVyZW5jZXNSZWYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCmluZGV4IDFhZDI0Y2Y2
NjA3ZjAyOGJiMmNiYmNlNTQ3NjQwNTdmOTliMjkwMDYuLmFiNjFhODgxZTA5MTRhNTlkNmM4Mjc0
N2I2ZGYzZTA5YmNkMzgyM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCkBAIC0yMTYsNyArMjE2
LDggQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6b3ZlcnJpZGVCb29sUHJlZmVyZW5jZUZvclRlc3RS
dW5uZXIoV2ViUGFnZUdyb3VwUHJveHkqIHBhZ2UKICAgICBtYWNybyhXZWJLaXRYU1NBdWRpdG9y
RW5hYmxlZCwgWFNTQXVkaXRvckVuYWJsZWQsIHhzc0F1ZGl0b3JFbmFibGVkKSBcCiAgICAgbWFj
cm8oV2ViS2l0U2hvdWxkUmVzcGVjdEltYWdlT3JpZW50YXRpb24sIFNob3VsZFJlc3BlY3RJbWFn
ZU9yaWVudGF0aW9uLCBzaG91bGRSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbikgXAogICAgIG1hY3Jv
KFdlYktpdEVuYWJsZUNhcmV0QnJvd3NpbmcsIENhcmV0QnJvd3NpbmdFbmFibGVkLCBjYXJldEJy
b3dzaW5nRW5hYmxlZCkgXAotICAgIG1hY3JvKFdlYktpdERpc3BsYXlJbWFnZXNLZXksIExvYWRz
SW1hZ2VzQXV0b21hdGljYWxseSwgbG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KQorICAgIG1hY3Jv
KFdlYktpdERpc3BsYXlJbWFnZXNLZXksIExvYWRzSW1hZ2VzQXV0b21hdGljYWxseSwgbG9hZHNJ
bWFnZXNBdXRvbWF0aWNhbGx5KSBcCisgICAgbWFjcm8oV2ViS2l0SGlkZGVuUGFnZURPTVRpbWVy
VGhyb3R0bGluZ0VuYWJsZWQsIEhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkLCBo
aWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZCkKIAogICAgIGlmIChwcmVmZXJlbmNl
ID09ICJXZWJLaXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCIpCiAgICAgICAgIGVuYWJs
ZWQgPSBlbmFibGVkICYmIExheWVyVHJlZUhvc3Q6OnN1cHBvcnRzQWNjZWxlcmF0ZWRDb21wb3Np
dGluZygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CmluZGV4IGY5N2RmNjAzNGI0ZDc0ODFjNjhhMGUxZjM1OGI4MmU2NWZlMzdkM2EuLjhjMDI3ZTI3
OWFjMzk2MWNlNzkyZDk1ZjY4NjQ2OTQ2NzYwNDc5NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTI0MTMsNiArMjQxMywxMyBAQCB2b2lk
IFdlYlBhZ2U6OnVwZGF0ZVByZWZlcmVuY2VzKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0
b3JlKQogICAgIHNldHRpbmdzLT5zZXRTbWFydEluc2VydERlbGV0ZUVuYWJsZWQoc3RvcmUuZ2V0
Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpzbWFydEluc2VydERlbGV0ZUVuYWJs
ZWRLZXkoKSkpOwogICAgIHNldHRpbmdzLT5zZXRTaG93c1VSTHNJblRvb2xUaXBzKHN0b3JlLmdl
dEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6c2hvd3NVUkxzSW5Ub29sVGlwc0Vu
YWJsZWRLZXkoKSkpOwogCisjaWYgRU5BQkxFKEhJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRM
SU5HKQorICAgIHNldHRpbmdzLT5zZXRIaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxl
ZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmhpZGRlblBhZ2VE
T01UaW1lclRocm90dGxpbmdFbmFibGVkS2V5KCkpKTsKKyNlbmRpZgorI2lmIEVOQUJMRShQQUdF
X1ZJU0lCSUxJVFlfQVBJKQorICAgIHNldHRpbmdzLT5zZXRIaWRkZW5QYWdlQ1NTQW5pbWF0aW9u
U3VzcGVuc2lvbkVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2Vz
S2V5OjpoaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWRLZXkoKSkpOworI2Vu
ZGlmCisKICAgICBwbGF0Zm9ybVByZWZlcmVuY2VzRGlkQ2hhbmdlKHN0b3JlKTsKIAogICAgIGlm
IChtX2RyYXdpbmdBcmVhKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGUwM2E0M2FiY2RhN2NkNWY5NzgzNDZkNDg0ZWFhNWIx
MGMwMmMyNzkuLmVkYjdlZTY0NWU0ZTIxZDYwZDkyZTgwM2MxZGU0ZWI0ODFjYTJkYmMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNSBAQAorMjAxMy0wMy0xMyAgS2lyYW4gTXVwcGFsYSAgPGNtdXBwYWxhQGFw
cGxlLmNvbT4KKworICAgICAgICBBZGQgcnVudGltZSBzZXR0aW5nIGZvciBoaWRkZW4gcGFnZSBE
T00gdGltZXIgdGhyb3R0bGluZyBhbmQgQ1NTIGFuaW1hdGlvbiBzdXNwZW5zaW9uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTIzMDgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBIaWRkZW4gcGFnZSBET00g
dGltZXIgdGhyb3R0bGluZyBpcyBkaXNhYmxlZCBieSBkZWZhdWx0LiAgT3ZlcnJpZGUgdGhlCisg
ICAgICAgIHByZWZlcmVuY2UgdG8gZW5hYmxlIGl0IGR1cmluZyB0aGUgdGVzdC4KKworICAgICAg
ICAqIGZhc3QvZG9tL3RpbWVyLXRocm90dGxpbmctaGlkZGVuLXBhZ2UuaHRtbDoKKwogMjAxMy0w
My0xMiAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBTb21lIGNh
bnZhcyB0ZXN0cyBvbmx5IGZhaWwgb24gTWFjIEVXUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vdGltZXItdGhyb3R0bGluZy1oaWRkZW4tcGFnZS5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vdGltZXItdGhyb3R0bGluZy1oaWRkZW4tcGFnZS5odG1sCmluZGV4IDk1ZmJlMmE3
N2ZiMjIyMWQ4ZWNhNmMzNGYwZWY1ZDVlYWUxNzViMjkuLjlmNzFiOWY2ZWU1NTE4MTAyMzczOTM1
YzFiN2ZmMzViZGI5OGQ5NDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3RpbWVy
LXRocm90dGxpbmctaGlkZGVuLXBhZ2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS90
aW1lci10aHJvdHRsaW5nLWhpZGRlbi1wYWdlLmh0bWwKQEAgLTU2LDYgKzU2LDggQEAKICAgICAg
ICAgICAgICAgICBkZWJ1ZygnVGhpcyB0ZXN0IHJlcXVpcmVzIHRlc3RSdW5uZXInKTsKICAgICAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CisgICAgICAgICAgICB0ZXN0UnVubmVy
Lm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGlkZGVuUGFnZURPTVRpbWVyVGhyb3R0bGluZ0Vu
YWJsZWQiLCAxKTsKKwogICAgICAgICAgICAgdmFyIHRpbWVvdXRJbnRlcnZhbFNwYW5zID0gZG9j
dW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgndGltZW91dEludGVydmFsJyk7CiAgICAgICAg
ICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRpbWVvdXRJbnRlcnZhbFNwYW5zLmxlbmd0aDsgaSsr
KQogICAgICAgICAgICAgICAgIHRpbWVvdXRJbnRlcnZhbFNwYW5zW2ldLmlubmVyVGV4dCA9IHRp
bWVvdXRJbnRlcnZhbDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193051</attachid>
            <date>2013-03-13 20:19:38 -0700</date>
            <delta_ts>2013-03-14 14:41:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112308-20130313201535.patch</filename>
            <type>text/plain</type>
            <size>23137</size>
            <attacher name="Kiran Muppala">cmuppala</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1NTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2Q4ZWEyODIyMzU3Njdj
MTFkM2Y3NzBlNDkxNDJmZDViNzlhNGZlOC4uMjFhNGU5ZDUxNDEyMmE3MzIxMzU4NzRiZjY0ZGQ2
OGNmNDg4ZDQwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEzLTAzLTEzICBLaXJh
biBNdXBwYWxhICA8Y211cHBhbGFAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBydW50aW1lIHNl
dHRpbmcgZm9yIGhpZGRlbiBwYWdlIERPTSB0aW1lciB0aHJvdHRsaW5nIGFuZCBDU1MgYW5pbWF0
aW9uIHN1c3BlbnNpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExMjMwOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE5vIG5ldyB0ZXN0cy4gIE9ubHkgYWRkaW5nIHNldHRpbmdzIHRvIGVuYWJsZS9kaXNh
YmxlIGV4aXN0aW5nIGZlYXR1cmVzCisgICAgICAgIGFuZCBoZW5jZSBleGlzdGluZyB0ZXN0cyBz
dWZmaWNlLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogcGFnZS9QYWdl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnNldFZpc2liaWxpdHlTdGF0ZSk6IENoZWNr
IGlmIERPTSB0aW1lciB0aHJvdHRsaW5nCisgICAgICAgIGFuZCBDU1MgYW5pbWF0aW9uIHN1c3Bl
bnNpb24gYXJlIGVuYWJsZWQgYmVmb3JlIHR1cm5pbmcgdGhlbSBvbi4KKyAgICAgICAgKFdlYkNv
cmU6OlBhZ2U6OmhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdTdGF0ZUNoYW5nZWQpOiBTdGFy
dCBvciBzdG9wCisgICAgICAgIERPTSB0aW1lciB0aHJvdHRsaW5nIGJhc2VkIG9uIHBhZ2Ugdmlz
aWJpbGl0eSBhbmQgdGhlIG5ldyBzZXR0aW5nIHN0YXRlLgorICAgICAgICAoV2ViQ29yZTo6UGFn
ZTo6aGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25TdGF0ZUNoYW5nZWQpOiBEaXR0bwor
ICAgICAgICBmb3IgQ1NTIGFuaW1hdGlvbiBzdXNwZW5zaW9uLgorICAgICAgICAqIHBhZ2UvUGFn
ZS5oOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2V0
dGluZ3M6OlNldHRpbmdzKTogSW5pdGlhbGl6ZSB0aGUgZmxhZ3MgZm9yIGVuYWJsaW5nIGhpZGRl
bgorICAgICAgICBwYWdlIERPTSB0aW1lciB0aHJvdHRsaW5nIGFuZCBDU1MgYW5pbWF0aW9uIHN1
c3BlbnNpb24gdG8gZmFsc2UuCisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0SGlkZGVu
UGFnZURPTVRpbWVyVGhyb3R0bGluZ0VuYWJsZWQpOiBVcGRhdGUgZmxhZworICAgICAgICBhbmQg
bm90aWZ5IHBhZ2UgdGhhdCB0aGUgc3RhdGUgb2YgdGhlIHNldHRpbmcgaGFzIGNoYW5nZWQuCisg
ICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0SGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3Bl
bnNpb25FbmFibGVkKTogRGl0dG8uCisgICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAg
ICAoV2ViQ29yZTo6U2V0dGluZ3M6OmhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVk
KToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpoaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3Vz
cGVuc2lvbkVuYWJsZWQpOgorCiAyMDEzLTAzLTEyICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZp
ZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTQ1
NTU0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDk0MThlNTFkNzM1NTdjM2M1ZGZkNjA0NTI2ZjU5NGE4
OTYzYWRiYTguLjIxYjQ2MThlMWI4YzRmMmVhNjI4ZGU2MjljNTY0NTlmNzJlYzU5ZjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxMy0wMy0xMyAgS2lyYW4gTXVwcGFsYSAg
PGNtdXBwYWxhQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgcnVudGltZSBzZXR0aW5nIGZvciBo
aWRkZW4gcGFnZSBET00gdGltZXIgdGhyb3R0bGluZyBhbmQgQ1NTIGFuaW1hdGlvbiBzdXNwZW5z
aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTIz
MDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQg
cHJpdmF0ZSBwcmVmZXJlbmNlIGZvciBlbmFibGluZy9kaXNhYmxpbmcgaGlkZGVuIHBhZ2UgRE9N
IHRpbWVyCisgICAgICAgIHRocm90dGxpbmcgYW5kIENTUyBhbmltYXRpb24gc3VzcGVuc2lvbi4K
KworICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAg
ICogV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbToKKyAgICAgICAgKCtbV2ViUHJlZmVyZW5jZXMg
aW5pdGlhbGl6ZV0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBoaWRkZW5QYWdlRE9NVGlt
ZXJUaHJvdHRsaW5nRW5hYmxlZF0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRIaWRk
ZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZDpdKToKKyAgICAgICAgKC1bV2ViUHJlZmVy
ZW5jZXMgaGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkXSk6CisgICAgICAg
ICgtW1dlYlByZWZlcmVuY2VzIHNldEhpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5h
YmxlZDpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAg
ICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5j
ZXNDaGFuZ2VkOl0pOgorCiAyMDEzLTAzLTEyICBBYmhpc2hlayBBcnlhICA8aW5mZXJub0BjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgUmVwbGFjZSBzdGF0aWNfY2FzdHMgd2l0aCB0byogZnVuY3Rp
b25zLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCmluZGV4IDljODUxZmE0NTcwMmQ5YWVmZTU0Mjc4ODdmOTM5ZTQ0YjQ3ZjZl
ZmYuLjZkOWNkZGY1NWQ0MmMyMjQ4NzRmZGFmNTZiNDY5MWRhYmVjNGU4OGYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyNiBAQAorMjAxMy0wMy0xMyAgS2lyYW4gTXVwcGFsYSAgPGNtdXBwYWxhQGFw
cGxlLmNvbT4KKworICAgICAgICBBZGQgcnVudGltZSBzZXR0aW5nIGZvciBoaWRkZW4gcGFnZSBE
T00gdGltZXIgdGhyb3R0bGluZyBhbmQgQ1NTIGFuaW1hdGlvbiBzdXNwZW5zaW9uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTIzMDgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgcHJpdmF0ZSBwcmVm
ZXJlbmNlIGZvciBlbmFibGluZy9kaXNhYmxpbmcgaGlkZGVuIHBhZ2UgRE9NIHRpbWVyCisgICAg
ICAgIHRocm90dGxpbmcgYW5kIENTUyBhbmltYXRpb24gc3VzcGVuc2lvbi4KKworICAgICAgICAq
IFNoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
L1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQcmVmZXJlbmNlc1NldEhpZGRlblBhZ2VE
T01UaW1lclRocm90dGxpbmdFbmFibGVkKToKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNHZXRIaWRk
ZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2Vz
U2V0SGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkKToKKyAgICAgICAgKFdL
UHJlZmVyZW5jZXNHZXRIaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6b3ZlcnJpZGVCb29sUHJlZmVyZW5jZUZvclRlc3RS
dW5uZXIpOiBBbGxvdworICAgICAgICBXZWJLaXRUZXN0UnVubmVyIHRvIG92ZXJyaWRlIGhpZGRl
blBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dXBkYXRlUHJlZmVy
ZW5jZXMpOgorCiAyMDEzLTAzLTEyICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNv
bT4KIAogICAgICAgICBbR1RLXSBSZW1vdmUgSElMRE9OX0NQUEZMQUdTIGFuZCBISUxET05fQ0ZM
QUdTIHJlZmVyZW5jZXMgZnJvbSBHTlVtYWtlZmlsZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXgg
YzdiNDRhZGU5MzgzNzBlZDAxMjAyYmVkN2I1NmQ2NGNkYmNkMGFiNC4uMWQ0YmZlOTQ4NThjOWU4
NzViNjUxNDNmMDM4YzMzYzYxZTVhMDdhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTEwMzcs
NiArMTAzNyw4IEBAIF9fWk43V2ViQ29yZThTZXR0aW5nczMyc2V0TmVlZHNBZG9iZUZyYW1lUmVs
b2FkaW5nUXVpcmtFYgogX19aTjdXZWJDb3JlOFNldHRpbmdzMzJzZXRTY3JlZW5Gb250U3Vic3Rp
dHV0aW9uRW5hYmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MzM3NldEFnZ3Jlc3NpdmVUaWxl
UmV0ZW50aW9uRW5hYmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MzN3NldFNjcm9sbGluZ1Bl
cmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWRFYgorX19aTjdXZWJDb3JlOFNldHRpbmdzMzhzZXRIaWRk
ZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZEViCitfX1pON1dlYkNvcmU4U2V0dGluZ3M0
MnNldEhpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZEViCiBfX1pON1dlYkNv
cmU4U2V0dGluZ3M0NXNldFNob3VsZFJlc3BlY3RQcmlvcml0eUluQ1NTQXR0cmlidXRlU2V0dGVy
c0ViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMXNldFJlc29sdXRpb25PdmVycmlkZUVSS05TXzdJ
bnRTaXplRQogX19aTjdXZWJDb3JlOFNldHRpbmdzMjBzZXRNZWRpYVR5cGVPdmVycmlkZUVSS04z
V1RGNlN0cmluZ0UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IDIyZjMxMmZjMzllOTQwOTM1OWFiOGNm
YjRhMzQ0MGFmZTEyMDI3MzIuLjU5ZDg1NDdkMzdiY2VhNjE1OWJjMTEzMjFiYmFiZWVjZjFhMDAy
YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMTIzNiwxNCArMTIzNiwxOCBAQCB2b2lkIFBhZ2U6
OnNldFZpc2liaWxpdHlTdGF0ZShQYWdlVmlzaWJpbGl0eVN0YXRlIHZpc2liaWxpdHlTdGF0ZSwg
Ym9vbCBpc0luaXRpYQogCiAgICAgaWYgKHZpc2liaWxpdHlTdGF0ZSA9PSBXZWJDb3JlOjpQYWdl
VmlzaWJpbGl0eVN0YXRlSGlkZGVuKSB7CiAjaWYgRU5BQkxFKEhJRERFTl9QQUdFX0RPTV9USU1F
Ul9USFJPVFRMSU5HKQotICAgICAgICBzZXRUaW1lckFsaWdubWVudEludGVydmFsKFNldHRpbmdz
OjpoaWRkZW5QYWdlRE9NVGltZXJBbGlnbm1lbnRJbnRlcnZhbCgpKTsKKyAgICAgICAgaWYgKG1f
c2V0dGluZ3MtPmhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkKCkpCisgICAgICAg
ICAgICBzZXRUaW1lckFsaWdubWVudEludGVydmFsKFNldHRpbmdzOjpoaWRkZW5QYWdlRE9NVGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbCgpKTsKICNlbmRpZgotICAgICAgICBtYWluRnJhbWUoKS0+YW5p
bWF0aW9uKCktPnN1c3BlbmRBbmltYXRpb25zKCk7CisgICAgICAgIGlmIChtX3NldHRpbmdzLT5o
aWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQoKSkKKyAgICAgICAgICAgIG1h
aW5GcmFtZSgpLT5hbmltYXRpb24oKS0+c3VzcGVuZEFuaW1hdGlvbnMoKTsKICAgICB9IGVsc2Ug
ewogI2lmIEVOQUJMRShISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykKLSAgICAgICAg
c2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbChTZXR0aW5nczo6ZGVmYXVsdERPTVRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWwoKSk7CisgICAgICAgIGlmIChtX3NldHRpbmdzLT5oaWRkZW5QYWdlRE9NVGlt
ZXJUaHJvdHRsaW5nRW5hYmxlZCgpKQorICAgICAgICAgICAgc2V0VGltZXJBbGlnbm1lbnRJbnRl
cnZhbChTZXR0aW5nczo6ZGVmYXVsdERPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKSk7CiAjZW5k
aWYKLSAgICAgICAgbWFpbkZyYW1lKCktPmFuaW1hdGlvbigpLT5yZXN1bWVBbmltYXRpb25zKCk7
CisgICAgICAgIGlmIChtX3NldHRpbmdzLT5oaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lv
bkVuYWJsZWQoKSkKKyAgICAgICAgICAgIG1haW5GcmFtZSgpLT5hbmltYXRpb24oKS0+cmVzdW1l
QW5pbWF0aW9ucygpOwogICAgIH0KICNpZiAhRU5BQkxFKFBBR0VfVklTSUJJTElUWV9BUEkpCiAg
ICAgVU5VU0VEX1BBUkFNKGlzSW5pdGlhbFN0YXRlKTsKQEAgLTE0NDIsNiArMTQ0NiwzMSBAQCB2
b2lkIFBhZ2U6OnJlc2V0U2Vlbk1lZGlhRW5naW5lcygpCiAgICAgbV9zZWVuTWVkaWFFbmdpbmVz
LmNsZWFyKCk7CiB9CiAKKyNpZiBFTkFCTEUoSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJ
TkcpCit2b2lkIFBhZ2U6OmhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdTdGF0ZUNoYW5nZWQo
KQoreworICAgIGlmIChtX3NldHRpbmdzLT5oaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5h
YmxlZCgpKSB7CisjaWYgRU5BQkxFKFBBR0VfVklTSUJJTElUWV9BUEkpCisgICAgICAgIGlmICht
X3Zpc2liaWxpdHlTdGF0ZSA9PSBXZWJDb3JlOjpQYWdlVmlzaWJpbGl0eVN0YXRlSGlkZGVuKQor
ICAgICAgICAgICAgc2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbChTZXR0aW5nczo6aGlkZGVuUGFn
ZURPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKSk7CisjZW5kaWYKKyAgICB9IGVsc2UKKyAgICAg
ICAgc2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbChTZXR0aW5nczo6ZGVmYXVsdERPTVRpbWVyQWxp
Z25tZW50SW50ZXJ2YWwoKSk7Cit9CisjZW5kaWYKKworI2lmIChFTkFCTEVfUEFHRV9WSVNJQklM
SVRZX0FQSSkKK3ZvaWQgUGFnZTo6aGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25TdGF0
ZUNoYW5nZWQoKQoreworICAgIGlmIChtX3Zpc2liaWxpdHlTdGF0ZSA9PSBXZWJDb3JlOjpQYWdl
VmlzaWJpbGl0eVN0YXRlSGlkZGVuKSB7CisgICAgICAgIGlmIChtX3NldHRpbmdzLT5oaWRkZW5Q
YWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQoKSkKKyAgICAgICAgICAgIG1haW5GcmFt
ZSgpLT5hbmltYXRpb24oKS0+c3VzcGVuZEFuaW1hdGlvbnMoKTsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgbWFpbkZyYW1lKCktPmFuaW1hdGlvbigpLT5yZXN1bWVBbmltYXRpb25zKCk7Cisg
ICAgfQorfQorI2VuZGlmCisKIHZvaWQgUGFnZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2Jq
ZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8g
aW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OlBhZ2UpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuaAppbmRleCA5OTkxNWEwOWJjNWU3ZjQwNjVmZWVmOWU2YjQxYTQ0MGM4NWI0NTll
Li5kMzgxNWRkMDc4YjhjOGExMmM1ODhhMWRhMDIxYmI3NzE5MzQwOWY4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
aApAQCAtMzc4LDYgKzM3OCwxMyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzYXdNZWRpYUVuZ2luZShj
b25zdCBTdHJpbmcmIGVuZ2luZU5hbWUpOwogICAgIHZvaWQgcmVzZXRTZWVuTWVkaWFFbmdpbmVz
KCk7CiAKKyNpZiBFTkFCTEUoSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpCisgICAg
dm9pZCBoaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nU3RhdGVDaGFuZ2VkKCk7CisjZW5kaWYK
KyNpZiBFTkFCTEUoUEFHRV9WSVNJQklMSVRZX0FQSSkKKyAgICB2b2lkIGhpZGRlblBhZ2VDU1NB
bmltYXRpb25TdXNwZW5zaW9uU3RhdGVDaGFuZ2VkKCk7CisjZW5kaWYKKwogICAgIHZvaWQgcmVw
b3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyopIGNvbnN0OwogCiBwcml2YXRlOgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmNwcAppbmRleCBhM2JjZGRiNzYwMjFlMmM2ZWQ3OGQ2NDg0ZjNkNmVk
NjJjMWM4ZTBmLi42MmFlYjJlY2Q4MThiNDQxYjVlY2FhZTIwNTc1MDVkZGVmNzYzYzU3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmNwcApAQCAtMTg2LDYgKzE4NiwxMiBAQCBTZXR0aW5nczo6U2V0
dGluZ3MoUGFnZSogcGFnZSkKICAgICAsIG1fYWdncmVzc2l2ZVRpbGVSZXRlbnRpb25FbmFibGVk
KGZhbHNlKQogICAgICwgbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250
cm9scygzKQogICAgICwgbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyKHRoaXMsICZTZXR0
aW5nczo6aW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lckZpcmVkKQorI2lmIEVOQUJMRShISURERU5f
UEFHRV9ET01fVElNRVJfVEhST1RUTElORykKKyAgICAsIG1faGlkZGVuUGFnZURPTVRpbWVyVGhy
b3R0bGluZ0VuYWJsZWQoZmFsc2UpCisjZW5kaWYKKyNpZiBFTkFCTEUoUEFHRV9WSVNJQklMSVRZ
X0FQSSkKKyAgICAsIG1faGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkKGZh
bHNlKQorI2VuZGlmCiB7CiAgICAgLy8gQSBGcmFtZSBtYXkgbm90IGhhdmUgYmVlbiBjcmVhdGVk
IHlldCwgc28gd2UgaW5pdGlhbGl6ZSB0aGUgQXRvbWljU3RyaW5nCiAgICAgLy8gaGFzaCBiZWZv
cmUgdHJ5aW5nIHRvIHVzZSBpdC4KQEAgLTYwMiw0ICs2MDgsMjQgQEAgYm9vbCBTZXR0aW5nczo6
c2hvdWxkUmVzcGVjdFByaW9yaXR5SW5DU1NBdHRyaWJ1dGVTZXR0ZXJzKCkKIH0KICNlbmRpZgog
CisjaWYgRU5BQkxFKEhJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKQordm9pZCBTZXR0
aW5nczo6c2V0SGlkZGVuUGFnZURPTVRpbWVyVGhyb3R0bGluZ0VuYWJsZWQoYm9vbCBmbGFnKQor
eworICAgIGlmIChtX2hpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkID09IGZsYWcp
CisgICAgICAgIHJldHVybjsKKyAgICBtX2hpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFi
bGVkID0gZmxhZzsKKyAgICBtX3BhZ2UtPmhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdTdGF0
ZUNoYW5nZWQoKTsKK30KKyNlbmRpZgorCisjaWYgRU5BQkxFKFBBR0VfVklTSUJJTElUWV9BUEkp
Cit2b2lkIFNldHRpbmdzOjpzZXRIaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJs
ZWQoYm9vbCBmbGFnKQoreworICAgIGlmIChtX2hpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5z
aW9uRW5hYmxlZCA9PSBmbGFnKQorICAgICAgICByZXR1cm47CisgICAgbV9oaWRkZW5QYWdlQ1NT
QW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQgPSBmbGFnOworICAgIG1fcGFnZS0+aGlkZGVuUGFn
ZUNTU0FuaW1hdGlvblN1c3BlbnNpb25TdGF0ZUNoYW5nZWQoKTsKK30KKyNlbmRpZgorCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRp
bmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggNGNkZWU1MzVjYWE1
MGVlOTBkZjU2MDRkMTA5NDNlYmY5Y2FjZjZmOC4uNjVjMjE3YWM1ZGJhMDdjZjNlNTU4M2JhM2Nj
Njg3OTJkYTA1YjgxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaApAQCAtMTgwLDYgKzE4MCwxMSBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgc2V0RE9NVGltZXJBbGlnbm1lbnRJ
bnRlcnZhbChkb3VibGUpOwogICAgICAgICBkb3VibGUgZG9tVGltZXJBbGlnbm1lbnRJbnRlcnZh
bCgpIGNvbnN0OwogCisjaWYgRU5BQkxFKEhJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5H
KQorICAgICAgICBib29sIGhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkKCkgY29u
c3QgeyByZXR1cm4gbV9oaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZDsgfQorICAg
ICAgICB2b2lkIHNldEhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkKGJvb2wpOwor
I2VuZGlmCisKICAgICAgICAgdm9pZCBzZXRVc2VzUGFnZUNhY2hlKGJvb2wpOwogICAgICAgICBi
b29sIHVzZXNQYWdlQ2FjaGUoKSBjb25zdCB7IHJldHVybiBtX3VzZXNQYWdlQ2FjaGU7IH0KICAg
ICAgICAgCkBAIC0yNjcsNiArMjcyLDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
dm9pZCBzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyhkb3Vi
bGUgdGltZSkgeyBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xz
ID0gdGltZTsgfQogICAgICAgICBkb3VibGUgdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3Jl
SGlkaW5nQ29udHJvbHMoKSBjb25zdCB7IHJldHVybiBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVu
dEJlZm9yZUhpZGluZ0NvbnRyb2xzOyB9CiAKKyNpZiBFTkFCTEUoUEFHRV9WSVNJQklMSVRZX0FQ
SSkKKyAgICAgICAgYm9vbCBoaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQo
KSBjb25zdCB7IHJldHVybiBtX2hpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxl
ZDsgfQorICAgICAgICB2b2lkIHNldEhpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5h
YmxlZChib29sKTsKKyNlbmRpZgorCiAgICAgcHJpdmF0ZToKICAgICAgICAgZXhwbGljaXQgU2V0
dGluZ3MoUGFnZSopOwogCkBAIC0zMjgsNiArMzM4LDEzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgVGltZXI8U2V0dGluZ3M+IG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lcjsK
ICAgICAgICAgdm9pZCBpbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyRmlyZWQoVGltZXI8U2V0dGlu
Z3M+Kik7CiAKKyNpZiBFTkFCTEUoSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpCisg
ICAgICAgIGJvb2wgbV9oaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZCA6IDE7Cisj
ZW5kaWYKKyNpZiBFTkFCTEUoUEFHRV9WSVNJQklMSVRZX0FQSSkKKyAgICAgICAgYm9vbCBtX2hp
ZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZCA6IDE7CisjZW5kaWYKKwogICAg
ICAgICBzdGF0aWMgZG91YmxlIGdEZWZhdWx0TWluRE9NVGltZXJJbnRlcnZhbDsKICAgICAgICAg
c3RhdGljIGRvdWJsZSBnRGVmYXVsdERPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWw7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRl
LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5o
CmluZGV4IDRlNjU4ODQ0OThlYjMyNjEyOGVkYWJkYzIwNjg1YTZmZDFlNjEwNjkuLjhjNTA5ZDNj
NzQzMmQ3MTM0OTZmNzEwZGFlZjhkOWRlODhhMjAyNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaApAQCAtMTMwLDYgKzEz
MCw4IEBACiAjZGVmaW5lIFdlYktpdFN0b3JhZ2VCbG9ja2luZ1BvbGljeUtleSBAIldlYktpdFN0
b3JhZ2VCbG9ja2luZ1BvbGljeSIKICNkZWZpbmUgV2ViS2l0UGx1Z0luU25hcHNob3R0aW5nRW5h
YmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRQbHVnSW5TbmFwc2hvdHRpbmdFbmFibGVkIgogI2Rl
ZmluZSBXZWJLaXRRVEtpdEVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0UVRLaXRFbmFibGVk
IgorI2RlZmluZSBXZWJLaXRIaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZFByZWZl
cmVuY2VLZXkgQCJXZWJLaXRIaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZCIKKyNk
ZWZpbmUgV2ViS2l0SGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkUHJlZmVy
ZW5jZUtleSBAIldlYktpdEhpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZCIK
IAogLy8gVGhlc2UgYXJlIHByaXZhdGUgYm90aCBiZWNhdXNlIGNhbGxlcnMgc2hvdWxkIGJlIHVz
aW5nIHRoZSBjb3ZlciBtZXRob2RzIGFuZCBiZWNhdXNlIHRoZQogLy8gY292ZXIgbWV0aG9kcyB0
aGVtc2VsdmVzIGFyZSBwcml2YXRlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZXMubW0KaW5kZXggZTA3MDRkMzg1ZWU2NTE3ZTlkZTI1MzdhMWY1MDU3ZDcxYjExYmNh
YS4uNWUwMTQyYWVkZDdkM2IwZDA4NDYwNzM1NjQwN2U4ODJkOGYzYzkxZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCkBAIC00MjAsNiArNDIwLDggQEAg
cHVibGljOgogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aExvbmdMb25nOkFwcGxpY2F0aW9u
Q2FjaGVTdG9yYWdlOjpub1F1b3RhKCldLCBXZWJLaXRBcHBsaWNhdGlvbkNhY2hlVG90YWxRdW90
YSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhMb25nTG9uZzpBcHBsaWNhdGlvbkNhY2hl
U3RvcmFnZTo6bm9RdW90YSgpXSwgV2ViS2l0QXBwbGljYXRpb25DYWNoZURlZmF1bHRPcmlnaW5R
dW90YSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10sICBXZWJLaXRRVEtp
dEVuYWJsZWRQcmVmZXJlbmNlS2V5LAorICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6
Tk9dLCBXZWJLaXRIaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZFByZWZlcmVuY2VL
ZXksCisgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sIFdlYktpdEhpZGRlblBh
Z2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIG5p
bF07CiAKIApAQCAtMTc5OSw2ICsxODAxLDI2IEBAIHN0YXRpYyBOU1N0cmluZyAqY2xhc3NJQkNy
ZWF0b3JJRCA9IG5pbDsKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmVuYWJsZWQgZm9yS2V5Oldl
YktpdFBsdWdJblNuYXBzaG90dGluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKIH0KIAorLSAoQk9P
TCloaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZAoreworICAgIHJldHVybiBbc2Vs
ZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdEhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFi
bGVkUHJlZmVyZW5jZUtleV07Cit9CisKKy0gKHZvaWQpc2V0SGlkZGVuUGFnZURPTVRpbWVyVGhy
b3R0bGluZ0VuYWJsZWQ6KEJPT0wpZW5hYmxlZAoreworICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6
ZW5hYmxlZCBmb3JLZXk6V2ViS2l0SGlkZGVuUGFnZURPTVRpbWVyVGhyb3R0bGluZ0VuYWJsZWRQ
cmVmZXJlbmNlS2V5XTsKK30KKworLSAoQk9PTCloaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVu
c2lvbkVuYWJsZWQKK3sKKyAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRI
aWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30K
KworLSAodm9pZClzZXRIaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQ6KEJP
T0wpZW5hYmxlZAoreworICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZW5hYmxlZCBmb3JLZXk6V2Vi
S2l0SGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkUHJlZmVyZW5jZUtleV07
Cit9CisKIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdlYlByZWZlcmVuY2VzIChXZWJJbnRlcm5h
bCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQ
cml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0
ZS5oCmluZGV4IGZhYmNhNGIwMjNhYWNmOTgzNTBiODg0ZWU0MDFiNzk5NjIwNjdjNjkuLmVjZTQ4
NGZmODBhMDJmZWQ2MTQwYTU1Zjk1YmVkMDcxMjgyZTI1MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaApAQCAtMzI5LDQgKzMyOSwx
MCBAQCBleHRlcm4gTlNTdHJpbmcgKldlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbENoYW5nZWRJbnRl
cm5hbE5vdGlmaWNhdGlvbjsKIC0gKEJPT0wpcGx1Z0luU25hcHNob3R0aW5nRW5hYmxlZDsKIC0g
KHZvaWQpc2V0UGx1Z0luU25hcHNob3R0aW5nRW5hYmxlZDooQk9PTCllbmFibGVkOwogCistIChC
T09MKWhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkOworLSAodm9pZClzZXRIaWRk
ZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZDooQk9PTClmbGFnOworCistIChCT09MKWhp
ZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZDsKKy0gKHZvaWQpc2V0SGlkZGVu
UGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkOihCT09MKWZsYWc7CisKIEBlbmQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCA2NTdmOTIwYTQ0ZTkyZWUwN2ZhM2U3
NjIyNWU1YzJjZDgxM2FjNTNlLi4wN2I5NGY2MWU1MjliYjcwMjNjYTc3YzY3OTEyZGJiMjI0MzEz
ZWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysr
IGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0xNTk0LDYgKzE1OTQs
MTMgQEAgc3RhdGljIGJvb2wgbmVlZHNTZWxmUmV0YWluV2hpbGVMb2FkaW5nUXVpcmsoKQogCiAg
ICAgc2V0dGluZ3MtPnNldFBsdWdJblNuYXBzaG90dGluZ0VuYWJsZWQoW3ByZWZlcmVuY2VzIHBs
dWdJblNuYXBzaG90dGluZ0VuYWJsZWRdKTsKIAorI2lmIEVOQUJMRShISURERU5fUEFHRV9ET01f
VElNRVJfVEhST1RUTElORykKKyAgICBzZXR0aW5ncy0+c2V0SGlkZGVuUGFnZURPTVRpbWVyVGhy
b3R0bGluZ0VuYWJsZWQoW3ByZWZlcmVuY2VzIGhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdF
bmFibGVkXSk7CisjZW5kaWYKKyNpZiBFTkFCTEUoUEFHRV9WSVNJQklMSVRZX0FQSSkKKyAgICBz
ZXR0aW5ncy0+c2V0SGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkKFtwcmVm
ZXJlbmNlcyBoaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWRdKTsKKyNlbmRp
ZgorCiAgICAgLy8gV2UgaGF2ZSBlbmFibGVkIHRoaXMgc2V0dGluZyBpbiBXZWJLaXQyIGZvciB0
aGUgc2FrZSBvZiBzb21lIFNjcm9sbGluZ0Nvb3JkaW5hdG9yIHdvcmsuCiAgICAgLy8gVG8gYXZv
aWQgcG9zc2libGUgcmVuZGVyaW5nIGRpZmZlcmVuY2VzLCB3ZSBzaG91bGQgZW5hYmxlIGl0IGZv
ciBXZWJLaXQxIHRvby4KICAgICBzZXR0aW5ncy0+c2V0Rml4ZWRQb3NpdGlvbkNyZWF0ZXNTdGFj
a2luZ0NvbnRleHQodHJ1ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
UHJlZmVyZW5jZXNTdG9yZS5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2Vz
U3RvcmUuaAppbmRleCBkYWNjYWYzNjYwZjA1ZTljY2RjZDE2ZGZlYTc4NDczMzY2NjBiMTg0Li44
Yzk1ZTRlNTMwZGRkYTY1MWJjZjY3MTQyYWFkYWJjMzE2YmViNTU5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgKQEAgLTE0NCw2ICsxNDQsOCBAQCBuYW1l
c3BhY2UgV2ViS2l0IHsKICAgICBtYWNybyhTbWFydEluc2VydERlbGV0ZUVuYWJsZWQsIHNtYXJ0
SW5zZXJ0RGVsZXRlRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAogICAgIG1hY3JvKFNob3dz
VVJMc0luVG9vbFRpcHNFbmFibGVkLCBzaG93c1VSTHNJblRvb2xUaXBzRW5hYmxlZCwgQm9vbCwg
Ym9vbCwgZmFsc2UpIFwKICAgICBtYWNybyhBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yT3ZlcmZs
b3dTY3JvbGxFbmFibGVkLCBhY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yT3ZlcmZsb3dTY3JvbGxF
bmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAorICAgIG1hY3JvKEhpZGRlblBhZ2VET01UaW1l
clRocm90dGxpbmdFbmFibGVkLCBoaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZCwg
Qm9vbCwgYm9vbCwgZmFsc2UpIFwKKyAgICBtYWNybyhIaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3Vz
cGVuc2lvbkVuYWJsZWQsIGhpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZCwg
Qm9vbCwgYm9vbCwgZmFsc2UpIFwKICAgICBcCiAKICNkZWZpbmUgRk9SX0VBQ0hfV0VCS0lUX0RP
VUJMRV9QUkVGRVJFTkNFKG1hY3JvKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKaW5kZXggZTY5ODM5NzVmMDg5NzlkZDk0MDVlMjNlZTZj
YTNmZWEyN2Q4MjFmNy4uOWNhNTAxODBkOGE3YzAzMzEzOWM1OWQxNjZjOTg2NDRjM2Y1ODBjMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNw
cApAQCAtMTA3MywzICsxMDczLDIzIEBAIGJvb2wgV0tQcmVmZXJlbmNlc0dldFNob3dzVVJMc0lu
VG9vbFRpcHNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCiB7CiAgICAg
cmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNob3dzVVJMc0luVG9vbFRpcHNFbmFibGVk
KCk7CiB9CisKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldEhpZGRlblBhZ2VET01UaW1lclRocm90dGxp
bmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCkK
K3sKKyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRIaWRkZW5QYWdlRE9NVGltZXJUaHJv
dHRsaW5nRW5hYmxlZChlbmFibGVkKTsKK30KKworYm9vbCBXS1ByZWZlcmVuY2VzR2V0SGlkZGVu
UGFnZURPTVRpbWVyVGhyb3R0bGluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNl
c1JlZikKK3sKKyAgICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+aGlkZGVuUGFnZURP
TVRpbWVyVGhyb3R0bGluZ0VuYWJsZWQoKTsKK30KKwordm9pZCBXS1ByZWZlcmVuY2VzU2V0SGlk
ZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJl
ZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCkKK3sKKyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYp
LT5zZXRIaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQoZW5hYmxlZCk7Cit9
CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldEhpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9u
RW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQoreworICAgIHJldHVybiB0
b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5oaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVu
YWJsZWQoKTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S1ByZWZlcmVuY2VzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
UHJlZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggNTU0MmZkZDA4NDJiMDNhZmVmNGFhMWM0Zjc1Zjg1
ODkwMDViNTVmMS4uNTQ0N2NlODIxMWJhODE2YWFmNzEyYjgxNmVlZDJjYzZkZTU0NmZjOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNQcml2
YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNQ
cml2YXRlLmgKQEAgLTI1OSw2ICsyNTksMTMgQEAgV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNl
c0dldFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmUKIFdL
X0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRTaG93c1VSTHNJblRvb2xUaXBzRW5hYmxlZChX
S1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzLCBib29sIGVuYWJsZWQpOwogV0tfRVhQT1JUIGJv
b2wgV0tQcmVmZXJlbmNlc0dldFNob3dzVVJMc0luVG9vbFRpcHNFbmFibGVkKFdLUHJlZmVyZW5j
ZXNSZWYgcHJlZmVyZW5jZXMpOwogCisvLyBEZWZhdWx0cyB0byBmYWxzZQorV0tfRVhQT1JUIHZv
aWQgV0tQcmVmZXJlbmNlc1NldEhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkKFdL
UHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXMsIGJvb2wgZW5hYmxlZCk7CitXS19FWFBPUlQgYm9v
bCBXS1ByZWZlcmVuY2VzR2V0SGlkZGVuUGFnZURPTVRpbWVyVGhyb3R0bGluZ0VuYWJsZWQoV0tQ
cmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlcyk7CisKKy8vIERlZmF1bHRzIHRvIGZhbHNlCitXS19F
WFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0SGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNp
b25FbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXMsIGJvb2wgZW5hYmxlZCk7CitX
S19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0SGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3Bl
bnNpb25FbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXMpOwogCiBXS19FWFBPUlQg
dm9pZCBXS1ByZWZlcmVuY2VzUmVzZXRUZXN0UnVubmVyT3ZlcnJpZGVzKFdLUHJlZmVyZW5jZXNS
ZWYgcHJlZmVyZW5jZXNSZWYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCmluZGV4IDFhZDI0Y2Y2
NjA3ZjAyOGJiMmNiYmNlNTQ3NjQwNTdmOTliMjkwMDYuLmJkMWU1N2JkMDJkMWMzZmFmODgxZjhm
NGQ3ZDQwZGRlNjM0ZDYxZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCkBAIC0yMzEsNiArMjMx
LDEwIEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6Om92ZXJyaWRlQm9vbFByZWZlcmVuY2VGb3JUZXN0
UnVubmVyKFdlYlBhZ2VHcm91cFByb3h5KiBwYWdlCiAKICAgICBGT1JfRUFDSF9PVkVSUklERV9C
T09MX1BSRUZFUkVOQ0UoT1ZFUlJJREVfUFJFRkVSRU5DRV9BTkRfU0VUX0lOX0VYSVNUSU5HX1BB
R0VTKQogCisjaWYgRU5BQkxFKEhJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKQorICAg
IE9WRVJSSURFX1BSRUZFUkVOQ0VfQU5EX1NFVF9JTl9FWElTVElOR19QQUdFUyhXZWJLaXRIaWRk
ZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZCwgSGlkZGVuUGFnZURPTVRpbWVyVGhyb3R0
bGluZ0VuYWJsZWQsIGhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkKQorI2VuZGlm
CisKICN1bmRlZiBPVkVSUklERV9QUkVGRVJFTkNFX0FORF9TRVRfSU5fRVhJU1RJTkdfUEFHRVMK
ICN1bmRlZiBGT1JfRUFDSF9PVkVSUklERV9CT09MX1BSRUZFUkVOQ0UKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBmOTdkZjYwMzRiNGQ3
NDgxYzY4YTBlMWYzNThiODJlNjVmZTM3ZDNhLi44YzAyN2UyNzlhYzM5NjFjZTc5MmQ5NWY2ODY0
Njk0Njc2MDQ3OTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwCkBAIC0yNDEzLDYgKzI0MTMsMTMgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVQcmVm
ZXJlbmNlcyhjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJiBzdG9yZSkKICAgICBzZXR0aW5ncy0+
c2V0U21hcnRJbnNlcnREZWxldGVFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQ
cmVmZXJlbmNlc0tleTo6c21hcnRJbnNlcnREZWxldGVFbmFibGVkS2V5KCkpKTsKICAgICBzZXR0
aW5ncy0+c2V0U2hvd3NVUkxzSW5Ub29sVGlwcyhzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2Vi
UHJlZmVyZW5jZXNLZXk6OnNob3dzVVJMc0luVG9vbFRpcHNFbmFibGVkS2V5KCkpKTsKIAorI2lm
IEVOQUJMRShISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykKKyAgICBzZXR0aW5ncy0+
c2V0SGlkZGVuUGFnZURPTVRpbWVyVGhyb3R0bGluZ0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVl
Rm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpoaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5h
YmxlZEtleSgpKSk7CisjZW5kaWYKKyNpZiBFTkFCTEUoUEFHRV9WSVNJQklMSVRZX0FQSSkKKyAg
ICBzZXR0aW5ncy0+c2V0SGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkKHN0
b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6aGlkZGVuUGFnZUNTU0Fu
aW1hdGlvblN1c3BlbnNpb25FbmFibGVkS2V5KCkpKTsKKyNlbmRpZgorCiAgICAgcGxhdGZvcm1Q
cmVmZXJlbmNlc0RpZENoYW5nZShzdG9yZSk7CiAKICAgICBpZiAobV9kcmF3aW5nQXJlYSkKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCBlMDNhNDNhYmNkYTdjZDVmOTc4MzQ2ZDQ4NGVhYTViMTBjMDJjMjc5Li5lZGI3ZWU2NDVl
NGUyMWQ2MGQ5MmU4MDNjMWRlNGViNDgxY2EyZGJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MTMtMDMtMTMgIEtpcmFuIE11cHBhbGEgIDxjbXVwcGFsYUBhcHBsZS5jb20+CisKKyAgICAgICAg
QWRkIHJ1bnRpbWUgc2V0dGluZyBmb3IgaGlkZGVuIHBhZ2UgRE9NIHRpbWVyIHRocm90dGxpbmcg
YW5kIENTUyBhbmltYXRpb24gc3VzcGVuc2lvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyMzA4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgSGlkZGVuIHBhZ2UgRE9NIHRpbWVyIHRocm90dGxpbmcgaXMg
ZGlzYWJsZWQgYnkgZGVmYXVsdC4gIE92ZXJyaWRlIHRoZQorICAgICAgICBwcmVmZXJlbmNlIHRv
IGVuYWJsZSBpdCBkdXJpbmcgdGhlIHRlc3QuCisKKyAgICAgICAgKiBmYXN0L2RvbS90aW1lci10
aHJvdHRsaW5nLWhpZGRlbi1wYWdlLmh0bWw6CisKIDIwMTMtMDMtMTIgIFJ5b3N1a2UgTml3YSAg
PHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgU29tZSBjYW52YXMgdGVzdHMgb25seSBmYWls
IG9uIE1hYyBFV1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3RpbWVyLXRocm90
dGxpbmctaGlkZGVuLXBhZ2UuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3RpbWVyLXRocm90
dGxpbmctaGlkZGVuLXBhZ2UuaHRtbAppbmRleCA5NWZiZTJhNzdmYjIyMjFkOGVjYTZjMzRmMGVm
NWQ1ZWFlMTc1YjI5Li45ZjcxYjlmNmVlNTUxODEwMjM3MzkzNWMxYjdmZjM1YmRiOThkOTQ2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS90aW1lci10aHJvdHRsaW5nLWhpZGRlbi1w
YWdlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vdGltZXItdGhyb3R0bGluZy1oaWRk
ZW4tcGFnZS5odG1sCkBAIC01Niw2ICs1Niw4IEBACiAgICAgICAgICAgICAgICAgZGVidWcoJ1Ro
aXMgdGVzdCByZXF1aXJlcyB0ZXN0UnVubmVyJyk7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICAgICAgfQorICAgICAgICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2Uo
IldlYktpdEhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkIiwgMSk7CisKICAgICAg
ICAgICAgIHZhciB0aW1lb3V0SW50ZXJ2YWxTcGFucyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlD
bGFzc05hbWUoJ3RpbWVvdXRJbnRlcnZhbCcpOwogICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7
IGkgPCB0aW1lb3V0SW50ZXJ2YWxTcGFucy5sZW5ndGg7IGkrKykKICAgICAgICAgICAgICAgICB0
aW1lb3V0SW50ZXJ2YWxTcGFuc1tpXS5pbm5lclRleHQgPSB0aW1lb3V0SW50ZXJ2YWw7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193185</attachid>
            <date>2013-03-14 14:41:22 -0700</date>
            <delta_ts>2013-03-15 21:42:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112308-20130314143719.patch</filename>
            <type>text/plain</type>
            <size>23144</size>
            <attacher name="Kiran Muppala">cmuppala</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1NTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2Q4ZWEyODIyMzU3Njdj
MTFkM2Y3NzBlNDkxNDJmZDViNzlhNGZlOC4uMjFhNGU5ZDUxNDEyMmE3MzIxMzU4NzRiZjY0ZGQ2
OGNmNDg4ZDQwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEzLTAzLTEzICBLaXJh
biBNdXBwYWxhICA8Y211cHBhbGFAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBydW50aW1lIHNl
dHRpbmcgZm9yIGhpZGRlbiBwYWdlIERPTSB0aW1lciB0aHJvdHRsaW5nIGFuZCBDU1MgYW5pbWF0
aW9uIHN1c3BlbnNpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExMjMwOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE5vIG5ldyB0ZXN0cy4gIE9ubHkgYWRkaW5nIHNldHRpbmdzIHRvIGVuYWJsZS9kaXNh
YmxlIGV4aXN0aW5nIGZlYXR1cmVzCisgICAgICAgIGFuZCBoZW5jZSBleGlzdGluZyB0ZXN0cyBz
dWZmaWNlLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogcGFnZS9QYWdl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnNldFZpc2liaWxpdHlTdGF0ZSk6IENoZWNr
IGlmIERPTSB0aW1lciB0aHJvdHRsaW5nCisgICAgICAgIGFuZCBDU1MgYW5pbWF0aW9uIHN1c3Bl
bnNpb24gYXJlIGVuYWJsZWQgYmVmb3JlIHR1cm5pbmcgdGhlbSBvbi4KKyAgICAgICAgKFdlYkNv
cmU6OlBhZ2U6OmhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdTdGF0ZUNoYW5nZWQpOiBTdGFy
dCBvciBzdG9wCisgICAgICAgIERPTSB0aW1lciB0aHJvdHRsaW5nIGJhc2VkIG9uIHBhZ2Ugdmlz
aWJpbGl0eSBhbmQgdGhlIG5ldyBzZXR0aW5nIHN0YXRlLgorICAgICAgICAoV2ViQ29yZTo6UGFn
ZTo6aGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25TdGF0ZUNoYW5nZWQpOiBEaXR0bwor
ICAgICAgICBmb3IgQ1NTIGFuaW1hdGlvbiBzdXNwZW5zaW9uLgorICAgICAgICAqIHBhZ2UvUGFn
ZS5oOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2V0
dGluZ3M6OlNldHRpbmdzKTogSW5pdGlhbGl6ZSB0aGUgZmxhZ3MgZm9yIGVuYWJsaW5nIGhpZGRl
bgorICAgICAgICBwYWdlIERPTSB0aW1lciB0aHJvdHRsaW5nIGFuZCBDU1MgYW5pbWF0aW9uIHN1
c3BlbnNpb24gdG8gZmFsc2UuCisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0SGlkZGVu
UGFnZURPTVRpbWVyVGhyb3R0bGluZ0VuYWJsZWQpOiBVcGRhdGUgZmxhZworICAgICAgICBhbmQg
bm90aWZ5IHBhZ2UgdGhhdCB0aGUgc3RhdGUgb2YgdGhlIHNldHRpbmcgaGFzIGNoYW5nZWQuCisg
ICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0SGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3Bl
bnNpb25FbmFibGVkKTogRGl0dG8uCisgICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAg
ICAoV2ViQ29yZTo6U2V0dGluZ3M6OmhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVk
KToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpoaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3Vz
cGVuc2lvbkVuYWJsZWQpOgorCiAyMDEzLTAzLTEyICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZp
ZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTQ1
NTU0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDk0MThlNTFkNzM1NTdjM2M1ZGZkNjA0NTI2ZjU5NGE4
OTYzYWRiYTguLjIxYjQ2MThlMWI4YzRmMmVhNjI4ZGU2MjljNTY0NTlmNzJlYzU5ZjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxMy0wMy0xMyAgS2lyYW4gTXVwcGFsYSAg
PGNtdXBwYWxhQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgcnVudGltZSBzZXR0aW5nIGZvciBo
aWRkZW4gcGFnZSBET00gdGltZXIgdGhyb3R0bGluZyBhbmQgQ1NTIGFuaW1hdGlvbiBzdXNwZW5z
aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTIz
MDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQg
cHJpdmF0ZSBwcmVmZXJlbmNlIGZvciBlbmFibGluZy9kaXNhYmxpbmcgaGlkZGVuIHBhZ2UgRE9N
IHRpbWVyCisgICAgICAgIHRocm90dGxpbmcgYW5kIENTUyBhbmltYXRpb24gc3VzcGVuc2lvbi4K
KworICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAg
ICogV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbToKKyAgICAgICAgKCtbV2ViUHJlZmVyZW5jZXMg
aW5pdGlhbGl6ZV0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBoaWRkZW5QYWdlRE9NVGlt
ZXJUaHJvdHRsaW5nRW5hYmxlZF0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRIaWRk
ZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZDpdKToKKyAgICAgICAgKC1bV2ViUHJlZmVy
ZW5jZXMgaGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkXSk6CisgICAgICAg
ICgtW1dlYlByZWZlcmVuY2VzIHNldEhpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5h
YmxlZDpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAg
ICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5j
ZXNDaGFuZ2VkOl0pOgorCiAyMDEzLTAzLTEyICBBYmhpc2hlayBBcnlhICA8aW5mZXJub0BjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgUmVwbGFjZSBzdGF0aWNfY2FzdHMgd2l0aCB0byogZnVuY3Rp
b25zLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCmluZGV4IDljODUxZmE0NTcwMmQ5YWVmZTU0Mjc4ODdmOTM5ZTQ0YjQ3ZjZl
ZmYuLjZkOWNkZGY1NWQ0MmMyMjQ4NzRmZGFmNTZiNDY5MWRhYmVjNGU4OGYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyNiBAQAorMjAxMy0wMy0xMyAgS2lyYW4gTXVwcGFsYSAgPGNtdXBwYWxhQGFw
cGxlLmNvbT4KKworICAgICAgICBBZGQgcnVudGltZSBzZXR0aW5nIGZvciBoaWRkZW4gcGFnZSBE
T00gdGltZXIgdGhyb3R0bGluZyBhbmQgQ1NTIGFuaW1hdGlvbiBzdXNwZW5zaW9uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTIzMDgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgcHJpdmF0ZSBwcmVm
ZXJlbmNlIGZvciBlbmFibGluZy9kaXNhYmxpbmcgaGlkZGVuIHBhZ2UgRE9NIHRpbWVyCisgICAg
ICAgIHRocm90dGxpbmcgYW5kIENTUyBhbmltYXRpb24gc3VzcGVuc2lvbi4KKworICAgICAgICAq
IFNoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
L1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQcmVmZXJlbmNlc1NldEhpZGRlblBhZ2VE
T01UaW1lclRocm90dGxpbmdFbmFibGVkKToKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNHZXRIaWRk
ZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2Vz
U2V0SGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkKToKKyAgICAgICAgKFdL
UHJlZmVyZW5jZXNHZXRIaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6b3ZlcnJpZGVCb29sUHJlZmVyZW5jZUZvclRlc3RS
dW5uZXIpOiBBbGxvdworICAgICAgICBXZWJLaXRUZXN0UnVubmVyIHRvIG92ZXJyaWRlIGhpZGRl
blBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dXBkYXRlUHJlZmVy
ZW5jZXMpOgorCiAyMDEzLTAzLTEyICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNv
bT4KIAogICAgICAgICBbR1RLXSBSZW1vdmUgSElMRE9OX0NQUEZMQUdTIGFuZCBISUxET05fQ0ZM
QUdTIHJlZmVyZW5jZXMgZnJvbSBHTlVtYWtlZmlsZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXgg
YzdiNDRhZGU5MzgzNzBlZDAxMjAyYmVkN2I1NmQ2NGNkYmNkMGFiNC4uMWQ0YmZlOTQ4NThjOWU4
NzViNjUxNDNmMDM4YzMzYzYxZTVhMDdhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTEwMzcs
NiArMTAzNyw4IEBAIF9fWk43V2ViQ29yZThTZXR0aW5nczMyc2V0TmVlZHNBZG9iZUZyYW1lUmVs
b2FkaW5nUXVpcmtFYgogX19aTjdXZWJDb3JlOFNldHRpbmdzMzJzZXRTY3JlZW5Gb250U3Vic3Rp
dHV0aW9uRW5hYmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MzM3NldEFnZ3Jlc3NpdmVUaWxl
UmV0ZW50aW9uRW5hYmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MzN3NldFNjcm9sbGluZ1Bl
cmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWRFYgorX19aTjdXZWJDb3JlOFNldHRpbmdzMzhzZXRIaWRk
ZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZEViCitfX1pON1dlYkNvcmU4U2V0dGluZ3M0
MnNldEhpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZEViCiBfX1pON1dlYkNv
cmU4U2V0dGluZ3M0NXNldFNob3VsZFJlc3BlY3RQcmlvcml0eUluQ1NTQXR0cmlidXRlU2V0dGVy
c0ViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMXNldFJlc29sdXRpb25PdmVycmlkZUVSS05TXzdJ
bnRTaXplRQogX19aTjdXZWJDb3JlOFNldHRpbmdzMjBzZXRNZWRpYVR5cGVPdmVycmlkZUVSS04z
V1RGNlN0cmluZ0UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IDIyZjMxMmZjMzllOTQwOTM1OWFiOGNm
YjRhMzQ0MGFmZTEyMDI3MzIuLjU5ZDg1NDdkMzdiY2VhNjE1OWJjMTEzMjFiYmFiZWVjZjFhMDAy
YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMTIzNiwxNCArMTIzNiwxOCBAQCB2b2lkIFBhZ2U6
OnNldFZpc2liaWxpdHlTdGF0ZShQYWdlVmlzaWJpbGl0eVN0YXRlIHZpc2liaWxpdHlTdGF0ZSwg
Ym9vbCBpc0luaXRpYQogCiAgICAgaWYgKHZpc2liaWxpdHlTdGF0ZSA9PSBXZWJDb3JlOjpQYWdl
VmlzaWJpbGl0eVN0YXRlSGlkZGVuKSB7CiAjaWYgRU5BQkxFKEhJRERFTl9QQUdFX0RPTV9USU1F
Ul9USFJPVFRMSU5HKQotICAgICAgICBzZXRUaW1lckFsaWdubWVudEludGVydmFsKFNldHRpbmdz
OjpoaWRkZW5QYWdlRE9NVGltZXJBbGlnbm1lbnRJbnRlcnZhbCgpKTsKKyAgICAgICAgaWYgKG1f
c2V0dGluZ3MtPmhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkKCkpCisgICAgICAg
ICAgICBzZXRUaW1lckFsaWdubWVudEludGVydmFsKFNldHRpbmdzOjpoaWRkZW5QYWdlRE9NVGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbCgpKTsKICNlbmRpZgotICAgICAgICBtYWluRnJhbWUoKS0+YW5p
bWF0aW9uKCktPnN1c3BlbmRBbmltYXRpb25zKCk7CisgICAgICAgIGlmIChtX3NldHRpbmdzLT5o
aWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQoKSkKKyAgICAgICAgICAgIG1h
aW5GcmFtZSgpLT5hbmltYXRpb24oKS0+c3VzcGVuZEFuaW1hdGlvbnMoKTsKICAgICB9IGVsc2Ug
ewogI2lmIEVOQUJMRShISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykKLSAgICAgICAg
c2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbChTZXR0aW5nczo6ZGVmYXVsdERPTVRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWwoKSk7CisgICAgICAgIGlmIChtX3NldHRpbmdzLT5oaWRkZW5QYWdlRE9NVGlt
ZXJUaHJvdHRsaW5nRW5hYmxlZCgpKQorICAgICAgICAgICAgc2V0VGltZXJBbGlnbm1lbnRJbnRl
cnZhbChTZXR0aW5nczo6ZGVmYXVsdERPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKSk7CiAjZW5k
aWYKLSAgICAgICAgbWFpbkZyYW1lKCktPmFuaW1hdGlvbigpLT5yZXN1bWVBbmltYXRpb25zKCk7
CisgICAgICAgIGlmIChtX3NldHRpbmdzLT5oaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lv
bkVuYWJsZWQoKSkKKyAgICAgICAgICAgIG1haW5GcmFtZSgpLT5hbmltYXRpb24oKS0+cmVzdW1l
QW5pbWF0aW9ucygpOwogICAgIH0KICNpZiAhRU5BQkxFKFBBR0VfVklTSUJJTElUWV9BUEkpCiAg
ICAgVU5VU0VEX1BBUkFNKGlzSW5pdGlhbFN0YXRlKTsKQEAgLTE0NDIsNiArMTQ0NiwzMSBAQCB2
b2lkIFBhZ2U6OnJlc2V0U2Vlbk1lZGlhRW5naW5lcygpCiAgICAgbV9zZWVuTWVkaWFFbmdpbmVz
LmNsZWFyKCk7CiB9CiAKKyNpZiBFTkFCTEUoSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJ
TkcpCit2b2lkIFBhZ2U6OmhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdTdGF0ZUNoYW5nZWQo
KQoreworICAgIGlmIChtX3NldHRpbmdzLT5oaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5h
YmxlZCgpKSB7CisjaWYgRU5BQkxFKFBBR0VfVklTSUJJTElUWV9BUEkpCisgICAgICAgIGlmICht
X3Zpc2liaWxpdHlTdGF0ZSA9PSBXZWJDb3JlOjpQYWdlVmlzaWJpbGl0eVN0YXRlSGlkZGVuKQor
ICAgICAgICAgICAgc2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbChTZXR0aW5nczo6aGlkZGVuUGFn
ZURPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKSk7CisjZW5kaWYKKyAgICB9IGVsc2UKKyAgICAg
ICAgc2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbChTZXR0aW5nczo6ZGVmYXVsdERPTVRpbWVyQWxp
Z25tZW50SW50ZXJ2YWwoKSk7Cit9CisjZW5kaWYKKworI2lmIChFTkFCTEVfUEFHRV9WSVNJQklM
SVRZX0FQSSkKK3ZvaWQgUGFnZTo6aGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25TdGF0
ZUNoYW5nZWQoKQoreworICAgIGlmIChtX3Zpc2liaWxpdHlTdGF0ZSA9PSBXZWJDb3JlOjpQYWdl
VmlzaWJpbGl0eVN0YXRlSGlkZGVuKSB7CisgICAgICAgIGlmIChtX3NldHRpbmdzLT5oaWRkZW5Q
YWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQoKSkKKyAgICAgICAgICAgIG1haW5GcmFt
ZSgpLT5hbmltYXRpb24oKS0+c3VzcGVuZEFuaW1hdGlvbnMoKTsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgbWFpbkZyYW1lKCktPmFuaW1hdGlvbigpLT5yZXN1bWVBbmltYXRpb25zKCk7Cisg
ICAgfQorfQorI2VuZGlmCisKIHZvaWQgUGFnZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2Jq
ZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8g
aW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OlBhZ2UpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuaAppbmRleCA5OTkxNWEwOWJjNWU3ZjQwNjVmZWVmOWU2YjQxYTQ0MGM4NWI0NTll
Li5kMzgxNWRkMDc4YjhjOGExMmM1ODhhMWRhMDIxYmI3NzE5MzQwOWY4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
aApAQCAtMzc4LDYgKzM3OCwxMyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzYXdNZWRpYUVuZ2luZShj
b25zdCBTdHJpbmcmIGVuZ2luZU5hbWUpOwogICAgIHZvaWQgcmVzZXRTZWVuTWVkaWFFbmdpbmVz
KCk7CiAKKyNpZiBFTkFCTEUoSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpCisgICAg
dm9pZCBoaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nU3RhdGVDaGFuZ2VkKCk7CisjZW5kaWYK
KyNpZiBFTkFCTEUoUEFHRV9WSVNJQklMSVRZX0FQSSkKKyAgICB2b2lkIGhpZGRlblBhZ2VDU1NB
bmltYXRpb25TdXNwZW5zaW9uU3RhdGVDaGFuZ2VkKCk7CisjZW5kaWYKKwogICAgIHZvaWQgcmVw
b3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyopIGNvbnN0OwogCiBwcml2YXRlOgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmNwcAppbmRleCBhM2JjZGRiNzYwMjFlMmM2ZWQ3OGQ2NDg0ZjNkNmVk
NjJjMWM4ZTBmLi42MmFlYjJlY2Q4MThiNDQxYjVlY2FhZTIwNTc1MDVkZGVmNzYzYzU3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmNwcApAQCAtMTg2LDYgKzE4NiwxMiBAQCBTZXR0aW5nczo6U2V0
dGluZ3MoUGFnZSogcGFnZSkKICAgICAsIG1fYWdncmVzc2l2ZVRpbGVSZXRlbnRpb25FbmFibGVk
KGZhbHNlKQogICAgICwgbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250
cm9scygzKQogICAgICwgbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyKHRoaXMsICZTZXR0
aW5nczo6aW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lckZpcmVkKQorI2lmIEVOQUJMRShISURERU5f
UEFHRV9ET01fVElNRVJfVEhST1RUTElORykKKyAgICAsIG1faGlkZGVuUGFnZURPTVRpbWVyVGhy
b3R0bGluZ0VuYWJsZWQoZmFsc2UpCisjZW5kaWYKKyNpZiBFTkFCTEUoUEFHRV9WSVNJQklMSVRZ
X0FQSSkKKyAgICAsIG1faGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkKGZh
bHNlKQorI2VuZGlmCiB7CiAgICAgLy8gQSBGcmFtZSBtYXkgbm90IGhhdmUgYmVlbiBjcmVhdGVk
IHlldCwgc28gd2UgaW5pdGlhbGl6ZSB0aGUgQXRvbWljU3RyaW5nCiAgICAgLy8gaGFzaCBiZWZv
cmUgdHJ5aW5nIHRvIHVzZSBpdC4KQEAgLTYwMiw0ICs2MDgsMjQgQEAgYm9vbCBTZXR0aW5nczo6
c2hvdWxkUmVzcGVjdFByaW9yaXR5SW5DU1NBdHRyaWJ1dGVTZXR0ZXJzKCkKIH0KICNlbmRpZgog
CisjaWYgRU5BQkxFKEhJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKQordm9pZCBTZXR0
aW5nczo6c2V0SGlkZGVuUGFnZURPTVRpbWVyVGhyb3R0bGluZ0VuYWJsZWQoYm9vbCBmbGFnKQor
eworICAgIGlmIChtX2hpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkID09IGZsYWcp
CisgICAgICAgIHJldHVybjsKKyAgICBtX2hpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFi
bGVkID0gZmxhZzsKKyAgICBtX3BhZ2UtPmhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdTdGF0
ZUNoYW5nZWQoKTsKK30KKyNlbmRpZgorCisjaWYgRU5BQkxFKFBBR0VfVklTSUJJTElUWV9BUEkp
Cit2b2lkIFNldHRpbmdzOjpzZXRIaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJs
ZWQoYm9vbCBmbGFnKQoreworICAgIGlmIChtX2hpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5z
aW9uRW5hYmxlZCA9PSBmbGFnKQorICAgICAgICByZXR1cm47CisgICAgbV9oaWRkZW5QYWdlQ1NT
QW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQgPSBmbGFnOworICAgIG1fcGFnZS0+aGlkZGVuUGFn
ZUNTU0FuaW1hdGlvblN1c3BlbnNpb25TdGF0ZUNoYW5nZWQoKTsKK30KKyNlbmRpZgorCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRp
bmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggNGNkZWU1MzVjYWE1
MGVlOTBkZjU2MDRkMTA5NDNlYmY5Y2FjZjZmOC4uNjVjMjE3YWM1ZGJhMDdjZjNlNTU4M2JhM2Nj
Njg3OTJkYTA1YjgxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaApAQCAtMTgwLDYgKzE4MCwxMSBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgc2V0RE9NVGltZXJBbGlnbm1lbnRJ
bnRlcnZhbChkb3VibGUpOwogICAgICAgICBkb3VibGUgZG9tVGltZXJBbGlnbm1lbnRJbnRlcnZh
bCgpIGNvbnN0OwogCisjaWYgRU5BQkxFKEhJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5H
KQorICAgICAgICBib29sIGhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkKCkgY29u
c3QgeyByZXR1cm4gbV9oaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZDsgfQorICAg
ICAgICB2b2lkIHNldEhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkKGJvb2wpOwor
I2VuZGlmCisKICAgICAgICAgdm9pZCBzZXRVc2VzUGFnZUNhY2hlKGJvb2wpOwogICAgICAgICBi
b29sIHVzZXNQYWdlQ2FjaGUoKSBjb25zdCB7IHJldHVybiBtX3VzZXNQYWdlQ2FjaGU7IH0KICAg
ICAgICAgCkBAIC0yNjcsNiArMjcyLDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
dm9pZCBzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyhkb3Vi
bGUgdGltZSkgeyBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xz
ID0gdGltZTsgfQogICAgICAgICBkb3VibGUgdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3Jl
SGlkaW5nQ29udHJvbHMoKSBjb25zdCB7IHJldHVybiBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVu
dEJlZm9yZUhpZGluZ0NvbnRyb2xzOyB9CiAKKyNpZiBFTkFCTEUoUEFHRV9WSVNJQklMSVRZX0FQ
SSkKKyAgICAgICAgYm9vbCBoaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQo
KSBjb25zdCB7IHJldHVybiBtX2hpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxl
ZDsgfQorICAgICAgICB2b2lkIHNldEhpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5h
YmxlZChib29sKTsKKyNlbmRpZgorCiAgICAgcHJpdmF0ZToKICAgICAgICAgZXhwbGljaXQgU2V0
dGluZ3MoUGFnZSopOwogCkBAIC0zMjgsNiArMzM4LDEzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgVGltZXI8U2V0dGluZ3M+IG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lcjsK
ICAgICAgICAgdm9pZCBpbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyRmlyZWQoVGltZXI8U2V0dGlu
Z3M+Kik7CiAKKyNpZiBFTkFCTEUoSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpCisg
ICAgICAgIGJvb2wgbV9oaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZCA6IDE7Cisj
ZW5kaWYKKyNpZiBFTkFCTEUoUEFHRV9WSVNJQklMSVRZX0FQSSkKKyAgICAgICAgYm9vbCBtX2hp
ZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZCA6IDE7CisjZW5kaWYKKwogICAg
ICAgICBzdGF0aWMgZG91YmxlIGdEZWZhdWx0TWluRE9NVGltZXJJbnRlcnZhbDsKICAgICAgICAg
c3RhdGljIGRvdWJsZSBnRGVmYXVsdERPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWw7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRl
LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5o
CmluZGV4IDRlNjU4ODQ0OThlYjMyNjEyOGVkYWJkYzIwNjg1YTZmZDFlNjEwNjkuLjhjNTA5ZDNj
NzQzMmQ3MTM0OTZmNzEwZGFlZjhkOWRlODhhMjAyNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaApAQCAtMTMwLDYgKzEz
MCw4IEBACiAjZGVmaW5lIFdlYktpdFN0b3JhZ2VCbG9ja2luZ1BvbGljeUtleSBAIldlYktpdFN0
b3JhZ2VCbG9ja2luZ1BvbGljeSIKICNkZWZpbmUgV2ViS2l0UGx1Z0luU25hcHNob3R0aW5nRW5h
YmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRQbHVnSW5TbmFwc2hvdHRpbmdFbmFibGVkIgogI2Rl
ZmluZSBXZWJLaXRRVEtpdEVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0UVRLaXRFbmFibGVk
IgorI2RlZmluZSBXZWJLaXRIaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZFByZWZl
cmVuY2VLZXkgQCJXZWJLaXRIaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZCIKKyNk
ZWZpbmUgV2ViS2l0SGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkUHJlZmVy
ZW5jZUtleSBAIldlYktpdEhpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZCIK
IAogLy8gVGhlc2UgYXJlIHByaXZhdGUgYm90aCBiZWNhdXNlIGNhbGxlcnMgc2hvdWxkIGJlIHVz
aW5nIHRoZSBjb3ZlciBtZXRob2RzIGFuZCBiZWNhdXNlIHRoZQogLy8gY292ZXIgbWV0aG9kcyB0
aGVtc2VsdmVzIGFyZSBwcml2YXRlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZXMubW0KaW5kZXggZTA3MDRkMzg1ZWU2NTE3ZTlkZTI1MzdhMWY1MDU3ZDcxYjExYmNh
YS4uNWUwMTQyYWVkZDdkM2IwZDA4NDYwNzM1NjQwN2U4ODJkOGYzYzkxZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCkBAIC00MjAsNiArNDIwLDggQEAg
cHVibGljOgogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aExvbmdMb25nOkFwcGxpY2F0aW9u
Q2FjaGVTdG9yYWdlOjpub1F1b3RhKCldLCBXZWJLaXRBcHBsaWNhdGlvbkNhY2hlVG90YWxRdW90
YSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhMb25nTG9uZzpBcHBsaWNhdGlvbkNhY2hl
U3RvcmFnZTo6bm9RdW90YSgpXSwgV2ViS2l0QXBwbGljYXRpb25DYWNoZURlZmF1bHRPcmlnaW5R
dW90YSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10sICBXZWJLaXRRVEtp
dEVuYWJsZWRQcmVmZXJlbmNlS2V5LAorICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6
Tk9dLCBXZWJLaXRIaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZFByZWZlcmVuY2VL
ZXksCisgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sIFdlYktpdEhpZGRlblBh
Z2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIG5p
bF07CiAKIApAQCAtMTc5OSw2ICsxODAxLDI2IEBAIHN0YXRpYyBOU1N0cmluZyAqY2xhc3NJQkNy
ZWF0b3JJRCA9IG5pbDsKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmVuYWJsZWQgZm9yS2V5Oldl
YktpdFBsdWdJblNuYXBzaG90dGluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKIH0KIAorLSAoQk9P
TCloaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZAoreworICAgIHJldHVybiBbc2Vs
ZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdEhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFi
bGVkUHJlZmVyZW5jZUtleV07Cit9CisKKy0gKHZvaWQpc2V0SGlkZGVuUGFnZURPTVRpbWVyVGhy
b3R0bGluZ0VuYWJsZWQ6KEJPT0wpZW5hYmxlZAoreworICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6
ZW5hYmxlZCBmb3JLZXk6V2ViS2l0SGlkZGVuUGFnZURPTVRpbWVyVGhyb3R0bGluZ0VuYWJsZWRQ
cmVmZXJlbmNlS2V5XTsKK30KKworLSAoQk9PTCloaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVu
c2lvbkVuYWJsZWQKK3sKKyAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRI
aWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30K
KworLSAodm9pZClzZXRIaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQ6KEJP
T0wpZW5hYmxlZAoreworICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZW5hYmxlZCBmb3JLZXk6V2Vi
S2l0SGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkUHJlZmVyZW5jZUtleV07
Cit9CisKIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdlYlByZWZlcmVuY2VzIChXZWJJbnRlcm5h
bCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQ
cml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0
ZS5oCmluZGV4IGZhYmNhNGIwMjNhYWNmOTgzNTBiODg0ZWU0MDFiNzk5NjIwNjdjNjkuLmVjZTQ4
NGZmODBhMDJmZWQ2MTQwYTU1Zjk1YmVkMDcxMjgyZTI1MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaApAQCAtMzI5LDQgKzMyOSwx
MCBAQCBleHRlcm4gTlNTdHJpbmcgKldlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbENoYW5nZWRJbnRl
cm5hbE5vdGlmaWNhdGlvbjsKIC0gKEJPT0wpcGx1Z0luU25hcHNob3R0aW5nRW5hYmxlZDsKIC0g
KHZvaWQpc2V0UGx1Z0luU25hcHNob3R0aW5nRW5hYmxlZDooQk9PTCllbmFibGVkOwogCistIChC
T09MKWhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkOworLSAodm9pZClzZXRIaWRk
ZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZDooQk9PTClmbGFnOworCistIChCT09MKWhp
ZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZDsKKy0gKHZvaWQpc2V0SGlkZGVu
UGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkOihCT09MKWZsYWc7CisKIEBlbmQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCA2NTdmOTIwYTQ0ZTkyZWUwN2ZhM2U3
NjIyNWU1YzJjZDgxM2FjNTNlLi4wN2I5NGY2MWU1MjliYjcwMjNjYTc3YzY3OTEyZGJiMjI0MzEz
ZWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysr
IGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0xNTk0LDYgKzE1OTQs
MTMgQEAgc3RhdGljIGJvb2wgbmVlZHNTZWxmUmV0YWluV2hpbGVMb2FkaW5nUXVpcmsoKQogCiAg
ICAgc2V0dGluZ3MtPnNldFBsdWdJblNuYXBzaG90dGluZ0VuYWJsZWQoW3ByZWZlcmVuY2VzIHBs
dWdJblNuYXBzaG90dGluZ0VuYWJsZWRdKTsKIAorI2lmIEVOQUJMRShISURERU5fUEFHRV9ET01f
VElNRVJfVEhST1RUTElORykKKyAgICBzZXR0aW5ncy0+c2V0SGlkZGVuUGFnZURPTVRpbWVyVGhy
b3R0bGluZ0VuYWJsZWQoW3ByZWZlcmVuY2VzIGhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdF
bmFibGVkXSk7CisjZW5kaWYKKyNpZiBFTkFCTEUoUEFHRV9WSVNJQklMSVRZX0FQSSkKKyAgICBz
ZXR0aW5ncy0+c2V0SGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkKFtwcmVm
ZXJlbmNlcyBoaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWRdKTsKKyNlbmRp
ZgorCiAgICAgLy8gV2UgaGF2ZSBlbmFibGVkIHRoaXMgc2V0dGluZyBpbiBXZWJLaXQyIGZvciB0
aGUgc2FrZSBvZiBzb21lIFNjcm9sbGluZ0Nvb3JkaW5hdG9yIHdvcmsuCiAgICAgLy8gVG8gYXZv
aWQgcG9zc2libGUgcmVuZGVyaW5nIGRpZmZlcmVuY2VzLCB3ZSBzaG91bGQgZW5hYmxlIGl0IGZv
ciBXZWJLaXQxIHRvby4KICAgICBzZXR0aW5ncy0+c2V0Rml4ZWRQb3NpdGlvbkNyZWF0ZXNTdGFj
a2luZ0NvbnRleHQodHJ1ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
UHJlZmVyZW5jZXNTdG9yZS5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2Vz
U3RvcmUuaAppbmRleCBkYWNjYWYzNjYwZjA1ZTljY2RjZDE2ZGZlYTc4NDczMzY2NjBiMTg0Li4w
MWM4YzcxNjk1NzM4N2QyMTI1YmE4ZDA0NmI4YWIyNDlmN2FmMGI1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgKQEAgLTE0NCw2ICsxNDQsOCBAQCBuYW1l
c3BhY2UgV2ViS2l0IHsKICAgICBtYWNybyhTbWFydEluc2VydERlbGV0ZUVuYWJsZWQsIHNtYXJ0
SW5zZXJ0RGVsZXRlRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAogICAgIG1hY3JvKFNob3dz
VVJMc0luVG9vbFRpcHNFbmFibGVkLCBzaG93c1VSTHNJblRvb2xUaXBzRW5hYmxlZCwgQm9vbCwg
Ym9vbCwgZmFsc2UpIFwKICAgICBtYWNybyhBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yT3ZlcmZs
b3dTY3JvbGxFbmFibGVkLCBhY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yT3ZlcmZsb3dTY3JvbGxF
bmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAorICAgIG1hY3JvKEhpZGRlblBhZ2VET01UaW1l
clRocm90dGxpbmdFbmFibGVkLCBoaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZCwg
Qm9vbCwgYm9vbCwgdHJ1ZSkgXAorICAgIG1hY3JvKEhpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNw
ZW5zaW9uRW5hYmxlZCwgaGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkLCBC
b29sLCBib29sLCB0cnVlKSBcCiAgICAgXAogCiAjZGVmaW5lIEZPUl9FQUNIX1dFQktJVF9ET1VC
TEVfUFJFRkVSRU5DRShtYWNybykgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLUHJlZmVyZW5jZXMuY3BwCmluZGV4IGU2OTgzOTc1ZjA4OTc5ZGQ5NDA1ZTIzZWU2Y2Ez
ZmVhMjdkODIxZjcuLjljYTUwMTgwZDhhN2MwMzMxMzljNTlkMTY2Yzk4NjQ0YzNmNTgwYzIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAK
QEAgLTEwNzMsMyArMTA3MywyMyBAQCBib29sIFdLUHJlZmVyZW5jZXNHZXRTaG93c1VSTHNJblRv
b2xUaXBzRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQogewogICAgIHJl
dHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zaG93c1VSTHNJblRvb2xUaXBzRW5hYmxlZCgp
OwogfQorCit2b2lkIFdLUHJlZmVyZW5jZXNTZXRIaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5n
RW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQpCit7
CisgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0SGlkZGVuUGFnZURPTVRpbWVyVGhyb3R0
bGluZ0VuYWJsZWQoZW5hYmxlZCk7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldEhpZGRlblBh
Z2VET01UaW1lclRocm90dGxpbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNS
ZWYpCit7CisgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPmhpZGRlblBhZ2VET01U
aW1lclRocm90dGxpbmdFbmFibGVkKCk7Cit9CisKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldEhpZGRl
blBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZl
cmVuY2VzUmVmLCBib29sIGVuYWJsZWQpCit7CisgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+
c2V0SGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkKGVuYWJsZWQpOworfQor
Citib29sIFdLUHJlZmVyZW5jZXNHZXRIaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVu
YWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKK3sKKyAgICByZXR1cm4gdG9J
bXBsKHByZWZlcmVuY2VzUmVmKS0+aGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFi
bGVkKCk7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQ
cmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1By
ZWZlcmVuY2VzUHJpdmF0ZS5oCmluZGV4IDU1NDJmZGQwODQyYjAzYWZlZjRhYTFjNGY3NWY4NTg5
MDA1YjU1ZjEuLmZlNDE2OWRkZDM4MTkwOGU2NWUxMjA2N2U1M2IyNDI4YmMyMDA0NTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUHJpdmF0
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUHJp
dmF0ZS5oCkBAIC0yNTksNiArMjU5LDEzIEBAIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNH
ZXRTbWFydEluc2VydERlbGV0ZUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlCiBXS19F
WFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0U2hvd3NVUkxzSW5Ub29sVGlwc0VuYWJsZWQoV0tQ
cmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlcywgYm9vbCBlbmFibGVkKTsKIFdLX0VYUE9SVCBib29s
IFdLUHJlZmVyZW5jZXNHZXRTaG93c1VSTHNJblRvb2xUaXBzRW5hYmxlZChXS1ByZWZlcmVuY2Vz
UmVmIHByZWZlcmVuY2VzKTsKIAorLy8gRGVmYXVsdHMgdG8gdHJ1ZQorV0tfRVhQT1JUIHZvaWQg
V0tQcmVmZXJlbmNlc1NldEhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkKFdLUHJl
ZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXMsIGJvb2wgZW5hYmxlZCk7CitXS19FWFBPUlQgYm9vbCBX
S1ByZWZlcmVuY2VzR2V0SGlkZGVuUGFnZURPTVRpbWVyVGhyb3R0bGluZ0VuYWJsZWQoV0tQcmVm
ZXJlbmNlc1JlZiBwcmVmZXJlbmNlcyk7CisKKy8vIERlZmF1bHRzIHRvIHRydWUKK1dLX0VYUE9S
VCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRIaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVu
YWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlcywgYm9vbCBlbmFibGVkKTsKK1dLX0VY
UE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRIaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lv
bkVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlcyk7CiAKIFdLX0VYUE9SVCB2b2lk
IFdLUHJlZmVyZW5jZXNSZXNldFRlc3RSdW5uZXJPdmVycmlkZXMoV0tQcmVmZXJlbmNlc1JlZiBw
cmVmZXJlbmNlc1JlZik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKaW5kZXggMWFkMjRjZjY2MDdm
MDI4YmIyY2JiY2U1NDc2NDA1N2Y5OWIyOTAwNi4uYmQxZTU3YmQwMmQxYzNmYWY4ODFmOGY0ZDdk
NDBkZGU2MzRkNjFkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKQEAgLTIzMSw2ICsyMzEsMTAg
QEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6b3ZlcnJpZGVCb29sUHJlZmVyZW5jZUZvclRlc3RSdW5u
ZXIoV2ViUGFnZUdyb3VwUHJveHkqIHBhZ2UKIAogICAgIEZPUl9FQUNIX09WRVJSSURFX0JPT0xf
UFJFRkVSRU5DRShPVkVSUklERV9QUkVGRVJFTkNFX0FORF9TRVRfSU5fRVhJU1RJTkdfUEFHRVMp
CiAKKyNpZiBFTkFCTEUoSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpCisgICAgT1ZF
UlJJREVfUFJFRkVSRU5DRV9BTkRfU0VUX0lOX0VYSVNUSU5HX1BBR0VTKFdlYktpdEhpZGRlblBh
Z2VET01UaW1lclRocm90dGxpbmdFbmFibGVkLCBIaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5n
RW5hYmxlZCwgaGlkZGVuUGFnZURPTVRpbWVyVGhyb3R0bGluZ0VuYWJsZWQpCisjZW5kaWYKKwog
I3VuZGVmIE9WRVJSSURFX1BSRUZFUkVOQ0VfQU5EX1NFVF9JTl9FWElTVElOR19QQUdFUwogI3Vu
ZGVmIEZPUl9FQUNIX09WRVJSSURFX0JPT0xfUFJFRkVSRU5DRQogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGY5N2RmNjAzNGI0ZDc0ODFj
NjhhMGUxZjM1OGI4MmU2NWZlMzdkM2EuLjhjMDI3ZTI3OWFjMzk2MWNlNzkyZDk1ZjY4NjQ2OTQ2
NzYwNDc5NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHAKQEAgLTI0MTMsNiArMjQxMywxMyBAQCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZVByZWZlcmVu
Y2VzKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0b3JlKQogICAgIHNldHRpbmdzLT5zZXRT
bWFydEluc2VydERlbGV0ZUVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZl
cmVuY2VzS2V5OjpzbWFydEluc2VydERlbGV0ZUVuYWJsZWRLZXkoKSkpOwogICAgIHNldHRpbmdz
LT5zZXRTaG93c1VSTHNJblRvb2xUaXBzKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVm
ZXJlbmNlc0tleTo6c2hvd3NVUkxzSW5Ub29sVGlwc0VuYWJsZWRLZXkoKSkpOwogCisjaWYgRU5B
QkxFKEhJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKQorICAgIHNldHRpbmdzLT5zZXRI
aWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JL
ZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVk
S2V5KCkpKTsKKyNlbmRpZgorI2lmIEVOQUJMRShQQUdFX1ZJU0lCSUxJVFlfQVBJKQorICAgIHNl
dHRpbmdzLT5zZXRIaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQoc3RvcmUu
Z2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpoaWRkZW5QYWdlQ1NTQW5pbWF0
aW9uU3VzcGVuc2lvbkVuYWJsZWRLZXkoKSkpOworI2VuZGlmCisKICAgICBwbGF0Zm9ybVByZWZl
cmVuY2VzRGlkQ2hhbmdlKHN0b3JlKTsKIAogICAgIGlmIChtX2RyYXdpbmdBcmVhKQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IGUwM2E0M2FiY2RhN2NkNWY5NzgzNDZkNDg0ZWFhNWIxMGMwMmMyNzkuLjQyOTI0ZjNlYTlkNTNj
Mzk0MWFiZmNkNjcyYjU4ZTU1Yjk0NDQyMWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMy0w
My0xMyAgS2lyYW4gTXVwcGFsYSAgPGNtdXBwYWxhQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQg
cnVudGltZSBzZXR0aW5nIGZvciBoaWRkZW4gcGFnZSBET00gdGltZXIgdGhyb3R0bGluZyBhbmQg
Q1NTIGFuaW1hdGlvbiBzdXNwZW5zaW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMTIzMDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBIaWRkZW4gcGFnZSBET00gdGltZXIgdGhyb3R0bGluZyBpcyBkaXNh
YmxlZCBieSBkZWZhdWx0IGluIFdlYktpdDEuICBPdmVycmlkZQorICAgICAgICB0aGUgcHJlZmVy
ZW5jZSB0byBlbmFibGUgaXQgZHVyaW5nIHRoZSB0ZXN0LgorCisgICAgICAgICogZmFzdC9kb20v
dGltZXItdGhyb3R0bGluZy1oaWRkZW4tcGFnZS5odG1sOgorCiAyMDEzLTAzLTEyICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFNvbWUgY2FudmFzIHRlc3RzIG9u
bHkgZmFpbCBvbiBNYWMgRVdTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS90aW1l
ci10aHJvdHRsaW5nLWhpZGRlbi1wYWdlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS90aW1l
ci10aHJvdHRsaW5nLWhpZGRlbi1wYWdlLmh0bWwKaW5kZXggOTVmYmUyYTc3ZmIyMjIxZDhlY2E2
YzM0ZjBlZjVkNWVhZTE3NWIyOS4uOWY3MWI5ZjZlZTU1MTgxMDIzNzM5MzVjMWI3ZmYzNWJkYjk4
ZDk0NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vdGltZXItdGhyb3R0bGluZy1o
aWRkZW4tcGFnZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3RpbWVyLXRocm90dGxp
bmctaGlkZGVuLXBhZ2UuaHRtbApAQCAtNTYsNiArNTYsOCBAQAogICAgICAgICAgICAgICAgIGRl
YnVnKCdUaGlzIHRlc3QgcmVxdWlyZXMgdGVzdFJ1bm5lcicpOwogICAgICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVm
ZXJlbmNlKCJXZWJLaXRIaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZCIsIDEpOwor
CiAgICAgICAgICAgICB2YXIgdGltZW91dEludGVydmFsU3BhbnMgPSBkb2N1bWVudC5nZXRFbGVt
ZW50c0J5Q2xhc3NOYW1lKCd0aW1lb3V0SW50ZXJ2YWwnKTsKICAgICAgICAgICAgIGZvciAodmFy
IGkgPSAwOyBpIDwgdGltZW91dEludGVydmFsU3BhbnMubGVuZ3RoOyBpKyspCiAgICAgICAgICAg
ICAgICAgdGltZW91dEludGVydmFsU3BhbnNbaV0uaW5uZXJUZXh0ID0gdGltZW91dEludGVydmFs
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193422</attachid>
            <date>2013-03-15 21:42:29 -0700</date>
            <delta_ts>2013-03-22 19:07:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112308-20130315213824.patch</filename>
            <type>text/plain</type>
            <size>24197</size>
            <attacher name="Kiran Muppala">cmuppala</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1NTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2Q4ZWEyODIyMzU3Njdj
MTFkM2Y3NzBlNDkxNDJmZDViNzlhNGZlOC4uMjFhNGU5ZDUxNDEyMmE3MzIxMzU4NzRiZjY0ZGQ2
OGNmNDg4ZDQwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEzLTAzLTEzICBLaXJh
biBNdXBwYWxhICA8Y211cHBhbGFAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBydW50aW1lIHNl
dHRpbmcgZm9yIGhpZGRlbiBwYWdlIERPTSB0aW1lciB0aHJvdHRsaW5nIGFuZCBDU1MgYW5pbWF0
aW9uIHN1c3BlbnNpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExMjMwOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE5vIG5ldyB0ZXN0cy4gIE9ubHkgYWRkaW5nIHNldHRpbmdzIHRvIGVuYWJsZS9kaXNh
YmxlIGV4aXN0aW5nIGZlYXR1cmVzCisgICAgICAgIGFuZCBoZW5jZSBleGlzdGluZyB0ZXN0cyBz
dWZmaWNlLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogcGFnZS9QYWdl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnNldFZpc2liaWxpdHlTdGF0ZSk6IENoZWNr
IGlmIERPTSB0aW1lciB0aHJvdHRsaW5nCisgICAgICAgIGFuZCBDU1MgYW5pbWF0aW9uIHN1c3Bl
bnNpb24gYXJlIGVuYWJsZWQgYmVmb3JlIHR1cm5pbmcgdGhlbSBvbi4KKyAgICAgICAgKFdlYkNv
cmU6OlBhZ2U6OmhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdTdGF0ZUNoYW5nZWQpOiBTdGFy
dCBvciBzdG9wCisgICAgICAgIERPTSB0aW1lciB0aHJvdHRsaW5nIGJhc2VkIG9uIHBhZ2Ugdmlz
aWJpbGl0eSBhbmQgdGhlIG5ldyBzZXR0aW5nIHN0YXRlLgorICAgICAgICAoV2ViQ29yZTo6UGFn
ZTo6aGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25TdGF0ZUNoYW5nZWQpOiBEaXR0bwor
ICAgICAgICBmb3IgQ1NTIGFuaW1hdGlvbiBzdXNwZW5zaW9uLgorICAgICAgICAqIHBhZ2UvUGFn
ZS5oOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2V0
dGluZ3M6OlNldHRpbmdzKTogSW5pdGlhbGl6ZSB0aGUgZmxhZ3MgZm9yIGVuYWJsaW5nIGhpZGRl
bgorICAgICAgICBwYWdlIERPTSB0aW1lciB0aHJvdHRsaW5nIGFuZCBDU1MgYW5pbWF0aW9uIHN1
c3BlbnNpb24gdG8gZmFsc2UuCisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0SGlkZGVu
UGFnZURPTVRpbWVyVGhyb3R0bGluZ0VuYWJsZWQpOiBVcGRhdGUgZmxhZworICAgICAgICBhbmQg
bm90aWZ5IHBhZ2UgdGhhdCB0aGUgc3RhdGUgb2YgdGhlIHNldHRpbmcgaGFzIGNoYW5nZWQuCisg
ICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0SGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3Bl
bnNpb25FbmFibGVkKTogRGl0dG8uCisgICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAg
ICAoV2ViQ29yZTo6U2V0dGluZ3M6OmhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVk
KToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpoaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3Vz
cGVuc2lvbkVuYWJsZWQpOgorCiAyMDEzLTAzLTEyICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZp
ZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTQ1
NTU0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDk0MThlNTFkNzM1NTdjM2M1ZGZkNjA0NTI2ZjU5NGE4
OTYzYWRiYTguLmFkMjljZTk5M2QxYWFmZDE4NzVhNGIyYjY4MTYyODBkNDg0ZTJlMzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMy0wMy0xMyAgS2lyYW4gTXVwcGFsYSAg
PGNtdXBwYWxhQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgcnVudGltZSBzZXR0aW5nIGZvciBo
aWRkZW4gcGFnZSBET00gdGltZXIgdGhyb3R0bGluZyBhbmQgQ1NTIGFuaW1hdGlvbiBzdXNwZW5z
aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTIz
MDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQg
cHJpdmF0ZSBwcmVmZXJlbmNlIGZvciBlbmFibGluZy9kaXNhYmxpbmcgaGlkZGVuIHBhZ2UgRE9N
IHRpbWVyCisgICAgICAgIHRocm90dGxpbmcgYW5kIENTUyBhbmltYXRpb24gc3VzcGVuc2lvbi4g
IFRoZSBwcmVmZXJlbmNlIHNob3VsZCBiZQorICAgICAgICBkaXNhYmxlZCBieSBkZWZhdWx0IHRv
IGF2b2lkIGNvbXBhdGliaWxpdHkgaXNzdWVzLgorCisgICAgICAgICogV2ViVmlldy9XZWJQcmVm
ZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1t
OgorICAgICAgICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICgtW1dl
YlByZWZlcmVuY2VzIGhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkXSk6CisgICAg
ICAgICgtW1dlYlByZWZlcmVuY2VzIHNldEhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFi
bGVkOl0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBoaWRkZW5QYWdlQ1NTQW5pbWF0aW9u
U3VzcGVuc2lvbkVuYWJsZWRdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgc2V0SGlkZGVu
UGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkOl0pOgorICAgICAgICAqIFdlYlZpZXcv
V2ViUHJlZmVyZW5jZXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgor
ICAgICAgICAoLVtXZWJWaWV3IF9wcmVmZXJlbmNlc0NoYW5nZWQ6XSk6CisKIDIwMTMtMDMtMTIg
IEFiaGlzaGVrIEFyeWEgIDxpbmZlcm5vQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXBsYWNl
IHN0YXRpY19jYXN0cyB3aXRoIHRvKiBmdW5jdGlvbnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOWM4NTFmYTQ1
NzAyZDlhZWZlNTQyNzg4N2Y5MzllNDRiNDdmNmVmZi4uMzg5NzBiNjdiNDIyZmY4OWY5MzA1Njgx
NTBlMjgzZmE0MjI2MzA2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEzLTAzLTEz
ICBLaXJhbiBNdXBwYWxhICA8Y211cHBhbGFAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBydW50
aW1lIHNldHRpbmcgZm9yIGhpZGRlbiBwYWdlIERPTSB0aW1lciB0aHJvdHRsaW5nIGFuZCBDU1Mg
YW5pbWF0aW9uIHN1c3BlbnNpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTExMjMwOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCBwcml2YXRlIHByZWZlcmVuY2UgZm9yIGVuYWJsaW5nL2Rpc2FibGlu
ZyBoaWRkZW4gcGFnZSBET00gdGltZXIKKyAgICAgICAgdGhyb3R0bGluZyBhbmQgQ1NTIGFuaW1h
dGlvbiBzdXNwZW5zaW9uLiAgVGhlIHByZWZlcmVuY2Ugc2hvdWxkIGJlCisgICAgICAgIGVuYWJs
ZWQgYnkgZGVmYXVsdCBvbmx5IG9uIE1hYywgd2hlcmUgV2ViS2l0MiBpcyBhIHByaXZhdGUgQVBJ
IGFuZAorICAgICAgICBoZW5jZSBjb21wYXRpYmlsaXR5IGlzIGxlc3Mgb2YgYSBpc3N1ZS4KKwor
ICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmg6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQcmVmZXJlbmNlc1NldEhp
ZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkKToKKyAgICAgICAgKFdLUHJlZmVyZW5j
ZXNHZXRIaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZCk6CisgICAgICAgIChXS1By
ZWZlcmVuY2VzU2V0SGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkKToKKyAg
ICAgICAgKFdLUHJlZmVyZW5jZXNHZXRIaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVu
YWJsZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5o
OgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6b3ZlcnJpZGVCb29sUHJlZmVyZW5j
ZUZvclRlc3RSdW5uZXIpOiBBbGxvdworICAgICAgICBXZWJLaXRUZXN0UnVubmVyIHRvIG92ZXJy
aWRlIGhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkLgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dXBk
YXRlUHJlZmVyZW5jZXMpOgorCiAyMDEzLTAzLTEyICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtA
aWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBSZW1vdmUgSElMRE9OX0NQUEZMQUdTIGFuZCBI
SUxET05fQ0ZMQUdTIHJlZmVyZW5jZXMgZnJvbSBHTlVtYWtlZmlsZXMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAu
aW4KaW5kZXggYzdiNDRhZGU5MzgzNzBlZDAxMjAyYmVkN2I1NmQ2NGNkYmNkMGFiNC4uMWQ0YmZl
OTQ4NThjOWU4NzViNjUxNDNmMDM4YzMzYzYxZTVhMDdhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4K
QEAgLTEwMzcsNiArMTAzNyw4IEBAIF9fWk43V2ViQ29yZThTZXR0aW5nczMyc2V0TmVlZHNBZG9i
ZUZyYW1lUmVsb2FkaW5nUXVpcmtFYgogX19aTjdXZWJDb3JlOFNldHRpbmdzMzJzZXRTY3JlZW5G
b250U3Vic3RpdHV0aW9uRW5hYmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MzM3NldEFnZ3Jl
c3NpdmVUaWxlUmV0ZW50aW9uRW5hYmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MzN3NldFNj
cm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWRFYgorX19aTjdXZWJDb3JlOFNldHRpbmdz
MzhzZXRIaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZEViCitfX1pON1dlYkNvcmU4
U2V0dGluZ3M0MnNldEhpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZEViCiBf
X1pON1dlYkNvcmU4U2V0dGluZ3M0NXNldFNob3VsZFJlc3BlY3RQcmlvcml0eUluQ1NTQXR0cmli
dXRlU2V0dGVyc0ViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMXNldFJlc29sdXRpb25PdmVycmlk
ZUVSS05TXzdJbnRTaXplRQogX19aTjdXZWJDb3JlOFNldHRpbmdzMjBzZXRNZWRpYVR5cGVPdmVy
cmlkZUVSS04zV1RGNlN0cmluZ0UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IDIyZjMxMmZjMzllOTQw
OTM1OWFiOGNmYjRhMzQ0MGFmZTEyMDI3MzIuLjU5ZDg1NDdkMzdiY2VhNjE1OWJjMTEzMjFiYmFi
ZWVjZjFhMDAyYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMTIzNiwxNCArMTIzNiwxOCBAQCB2
b2lkIFBhZ2U6OnNldFZpc2liaWxpdHlTdGF0ZShQYWdlVmlzaWJpbGl0eVN0YXRlIHZpc2liaWxp
dHlTdGF0ZSwgYm9vbCBpc0luaXRpYQogCiAgICAgaWYgKHZpc2liaWxpdHlTdGF0ZSA9PSBXZWJD
b3JlOjpQYWdlVmlzaWJpbGl0eVN0YXRlSGlkZGVuKSB7CiAjaWYgRU5BQkxFKEhJRERFTl9QQUdF
X0RPTV9USU1FUl9USFJPVFRMSU5HKQotICAgICAgICBzZXRUaW1lckFsaWdubWVudEludGVydmFs
KFNldHRpbmdzOjpoaWRkZW5QYWdlRE9NVGltZXJBbGlnbm1lbnRJbnRlcnZhbCgpKTsKKyAgICAg
ICAgaWYgKG1fc2V0dGluZ3MtPmhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkKCkp
CisgICAgICAgICAgICBzZXRUaW1lckFsaWdubWVudEludGVydmFsKFNldHRpbmdzOjpoaWRkZW5Q
YWdlRE9NVGltZXJBbGlnbm1lbnRJbnRlcnZhbCgpKTsKICNlbmRpZgotICAgICAgICBtYWluRnJh
bWUoKS0+YW5pbWF0aW9uKCktPnN1c3BlbmRBbmltYXRpb25zKCk7CisgICAgICAgIGlmIChtX3Nl
dHRpbmdzLT5oaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQoKSkKKyAgICAg
ICAgICAgIG1haW5GcmFtZSgpLT5hbmltYXRpb24oKS0+c3VzcGVuZEFuaW1hdGlvbnMoKTsKICAg
ICB9IGVsc2UgewogI2lmIEVOQUJMRShISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykK
LSAgICAgICAgc2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbChTZXR0aW5nczo6ZGVmYXVsdERPTVRp
bWVyQWxpZ25tZW50SW50ZXJ2YWwoKSk7CisgICAgICAgIGlmIChtX3NldHRpbmdzLT5oaWRkZW5Q
YWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZCgpKQorICAgICAgICAgICAgc2V0VGltZXJBbGln
bm1lbnRJbnRlcnZhbChTZXR0aW5nczo6ZGVmYXVsdERPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwo
KSk7CiAjZW5kaWYKLSAgICAgICAgbWFpbkZyYW1lKCktPmFuaW1hdGlvbigpLT5yZXN1bWVBbmlt
YXRpb25zKCk7CisgICAgICAgIGlmIChtX3NldHRpbmdzLT5oaWRkZW5QYWdlQ1NTQW5pbWF0aW9u
U3VzcGVuc2lvbkVuYWJsZWQoKSkKKyAgICAgICAgICAgIG1haW5GcmFtZSgpLT5hbmltYXRpb24o
KS0+cmVzdW1lQW5pbWF0aW9ucygpOwogICAgIH0KICNpZiAhRU5BQkxFKFBBR0VfVklTSUJJTElU
WV9BUEkpCiAgICAgVU5VU0VEX1BBUkFNKGlzSW5pdGlhbFN0YXRlKTsKQEAgLTE0NDIsNiArMTQ0
NiwzMSBAQCB2b2lkIFBhZ2U6OnJlc2V0U2Vlbk1lZGlhRW5naW5lcygpCiAgICAgbV9zZWVuTWVk
aWFFbmdpbmVzLmNsZWFyKCk7CiB9CiAKKyNpZiBFTkFCTEUoSElEREVOX1BBR0VfRE9NX1RJTUVS
X1RIUk9UVExJTkcpCit2b2lkIFBhZ2U6OmhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdTdGF0
ZUNoYW5nZWQoKQoreworICAgIGlmIChtX3NldHRpbmdzLT5oaWRkZW5QYWdlRE9NVGltZXJUaHJv
dHRsaW5nRW5hYmxlZCgpKSB7CisjaWYgRU5BQkxFKFBBR0VfVklTSUJJTElUWV9BUEkpCisgICAg
ICAgIGlmIChtX3Zpc2liaWxpdHlTdGF0ZSA9PSBXZWJDb3JlOjpQYWdlVmlzaWJpbGl0eVN0YXRl
SGlkZGVuKQorICAgICAgICAgICAgc2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbChTZXR0aW5nczo6
aGlkZGVuUGFnZURPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKSk7CisjZW5kaWYKKyAgICB9IGVs
c2UKKyAgICAgICAgc2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbChTZXR0aW5nczo6ZGVmYXVsdERP
TVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKSk7Cit9CisjZW5kaWYKKworI2lmIChFTkFCTEVfUEFH
RV9WSVNJQklMSVRZX0FQSSkKK3ZvaWQgUGFnZTo6aGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3Bl
bnNpb25TdGF0ZUNoYW5nZWQoKQoreworICAgIGlmIChtX3Zpc2liaWxpdHlTdGF0ZSA9PSBXZWJD
b3JlOjpQYWdlVmlzaWJpbGl0eVN0YXRlSGlkZGVuKSB7CisgICAgICAgIGlmIChtX3NldHRpbmdz
LT5oaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQoKSkKKyAgICAgICAgICAg
IG1haW5GcmFtZSgpLT5hbmltYXRpb24oKS0+c3VzcGVuZEFuaW1hdGlvbnMoKTsKKyAgICAgICAg
ZWxzZQorICAgICAgICAgICAgbWFpbkZyYW1lKCktPmFuaW1hdGlvbigpLT5yZXN1bWVBbmltYXRp
b25zKCk7CisgICAgfQorfQorI2VuZGlmCisKIHZvaWQgUGFnZTo6cmVwb3J0TWVtb3J5VXNhZ2Uo
TWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlD
bGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6
OlBhZ2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCA5OTkxNWEwOWJjNWU3ZjQwNjVmZWVmOWU2YjQxYTQ0
MGM4NWI0NTllLi5kMzgxNWRkMDc4YjhjOGExMmM1ODhhMWRhMDIxYmI3NzE5MzQwOWY4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuaApAQCAtMzc4LDYgKzM3OCwxMyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzYXdNZWRp
YUVuZ2luZShjb25zdCBTdHJpbmcmIGVuZ2luZU5hbWUpOwogICAgIHZvaWQgcmVzZXRTZWVuTWVk
aWFFbmdpbmVzKCk7CiAKKyNpZiBFTkFCTEUoSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJ
TkcpCisgICAgdm9pZCBoaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nU3RhdGVDaGFuZ2VkKCk7
CisjZW5kaWYKKyNpZiBFTkFCTEUoUEFHRV9WSVNJQklMSVRZX0FQSSkKKyAgICB2b2lkIGhpZGRl
blBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uU3RhdGVDaGFuZ2VkKCk7CisjZW5kaWYKKwogICAg
IHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyopIGNvbnN0OwogCiBwcml2
YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAppbmRleCBhM2JjZGRiNzYwMjFlMmM2ZWQ3OGQ2
NDg0ZjNkNmVkNjJjMWM4ZTBmLi42MmFlYjJlY2Q4MThiNDQxYjVlY2FhZTIwNTc1MDVkZGVmNzYz
YzU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcApAQCAtMTg2LDYgKzE4NiwxMiBAQCBTZXR0
aW5nczo6U2V0dGluZ3MoUGFnZSogcGFnZSkKICAgICAsIG1fYWdncmVzc2l2ZVRpbGVSZXRlbnRp
b25FbmFibGVkKGZhbHNlKQogICAgICwgbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVI
aWRpbmdDb250cm9scygzKQogICAgICwgbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyKHRo
aXMsICZTZXR0aW5nczo6aW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lckZpcmVkKQorI2lmIEVOQUJM
RShISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykKKyAgICAsIG1faGlkZGVuUGFnZURP
TVRpbWVyVGhyb3R0bGluZ0VuYWJsZWQoZmFsc2UpCisjZW5kaWYKKyNpZiBFTkFCTEUoUEFHRV9W
SVNJQklMSVRZX0FQSSkKKyAgICAsIG1faGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25F
bmFibGVkKGZhbHNlKQorI2VuZGlmCiB7CiAgICAgLy8gQSBGcmFtZSBtYXkgbm90IGhhdmUgYmVl
biBjcmVhdGVkIHlldCwgc28gd2UgaW5pdGlhbGl6ZSB0aGUgQXRvbWljU3RyaW5nCiAgICAgLy8g
aGFzaCBiZWZvcmUgdHJ5aW5nIHRvIHVzZSBpdC4KQEAgLTYwMiw0ICs2MDgsMjQgQEAgYm9vbCBT
ZXR0aW5nczo6c2hvdWxkUmVzcGVjdFByaW9yaXR5SW5DU1NBdHRyaWJ1dGVTZXR0ZXJzKCkKIH0K
ICNlbmRpZgogCisjaWYgRU5BQkxFKEhJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKQor
dm9pZCBTZXR0aW5nczo6c2V0SGlkZGVuUGFnZURPTVRpbWVyVGhyb3R0bGluZ0VuYWJsZWQoYm9v
bCBmbGFnKQoreworICAgIGlmIChtX2hpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVk
ID09IGZsYWcpCisgICAgICAgIHJldHVybjsKKyAgICBtX2hpZGRlblBhZ2VET01UaW1lclRocm90
dGxpbmdFbmFibGVkID0gZmxhZzsKKyAgICBtX3BhZ2UtPmhpZGRlblBhZ2VET01UaW1lclRocm90
dGxpbmdTdGF0ZUNoYW5nZWQoKTsKK30KKyNlbmRpZgorCisjaWYgRU5BQkxFKFBBR0VfVklTSUJJ
TElUWV9BUEkpCit2b2lkIFNldHRpbmdzOjpzZXRIaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVu
c2lvbkVuYWJsZWQoYm9vbCBmbGFnKQoreworICAgIGlmIChtX2hpZGRlblBhZ2VDU1NBbmltYXRp
b25TdXNwZW5zaW9uRW5hYmxlZCA9PSBmbGFnKQorICAgICAgICByZXR1cm47CisgICAgbV9oaWRk
ZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQgPSBmbGFnOworICAgIG1fcGFnZS0+
aGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25TdGF0ZUNoYW5nZWQoKTsKK30KKyNlbmRp
ZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1NldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggNGNk
ZWU1MzVjYWE1MGVlOTBkZjU2MDRkMTA5NDNlYmY5Y2FjZjZmOC4uNjVjMjE3YWM1ZGJhMDdjZjNl
NTU4M2JhM2NjNjg3OTJkYTA1YjgxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9T
ZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaApAQCAtMTgwLDYg
KzE4MCwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgc2V0RE9NVGltZXJB
bGlnbm1lbnRJbnRlcnZhbChkb3VibGUpOwogICAgICAgICBkb3VibGUgZG9tVGltZXJBbGlnbm1l
bnRJbnRlcnZhbCgpIGNvbnN0OwogCisjaWYgRU5BQkxFKEhJRERFTl9QQUdFX0RPTV9USU1FUl9U
SFJPVFRMSU5HKQorICAgICAgICBib29sIGhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFi
bGVkKCkgY29uc3QgeyByZXR1cm4gbV9oaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxl
ZDsgfQorICAgICAgICB2b2lkIHNldEhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVk
KGJvb2wpOworI2VuZGlmCisKICAgICAgICAgdm9pZCBzZXRVc2VzUGFnZUNhY2hlKGJvb2wpOwog
ICAgICAgICBib29sIHVzZXNQYWdlQ2FjaGUoKSBjb25zdCB7IHJldHVybiBtX3VzZXNQYWdlQ2Fj
aGU7IH0KICAgICAgICAgCkBAIC0yNjcsNiArMjcyLDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgdm9pZCBzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250
cm9scyhkb3VibGUgdGltZSkgeyBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGlu
Z0NvbnRyb2xzID0gdGltZTsgfQogICAgICAgICBkb3VibGUgdGltZVdpdGhvdXRNb3VzZU1vdmVt
ZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoKSBjb25zdCB7IHJldHVybiBtX3RpbWVXaXRob3V0TW91
c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOyB9CiAKKyNpZiBFTkFCTEUoUEFHRV9WSVNJ
QklMSVRZX0FQSSkKKyAgICAgICAgYm9vbCBoaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lv
bkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2hpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5z
aW9uRW5hYmxlZDsgfQorICAgICAgICB2b2lkIHNldEhpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNw
ZW5zaW9uRW5hYmxlZChib29sKTsKKyNlbmRpZgorCiAgICAgcHJpdmF0ZToKICAgICAgICAgZXhw
bGljaXQgU2V0dGluZ3MoUGFnZSopOwogCkBAIC0zMjgsNiArMzM4LDEzIEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgVGltZXI8U2V0dGluZ3M+IG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGlu
Z3NUaW1lcjsKICAgICAgICAgdm9pZCBpbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyRmlyZWQoVGlt
ZXI8U2V0dGluZ3M+Kik7CiAKKyNpZiBFTkFCTEUoSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9U
VExJTkcpCisgICAgICAgIGJvb2wgbV9oaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxl
ZCA6IDE7CisjZW5kaWYKKyNpZiBFTkFCTEUoUEFHRV9WSVNJQklMSVRZX0FQSSkKKyAgICAgICAg
Ym9vbCBtX2hpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZCA6IDE7CisjZW5k
aWYKKwogICAgICAgICBzdGF0aWMgZG91YmxlIGdEZWZhdWx0TWluRE9NVGltZXJJbnRlcnZhbDsK
ICAgICAgICAgc3RhdGljIGRvdWJsZSBnRGVmYXVsdERPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWw7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtl
eXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlz
UHJpdmF0ZS5oCmluZGV4IDRlNjU4ODQ0OThlYjMyNjEyOGVkYWJkYzIwNjg1YTZmZDFlNjEwNjku
LjhjNTA5ZDNjNzQzMmQ3MTM0OTZmNzEwZGFlZjhkOWRlODhhMjAyNTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKKysrIGIv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaApAQCAt
MTMwLDYgKzEzMCw4IEBACiAjZGVmaW5lIFdlYktpdFN0b3JhZ2VCbG9ja2luZ1BvbGljeUtleSBA
IldlYktpdFN0b3JhZ2VCbG9ja2luZ1BvbGljeSIKICNkZWZpbmUgV2ViS2l0UGx1Z0luU25hcHNo
b3R0aW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRQbHVnSW5TbmFwc2hvdHRpbmdFbmFi
bGVkIgogI2RlZmluZSBXZWJLaXRRVEtpdEVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0UVRL
aXRFbmFibGVkIgorI2RlZmluZSBXZWJLaXRIaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5h
YmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRIaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5h
YmxlZCIKKyNkZWZpbmUgV2ViS2l0SGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFi
bGVkUHJlZmVyZW5jZUtleSBAIldlYktpdEhpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9u
RW5hYmxlZCIKIAogLy8gVGhlc2UgYXJlIHByaXZhdGUgYm90aCBiZWNhdXNlIGNhbGxlcnMgc2hv
dWxkIGJlIHVzaW5nIHRoZSBjb3ZlciBtZXRob2RzIGFuZCBiZWNhdXNlIHRoZQogLy8gY292ZXIg
bWV0aG9kcyB0aGVtc2VsdmVzIGFyZSBwcml2YXRlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViUHJlZmVyZW5jZXMubW0KaW5kZXggZTA3MDRkMzg1ZWU2NTE3ZTlkZTI1MzdhMWY1MDU3
ZDcxYjExYmNhYS4uNWUwMTQyYWVkZDdkM2IwZDA4NDYwNzM1NjQwN2U4ODJkOGYzYzkxZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCkBAIC00MjAsNiAr
NDIwLDggQEAgcHVibGljOgogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aExvbmdMb25nOkFw
cGxpY2F0aW9uQ2FjaGVTdG9yYWdlOjpub1F1b3RhKCldLCBXZWJLaXRBcHBsaWNhdGlvbkNhY2hl
VG90YWxRdW90YSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhMb25nTG9uZzpBcHBsaWNh
dGlvbkNhY2hlU3RvcmFnZTo6bm9RdW90YSgpXSwgV2ViS2l0QXBwbGljYXRpb25DYWNoZURlZmF1
bHRPcmlnaW5RdW90YSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10sICBX
ZWJLaXRRVEtpdEVuYWJsZWRQcmVmZXJlbmNlS2V5LAorICAgICAgICBbTlNOdW1iZXIgbnVtYmVy
V2l0aEJvb2w6Tk9dLCBXZWJLaXRIaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZFBy
ZWZlcmVuY2VLZXksCisgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sIFdlYktp
dEhpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZFByZWZlcmVuY2VLZXksCiAg
ICAgICAgIG5pbF07CiAKIApAQCAtMTc5OSw2ICsxODAxLDI2IEBAIHN0YXRpYyBOU1N0cmluZyAq
Y2xhc3NJQkNyZWF0b3JJRCA9IG5pbDsKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmVuYWJsZWQg
Zm9yS2V5OldlYktpdFBsdWdJblNuYXBzaG90dGluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKIH0K
IAorLSAoQk9PTCloaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZAoreworICAgIHJl
dHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdEhpZGRlblBhZ2VET01UaW1lclRocm90
dGxpbmdFbmFibGVkUHJlZmVyZW5jZUtleV07Cit9CisKKy0gKHZvaWQpc2V0SGlkZGVuUGFnZURP
TVRpbWVyVGhyb3R0bGluZ0VuYWJsZWQ6KEJPT0wpZW5hYmxlZAoreworICAgIFtzZWxmIF9zZXRC
b29sVmFsdWU6ZW5hYmxlZCBmb3JLZXk6V2ViS2l0SGlkZGVuUGFnZURPTVRpbWVyVGhyb3R0bGlu
Z0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKworLSAoQk9PTCloaWRkZW5QYWdlQ1NTQW5pbWF0
aW9uU3VzcGVuc2lvbkVuYWJsZWQKK3sKKyAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktl
eTpXZWJLaXRIaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWRQcmVmZXJlbmNl
S2V5XTsKK30KKworLSAodm9pZClzZXRIaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVu
YWJsZWQ6KEJPT0wpZW5hYmxlZAoreworICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZW5hYmxlZCBm
b3JLZXk6V2ViS2l0SGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkUHJlZmVy
ZW5jZUtleV07Cit9CisKIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdlYlByZWZlcmVuY2VzIChX
ZWJJbnRlcm5hbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzUHJpdmF0ZS5oCmluZGV4IGZhYmNhNGIwMjNhYWNmOTgzNTBiODg0ZWU0MDFiNzk5NjIwNjdj
NjkuLmVjZTQ4NGZmODBhMDJmZWQ2MTQwYTU1Zjk1YmVkMDcxMjgyZTI1MWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKKysrIGIv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaApAQCAtMzI5
LDQgKzMyOSwxMCBAQCBleHRlcm4gTlNTdHJpbmcgKldlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbENo
YW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbjsKIC0gKEJPT0wpcGx1Z0luU25hcHNob3R0aW5nRW5h
YmxlZDsKIC0gKHZvaWQpc2V0UGx1Z0luU25hcHNob3R0aW5nRW5hYmxlZDooQk9PTCllbmFibGVk
OwogCistIChCT09MKWhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkOworLSAodm9p
ZClzZXRIaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZDooQk9PTClmbGFnOworCist
IChCT09MKWhpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZDsKKy0gKHZvaWQp
c2V0SGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkOihCT09MKWZsYWc7CisK
IEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBi
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCA2NTdmOTIwYTQ0ZTky
ZWUwN2ZhM2U3NjIyNWU1YzJjZDgxM2FjNTNlLi4wN2I5NGY2MWU1MjliYjcwMjNjYTc3YzY3OTEy
ZGJiMjI0MzEzZWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0xNTk0
LDYgKzE1OTQsMTMgQEAgc3RhdGljIGJvb2wgbmVlZHNTZWxmUmV0YWluV2hpbGVMb2FkaW5nUXVp
cmsoKQogCiAgICAgc2V0dGluZ3MtPnNldFBsdWdJblNuYXBzaG90dGluZ0VuYWJsZWQoW3ByZWZl
cmVuY2VzIHBsdWdJblNuYXBzaG90dGluZ0VuYWJsZWRdKTsKIAorI2lmIEVOQUJMRShISURERU5f
UEFHRV9ET01fVElNRVJfVEhST1RUTElORykKKyAgICBzZXR0aW5ncy0+c2V0SGlkZGVuUGFnZURP
TVRpbWVyVGhyb3R0bGluZ0VuYWJsZWQoW3ByZWZlcmVuY2VzIGhpZGRlblBhZ2VET01UaW1lclRo
cm90dGxpbmdFbmFibGVkXSk7CisjZW5kaWYKKyNpZiBFTkFCTEUoUEFHRV9WSVNJQklMSVRZX0FQ
SSkKKyAgICBzZXR0aW5ncy0+c2V0SGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFi
bGVkKFtwcmVmZXJlbmNlcyBoaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWRd
KTsKKyNlbmRpZgorCiAgICAgLy8gV2UgaGF2ZSBlbmFibGVkIHRoaXMgc2V0dGluZyBpbiBXZWJL
aXQyIGZvciB0aGUgc2FrZSBvZiBzb21lIFNjcm9sbGluZ0Nvb3JkaW5hdG9yIHdvcmsuCiAgICAg
Ly8gVG8gYXZvaWQgcG9zc2libGUgcmVuZGVyaW5nIGRpZmZlcmVuY2VzLCB3ZSBzaG91bGQgZW5h
YmxlIGl0IGZvciBXZWJLaXQxIHRvby4KICAgICBzZXR0aW5ncy0+c2V0Rml4ZWRQb3NpdGlvbkNy
ZWF0ZXNTdGFja2luZ0NvbnRleHQodHJ1ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBy
ZWZlcmVuY2VzU3RvcmUuaAppbmRleCBkYWNjYWYzNjYwZjA1ZTljY2RjZDE2ZGZlYTc4NDczMzY2
NjBiMTg0Li4xY2ZlNTdlZjc5MTYzNTNmZWVlNDY4OWVlNjliYTE5M2FlNmVhYjI3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgKQEAgLTU0LDYgKzU0LDE0
IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogI2RlZmluZSBERUZBVUxUX1NDUkVFTl9GT05UX1NVQlNU
SVRVVElPTl9FTkFCTEVEIHRydWUKICNlbmRpZgogCisjaWYgUExBVEZPUk0oTUFDKQorI2RlZmlu
ZSBERUZBVUxUX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HX0VOQUJMRUQgdHJ1ZQor
I2RlZmluZSBERUZBVUxUX0hJRERFTl9QQUdFX0NTU19BTklNQVRJT05fU1VTUEVOU0lPTl9FTkFC
TEVEIHRydWUKKyNlbHNlCisjZGVmaW5lIERFRkFVTFRfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RI
Uk9UVExJTkdfRU5BQkxFRCBmYWxzZQorI2RlZmluZSBERUZBVUxUX0hJRERFTl9QQUdFX0NTU19B
TklNQVRJT05fU1VTUEVOU0lPTl9FTkFCTEVEIGZhbHNlCisjZW5kaWYKKwogI2RlZmluZSBGT1Jf
RUFDSF9XRUJLSVRfQk9PTF9QUkVGRVJFTkNFKG1hY3JvKSBcCiAgICAgbWFjcm8oSmF2YVNjcmlw
dEVuYWJsZWQsIGphdmFTY3JpcHRFbmFibGVkLCBCb29sLCBib29sLCB0cnVlKSBcCiAgICAgbWFj
cm8oTG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5LCBsb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHksIEJv
b2wsIGJvb2wsIHRydWUpIFwKQEAgLTE0NCw2ICsxNTIsOCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsK
ICAgICBtYWNybyhTbWFydEluc2VydERlbGV0ZUVuYWJsZWQsIHNtYXJ0SW5zZXJ0RGVsZXRlRW5h
YmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAogICAgIG1hY3JvKFNob3dzVVJMc0luVG9vbFRpcHNF
bmFibGVkLCBzaG93c1VSTHNJblRvb2xUaXBzRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwK
ICAgICBtYWNybyhBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yT3ZlcmZsb3dTY3JvbGxFbmFibGVk
LCBhY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yT3ZlcmZsb3dTY3JvbGxFbmFibGVkLCBCb29sLCBi
b29sLCBmYWxzZSkgXAorICAgIG1hY3JvKEhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFi
bGVkLCBoaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgREVG
QVVMVF9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElOR19FTkFCTEVEKSBcCisgICAgbWFj
cm8oSGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkLCBoaWRkZW5QYWdlQ1NT
QW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQsIEJvb2wsIGJvb2wsIERFRkFVTFRfSElEREVOX1BB
R0VfQ1NTX0FOSU1BVElPTl9TVVNQRU5TSU9OX0VOQUJMRUQpIFwKICAgICBcCiAKICNkZWZpbmUg
Rk9SX0VBQ0hfV0VCS0lUX0RPVUJMRV9QUkVGRVJFTkNFKG1hY3JvKSBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKaW5kZXggZTY5ODM5NzVm
MDg5NzlkZDk0MDVlMjNlZTZjYTNmZWEyN2Q4MjFmNy4uOWNhNTAxODBkOGE3YzAzMzEzOWM1OWQx
NjZjOTg2NDRjM2Y1ODBjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLUHJlZmVyZW5jZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzLmNwcApAQCAtMTA3MywzICsxMDczLDIzIEBAIGJvb2wgV0tQcmVmZXJl
bmNlc0dldFNob3dzVVJMc0luVG9vbFRpcHNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVy
ZW5jZXNSZWYpCiB7CiAgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNob3dzVVJM
c0luVG9vbFRpcHNFbmFibGVkKCk7CiB9CisKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldEhpZGRlblBh
Z2VET01UaW1lclRocm90dGxpbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNS
ZWYsIGJvb2wgZW5hYmxlZCkKK3sKKyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRIaWRk
ZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZChlbmFibGVkKTsKK30KKworYm9vbCBXS1By
ZWZlcmVuY2VzR2V0SGlkZGVuUGFnZURPTVRpbWVyVGhyb3R0bGluZ0VuYWJsZWQoV0tQcmVmZXJl
bmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKK3sKKyAgICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2Vz
UmVmKS0+aGlkZGVuUGFnZURPTVRpbWVyVGhyb3R0bGluZ0VuYWJsZWQoKTsKK30KKwordm9pZCBX
S1ByZWZlcmVuY2VzU2V0SGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkKFdL
UHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCkKK3sKKyAgICB0b0lt
cGwocHJlZmVyZW5jZXNSZWYpLT5zZXRIaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVu
YWJsZWQoZW5hYmxlZCk7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldEhpZGRlblBhZ2VDU1NB
bmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVm
KQoreworICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5oaWRkZW5QYWdlQ1NTQW5p
bWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQoKTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggNTU0MmZkZDA4NDJi
MDNhZmVmNGFhMWM0Zjc1Zjg1ODkwMDViNTVmMS4uYTVjYjFhZmVkZDgwNzkzZjI2Y2UxM2VjMjBj
OTI5MWEwYWQ4NjJhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLUHJlZmVyZW5jZXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLUHJlZmVyZW5jZXNQcml2YXRlLmgKQEAgLTI1OSw2ICsyNTksMTMgQEAgV0tfRVhQT1JU
IGJvb2wgV0tQcmVmZXJlbmNlc0dldFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZChXS1ByZWZlcmVu
Y2VzUmVmIHByZWZlcmUKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRTaG93c1VSTHNJ
blRvb2xUaXBzRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzLCBib29sIGVuYWJs
ZWQpOwogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFNob3dzVVJMc0luVG9vbFRpcHNF
bmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXMpOwogCisvLyBEZWZhdWx0cyB0byB0
cnVlIG9uIE1hYywgZmFsc2Ugb24gb3RoZXIgcGxhdGZvcm1zLgorV0tfRVhQT1JUIHZvaWQgV0tQ
cmVmZXJlbmNlc1NldEhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkKFdLUHJlZmVy
ZW5jZXNSZWYgcHJlZmVyZW5jZXMsIGJvb2wgZW5hYmxlZCk7CitXS19FWFBPUlQgYm9vbCBXS1By
ZWZlcmVuY2VzR2V0SGlkZGVuUGFnZURPTVRpbWVyVGhyb3R0bGluZ0VuYWJsZWQoV0tQcmVmZXJl
bmNlc1JlZiBwcmVmZXJlbmNlcyk7CisKKy8vIERlZmF1bHRzIHRvIHRydWUgb24gTWFjLCBmYWxz
ZSBvbiBvdGhlciBwbGF0Zm9ybXMuCitXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0SGlk
ZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJl
ZmVyZW5jZXMsIGJvb2wgZW5hYmxlZCk7CitXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0
SGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYg
cHJlZmVyZW5jZXMpOwogCiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzUmVzZXRUZXN0UnVu
bmVyT3ZlcnJpZGVzKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVu
ZGxlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0
ZWRCdW5kbGUuY3BwCmluZGV4IDFhZDI0Y2Y2NjA3ZjAyOGJiMmNiYmNlNTQ3NjQwNTdmOTliMjkw
MDYuLmJkMWU1N2JkMDJkMWMzZmFmODgxZjhmNGQ3ZDQwZGRlNjM0ZDYxZDMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0
ZWRCdW5kbGUuY3BwCkBAIC0yMzEsNiArMjMxLDEwIEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6Om92
ZXJyaWRlQm9vbFByZWZlcmVuY2VGb3JUZXN0UnVubmVyKFdlYlBhZ2VHcm91cFByb3h5KiBwYWdl
CiAKICAgICBGT1JfRUFDSF9PVkVSUklERV9CT09MX1BSRUZFUkVOQ0UoT1ZFUlJJREVfUFJFRkVS
RU5DRV9BTkRfU0VUX0lOX0VYSVNUSU5HX1BBR0VTKQogCisjaWYgRU5BQkxFKEhJRERFTl9QQUdF
X0RPTV9USU1FUl9USFJPVFRMSU5HKQorICAgIE9WRVJSSURFX1BSRUZFUkVOQ0VfQU5EX1NFVF9J
Tl9FWElTVElOR19QQUdFUyhXZWJLaXRIaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxl
ZCwgSGlkZGVuUGFnZURPTVRpbWVyVGhyb3R0bGluZ0VuYWJsZWQsIGhpZGRlblBhZ2VET01UaW1l
clRocm90dGxpbmdFbmFibGVkKQorI2VuZGlmCisKICN1bmRlZiBPVkVSUklERV9QUkVGRVJFTkNF
X0FORF9TRVRfSU5fRVhJU1RJTkdfUEFHRVMKICN1bmRlZiBGT1JfRUFDSF9PVkVSUklERV9CT09M
X1BSRUZFUkVOQ0UKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcAppbmRleCBmOTdkZjYwMzRiNGQ3NDgxYzY4YTBlMWYzNThiODJlNjVmZTM3ZDNhLi44
YzAyN2UyNzlhYzM5NjFjZTc5MmQ5NWY2ODY0Njk0Njc2MDQ3OTVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0yNDEzLDYgKzI0MTMsMTMg
QEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBXZWJQcmVmZXJlbmNlc1N0
b3JlJiBzdG9yZSkKICAgICBzZXR0aW5ncy0+c2V0U21hcnRJbnNlcnREZWxldGVFbmFibGVkKHN0
b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6c21hcnRJbnNlcnREZWxl
dGVFbmFibGVkS2V5KCkpKTsKICAgICBzZXR0aW5ncy0+c2V0U2hvd3NVUkxzSW5Ub29sVGlwcyhz
dG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnNob3dzVVJMc0luVG9v
bFRpcHNFbmFibGVkS2V5KCkpKTsKIAorI2lmIEVOQUJMRShISURERU5fUEFHRV9ET01fVElNRVJf
VEhST1RUTElORykKKyAgICBzZXR0aW5ncy0+c2V0SGlkZGVuUGFnZURPTVRpbWVyVGhyb3R0bGlu
Z0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpoaWRk
ZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZEtleSgpKSk7CisjZW5kaWYKKyNpZiBFTkFC
TEUoUEFHRV9WSVNJQklMSVRZX0FQSSkKKyAgICBzZXR0aW5ncy0+c2V0SGlkZGVuUGFnZUNTU0Fu
aW1hdGlvblN1c3BlbnNpb25FbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVm
ZXJlbmNlc0tleTo6aGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkS2V5KCkp
KTsKKyNlbmRpZgorCiAgICAgcGxhdGZvcm1QcmVmZXJlbmNlc0RpZENoYW5nZShzdG9yZSk7CiAK
ICAgICBpZiAobV9kcmF3aW5nQXJlYSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlMDNhNDNhYmNkYTdjZDVmOTc4MzQ2ZDQ4
NGVhYTViMTBjMDJjMjc5Li42MDI1ZTI1ZDYzNmVmMWMyN2ZkZjYyNTJiMDIzNmIxNDUzZmIxZGY5
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTMtMDMtMTMgIEtpcmFuIE11cHBhbGEgIDxjbXVw
cGFsYUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHJ1bnRpbWUgc2V0dGluZyBmb3IgaGlkZGVu
IHBhZ2UgRE9NIHRpbWVyIHRocm90dGxpbmcgYW5kIENTUyBhbmltYXRpb24gc3VzcGVuc2lvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyMzA4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSGlkZGVuIHBh
Z2UgRE9NIHRpbWVyIHRocm90dGxpbmcgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdCBpbiBXZWJLaXQx
IGFuZAorICAgICAgICBpbiBXZWJLaXQyIGZvciBwbGF0Zm9ybXMgb3RoZXIgdGhhbiBNYWMuICBP
dmVycmlkZSB0aGUgcHJlZmVyZW5jZSB0bworICAgICAgICBlbmFibGUgaXQgZHVyaW5nIHRoZSB0
ZXN0LgorCisgICAgICAgICogZmFzdC9kb20vdGltZXItdGhyb3R0bGluZy1oaWRkZW4tcGFnZS5o
dG1sOgorCiAyMDEzLTAzLTEyICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFNvbWUgY2FudmFzIHRlc3RzIG9ubHkgZmFpbCBvbiBNYWMgRVdTCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS90aW1lci10aHJvdHRsaW5nLWhpZGRlbi1wYWdlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS90aW1lci10aHJvdHRsaW5nLWhpZGRlbi1wYWdlLmh0bWwK
aW5kZXggOTVmYmUyYTc3ZmIyMjIxZDhlY2E2YzM0ZjBlZjVkNWVhZTE3NWIyOS4uOWY3MWI5ZjZl
ZTU1MTgxMDIzNzM5MzVjMWI3ZmYzNWJkYjk4ZDk0NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vdGltZXItdGhyb3R0bGluZy1oaWRkZW4tcGFnZS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3RpbWVyLXRocm90dGxpbmctaGlkZGVuLXBhZ2UuaHRtbApAQCAtNTYsNiAr
NTYsOCBAQAogICAgICAgICAgICAgICAgIGRlYnVnKCdUaGlzIHRlc3QgcmVxdWlyZXMgdGVzdFJ1
bm5lcicpOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaWRkZW5QYWdlRE9NVGlt
ZXJUaHJvdHRsaW5nRW5hYmxlZCIsIDEpOworCiAgICAgICAgICAgICB2YXIgdGltZW91dEludGVy
dmFsU3BhbnMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCd0aW1lb3V0SW50ZXJ2
YWwnKTsKICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGltZW91dEludGVydmFsU3Bh
bnMubGVuZ3RoOyBpKyspCiAgICAgICAgICAgICAgICAgdGltZW91dEludGVydmFsU3BhbnNbaV0u
aW5uZXJUZXh0ID0gdGltZW91dEludGVydmFsOwo=
</data>
<flag name="review"
          id="214948"
          type_id="1"
          status="+"
          setter="barraclough"
    />
          </attachment>
      

    </bug>

</bugzilla>