<?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>86881</bug_id>
          
          <creation_ts>2012-05-18 12:06:30 -0700</creation_ts>
          <short_desc>[WK2][WKTR] WebKitTestRunner needs eventSender.contextClick()</short_desc>
          <delta_ts>2012-11-23 04:56:38 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>42194</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Caio Marcelo de Oliveira Filho">cmarcelo</reporter>
          <assigned_to name="Wojciech Bielawski">w.bielawski</assigned_to>
          <cc>cdumez</cc>
    
    <cc>g.czajkowski</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jussi.kukkonen</cc>
    
    <cc>kenneth</cc>
    
    <cc>marcelo.lira</cc>
    
    <cc>mpakulavelrutka</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>627898</commentid>
    <comment_count>0</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-05-18 12:06:30 -0700</bug_when>
    <thetext>Tests that depend on this according to grep:

editing/pasteboard/copy-standalone-image-crash.html:50:    actionitems = eventSender.contextClick();
editing/selection/5354455-1.html:23:    eventSender.contextClick();
editing/selection/5354455-2.html:33:    eventSender.contextClick();
editing/selection/5354455-2.html:40:    eventSender.contextClick();
editing/selection/button-right-click.html:22:    eventSender.contextClick();
editing/selection/context-menu-on-text.html:22:    var items = eventSender.contextClick();
editing/selection/context-menu-text-selection.html:22:    eventSender.contextClick();
editing/selection/empty-cell-right-click.html:23:    eventSender.contextClick();
editing/shadow/rightclick-on-meter-in-shadow-crash.html:15:    eventSender.contextClick();
editing/spelling/context-menu-suggestions.html:25:    var itemNamesWithoutSpellChecking = eventSender.contextClick();
editing/spelling/context-menu-suggestions.html:30:    var itemNamesWithSpellChecking = eventSender.contextClick();
editing/spelling/spellcheck-input-search-crash.html:22:    eventSender.contextClick();
fast/events/context-no-deselect.html:19:    eventSender.contextClick();
fast/events/context-onmousedown-event.html:16:     eventSender.contextClick();
fast/events/contextmenu-scrolled-page-with-frame.html:26:        eventSender.contextClick();
fast/events/right-click-focus.html:19:    eventSender.contextClick();
fast/events/selectstart-prevent-selection-on-right-click.html:27:    eventSender.contextClick();
media/context-menu-actions.html:26:                items = eventSender.contextClick();
media/controls-right-click-on-timebar.html:25:                    eventSender.contextClick();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644531</commentid>
    <comment_count>1</comment_count>
    <who name="Jussi Kukkonen (jku)">jussi.kukkonen</who>
    <bug_when>2012-06-08 02:56:32 -0700</bug_when>
    <thetext>I could take a stab at this to get my feet wet in webkit2... Some hints would be welcome though.

It looks like it should go like this:
* add EventSendingController::contextClick() that builds a message and posts it
* EventSenderProxy::contextClick() gets called in UI process, fakes a context
  button click, and returns the menu item titles in the context menu that was 
  opened

Does it sound reasonable that the contextClick message payload (for the &quot;IPC API&quot;) is a list of menu item title strings?

I&apos;m currently looking at the port specific stuff for gtk (it&apos;s not entirely clear to me how I should be getting the data from a gtkmenu (in WebContextMenuProxyGtk it seems) into EventSenderProxy). I&apos;ll post a patch for comments once I have that figured out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644553</commentid>
    <comment_count>2</comment_count>
    <who name="Jussi Kukkonen (jku)">jussi.kukkonen</who>
    <bug_when>2012-06-08 03:49:15 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; Tests that depend on this according to grep:

Also, many tests in this list don&apos;t really need contextClick: they could as well use a regular button #2 click.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717020</commentid>
    <comment_count>3</comment_count>
    <who name="Wojciech Bielawski">w.bielawski</who>
    <bug_when>2012-09-11 03:29:50 -0700</bug_when>
    <thetext>Tests:
editing/pasteboard/copy-standalone-image-crash.html:50:    actionitems = eventSender.contextClick();
editing/selection/context-menu-on-text.html:22:    var items = eventSender.contextClick();
media/context-menu-actions.html:26:                items = eventSender.contextClick();

are suggesting that contextClick should return an array of menu items objects with at least:
- &quot;title&quot; field of string type 
- &quot;click()&quot; method</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>725266</commentid>
    <comment_count>4</comment_count>
    <who name="Wojciech Bielawski">w.bielawski</who>
    <bug_when>2012-09-21 01:34:29 -0700</bug_when>
    <thetext>Hello Jussi,
I have almost finished a partial solution (only menu item titles are returned) for this bug. Have you done something related in the code? If not I&apos;ll provide a patch in a few days.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>725357</commentid>
    <comment_count>5</comment_count>
    <who name="Jussi Kukkonen (jku)">jussi.kukkonen</who>
    <bug_when>2012-09-21 03:09:02 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; I have almost finished a partial solution (only menu item titles are returned) for this bug. Have you done something related in the code? If not I&apos;ll provide a patch in a few days.

Oh, sorry for not updating this: feel free, I got distracted by shinier things.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726450</commentid>
    <comment_count>6</comment_count>
      <attachid>165329</attachid>
    <who name="Wojciech Bielawski">w.bielawski</who>
    <bug_when>2012-09-24 01:31:35 -0700</bug_when>
    <thetext>Created attachment 165329
eventSender.contextClick() method partially implemented.

This patch provides a part of eventSender.contextClick() functionality. This method returns array of objects with property &quot;title&quot; where menu item title is stored. Each object should also provide &quot;click()&quot; method but is not implemented in this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726464</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-09-24 01:55:41 -0700</bug_when>
    <thetext>missing [WK2][WKTR] in bug title.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726467</commentid>
    <comment_count>8</comment_count>
      <attachid>165329</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-09-24 02:02:36 -0700</bug_when>
    <thetext>Comment on attachment 165329
eventSender.contextClick() method partially implemented.

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

&gt; Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:152
&gt; +WKArrayRef WKBundlePageGetContextMenuEntriesNames(WKBundlePageRef pageRef)

WKBundlePageCopyContextMenuEntriesNames() ? Since the caller needs to free the returned array and its items.

&gt; Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:155
&gt; +    WebContextMenu* cm = toImpl(pageRef)-&gt;contextMenu();

cm? please do not use abbreviations (as per coding style). &quot;contextMenu&quot; is probably more appropriate here.

&gt; Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:158
&gt; +    for (size_t i = 0; i &lt; items.size(); ++i) {

It is a good idea to cache items.size() before the loop.

&gt; Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.h:398
&gt; +WK_EXPORT WKArrayRef WKBundlePageGetContextMenuEntriesNames(WKBundlePageRef pageRef);

If it is only needed by WebKitTestRunner, we can probably move it to private header?

&gt; Source/WebKit2/WebProcess/WebPage/WebContextMenu.cpp:120
&gt; +    return proposedMenu;

nit: new line before return statement.

&gt; Tools/WebKitTestRunner/InjectedBundle/EventSendingController.cpp:326
&gt; +    mouseDown(2, 0);

No mouseUp()?

&gt; Tools/WebKitTestRunner/InjectedBundle/EventSendingController.cpp:332
&gt; +    WKRetainPtr&lt;WKArrayRef&gt; entriesNames = WKBundlePageGetContextMenuEntriesNames(page);

You should adoptWK() here? Would be clearer if the function was named &quot;Copy&quot; instead of &quot;Get&quot;.

&gt; Tools/WebKitTestRunner/InjectedBundle/EventSendingController.cpp:333
&gt; +    JSStringRef jsPropertyName = JSStringCreateWithUTF8CString(&quot;title&quot;);

Missing adopt ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726482</commentid>
    <comment_count>9</comment_count>
      <attachid>165329</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-09-24 02:21:54 -0700</bug_when>
    <thetext>Comment on attachment 165329
eventSender.contextClick() method partially implemented.

Attachment 165329 did not pass win-ews (win):
Output: http://queues.webkit.org/results/14002321</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726593</commentid>
    <comment_count>10</comment_count>
      <attachid>165364</attachid>
    <who name="Wojciech Bielawski">w.bielawski</who>
    <bug_when>2012-09-24 06:07:03 -0700</bug_when>
    <thetext>Created attachment 165364
 eventSender.contextClick() method partially implemented.

Update after  Christophe Dumez review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726595</commentid>
    <comment_count>11</comment_count>
      <attachid>165364</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-09-24 06:15:35 -0700</bug_when>
    <thetext>Comment on attachment 165364
 eventSender.contextClick() method partially implemented.

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

&gt; Tools/ChangeLog:10
&gt; +        context menu etry. According to some tests menu items objects shall also support &apos;click()&apos; method, but it&apos;s not

&quot;entry&quot;

&gt; Tools/WebKitTestRunner/InjectedBundle/EventSendingController.cpp:333
&gt; +    WKRetainPtr&lt;WKArrayRef&gt; entriesNames = WKBundlePageCopyContextMenuEntriesNames(page);

Missing adopt ?
WKRetainPtr&lt;WKArrayRef&gt; entriesNames = adoptWK(WKBundlePageCopyContextMenuEntriesNames(page));

&gt; Tools/WebKitTestRunner/InjectedBundle/EventSendingController.cpp:334
&gt; +    JSStringRef jsPropertyName = JSStringCreateWithUTF8CString(&quot;title&quot;);

Missing adopt?

&gt; Tools/WebKitTestRunner/InjectedBundle/EventSendingController.cpp:336
&gt; +    JSValueRef jsValuesArray[entriesSize];

This won&apos;t build with MSVC. You will probably need dynamic allocation to make win-ews happy.

&gt; Tools/WebKitTestRunner/InjectedBundle/EventSendingController.cpp:341
&gt; +        JSValueRef jsEntryName = JSValueMakeString(context, WKStringCopyJSString(wkEntryName));

missing adopt for value returned by WKStringCopyJSString()?

&gt; Tools/WebKitTestRunner/InjectedBundle/EventSendingController.cpp:345
&gt; +    JSStringRelease(jsPropertyName);

Would not be needed if you used JSRetainPtr&lt;&gt; and adopt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726601</commentid>
    <comment_count>12</comment_count>
      <attachid>165364</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-09-24 06:25:42 -0700</bug_when>
    <thetext>Comment on attachment 165364
 eventSender.contextClick() method partially implemented.

Attachment 165364 did not pass win-ews (win):
Output: http://queues.webkit.org/results/13992617</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726617</commentid>
    <comment_count>13</comment_count>
      <attachid>165364</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-09-24 06:54:37 -0700</bug_when>
    <thetext>Comment on attachment 165364
 eventSender.contextClick() method partially implemented.

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

&gt; LayoutTests/platform/efl/editing/selection/5354455-2-expected.txt:1
&gt; +layer at (0,0) size 800x600

This test is skipped in efl/TestExpectations, you should probably move it to efl-wk1/TestExpectations and update its expectation if it now passes for WK2 EFL.

&gt; LayoutTests/platform/efl/fast/events/context-no-deselect-expected.txt:1
&gt; +layer at (0,0) size 800x600

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726633</commentid>
    <comment_count>14</comment_count>
      <attachid>165364</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-09-24 07:20:42 -0700</bug_when>
    <thetext>Comment on attachment 165364
 eventSender.contextClick() method partially implemented.

Attachment 165364 did not pass win-ews (win):
Output: http://queues.webkit.org/results/13996688</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727137</commentid>
    <comment_count>15</comment_count>
      <attachid>165364</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-09-24 17:56:27 -0700</bug_when>
    <thetext>Comment on attachment 165364
 eventSender.contextClick() method partially implemented.

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

&gt;&gt; LayoutTests/platform/efl/editing/selection/5354455-2-expected.txt:1
&gt;&gt; +layer at (0,0) size 800x600
&gt; 
&gt; This test is skipped in efl/TestExpectations, you should probably move it to efl-wk1/TestExpectations and update its expectation if it now passes for WK2 EFL.

Why not add png file to support pixel-test as well ?

&gt; Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:170
&gt; +

Unneeded a new line.

&gt; Source/WebKit2/WebProcess/WebPage/WebContextMenu.cpp:123
&gt; +

ditto.

&gt; Tools/WebKitTestRunner/InjectedBundle/EventSendingController.cpp:348
&gt; +    return JSValueMakeUndefined(context);

Where is *context* defined ? It looks this is defined in 331 line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734562</commentid>
    <comment_count>16</comment_count>
      <attachid>167064</attachid>
    <who name="Wojciech Bielawski">w.bielawski</who>
    <bug_when>2012-10-04 03:21:35 -0700</bug_when>
    <thetext>Created attachment 167064
eventSender.contextClick() method partially implemented.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734563</commentid>
    <comment_count>17</comment_count>
      <attachid>167064</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-10-04 03:30:43 -0700</bug_when>
    <thetext>Comment on attachment 167064
eventSender.contextClick() method partially implemented.

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

Why not set r?

&gt; LayoutTests/ChangeLog:3
&gt; +        WebKitTestRunner needs eventSender.contextClick()

This is different from bug title.

[WK2][WKTR] WebKitTestRunner needs eventSender.contextClick()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734607</commentid>
    <comment_count>18</comment_count>
      <attachid>167078</attachid>
    <who name="Wojciech Bielawski">w.bielawski</who>
    <bug_when>2012-10-04 05:14:07 -0700</bug_when>
    <thetext>Created attachment 167078
 eventSender.contextClick() method partially implemented.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734691</commentid>
    <comment_count>19</comment_count>
      <attachid>167104</attachid>
    <who name="Wojciech Bielawski">w.bielawski</who>
    <bug_when>2012-10-04 07:58:02 -0700</bug_when>
    <thetext>Created attachment 167104
eventSender.contextClick() method partially implemented.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735206</commentid>
    <comment_count>20</comment_count>
      <attachid>167104</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-10-04 18:16:58 -0700</bug_when>
    <thetext>Comment on attachment 167104
eventSender.contextClick() method partially implemented.

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

&gt; Source/WebKit2/WebProcess/WebPage/WebContextMenu.cpp:100
&gt; +    Vector&lt;WebContextMenuItemData&gt; proposedMenu;

This is C-ism. Move this to 114 line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735510</commentid>
    <comment_count>21</comment_count>
    <who name="Wojciech Bielawski">w.bielawski</who>
    <bug_when>2012-10-05 02:04:49 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; (From update of attachment 167104 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=167104&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/WebProcess/WebPage/WebContextMenu.cpp:100
&gt; &gt; +    Vector&lt;WebContextMenuItemData&gt; proposedMenu;
&gt; 
&gt; This is C-ism. Move this to 114 line.

I use proposedMenu variable to return empty vector in lines 103 and 106.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735563</commentid>
    <comment_count>22</comment_count>
      <attachid>167104</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-10-05 04:12:45 -0700</bug_when>
    <thetext>Comment on attachment 167104
eventSender.contextClick() method partially implemented.

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

BTW, it looks this patch covers other ports as well. Did you check other ports ?

&gt;&gt;&gt; Source/WebKit2/WebProcess/WebPage/WebContextMenu.cpp:100
&gt;&gt;&gt; +    Vector&lt;WebContextMenuItemData&gt; proposedMenu;
&gt;&gt; 
&gt;&gt; This is C-ism. Move this to 114 line.
&gt; 
&gt; I use proposedMenu variable to return empty vector in lines 103 and 106.

Right. I missed it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735634</commentid>
    <comment_count>23</comment_count>
    <who name="Michal Pakula vel Rutka">mpakulavelrutka</who>
    <bug_when>2012-10-05 07:57:52 -0700</bug_when>
    <thetext>&gt; LayoutTests/platform/efl-wk1/TestExpectations:153
&gt; +webkit.org/b/86091 fast/events/context-no-deselect.html [ Missing ]

You have already added test expectations for these two tests, they should be marked as failure.

&gt; LayoutTests/platform/efl/TestExpectations:1249
&gt; +Bug(EFL) webkit.org/b/86091 editing/selection/5354455-1.html [ Failure ]

I think 3 tests above should rather land in efl-wk2/TestExpectations, as for now we cannot check failure reasons in WebKit1 for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743011</commentid>
    <comment_count>24</comment_count>
    <who name="Wojciech Bielawski">w.bielawski</who>
    <bug_when>2012-10-16 02:48:36 -0700</bug_when>
    <thetext>All reported problems were fixed. Gyuyoung would you take a look on it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743031</commentid>
    <comment_count>25</comment_count>
      <attachid>168909</attachid>
    <who name="Wojciech Bielawski">w.bielawski</who>
    <bug_when>2012-10-16 03:31:47 -0700</bug_when>
    <thetext>Created attachment 168909
eventSender.contextClick() method partially implemented.

Corrections after Michal&apos;s review added.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743080</commentid>
    <comment_count>26</comment_count>
      <attachid>168928</attachid>
    <who name="Wojciech Bielawski">w.bielawski</who>
    <bug_when>2012-10-16 05:17:41 -0700</bug_when>
    <thetext>Created attachment 168928
eventSender.contextClick() method partially implemented.

More corrections after next Michal&apos;s review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749609</commentid>
    <comment_count>27</comment_count>
      <attachid>170381</attachid>
    <who name="Wojciech Bielawski">w.bielawski</who>
    <bug_when>2012-10-24 06:32:25 -0700</bug_when>
    <thetext>Created attachment 170381
eventSender.contextClick() method partially implemented.

Added gardening related with contextClick to GTK platform.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>750577</commentid>
    <comment_count>28</comment_count>
      <attachid>170593</attachid>
    <who name="Wojciech Bielawski">w.bielawski</who>
    <bug_when>2012-10-25 02:18:32 -0700</bug_when>
    <thetext>Created attachment 170593
eventSender.contextClick() method partially implemented.

Previous path was wrongly prepared.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>750581</commentid>
    <comment_count>29</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-25 02:23:27 -0700</bug_when>
    <thetext>Attachment 170593 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/plat...&quot; exit_code: 1
LayoutTests/platform/efl-wk1/TestExpectations:315:  Path does not exist.  [test/expectations] [5]
LayoutTests/platform/efl-wk2/TestExpectations:274:  expecting &quot;[&quot;, &quot;#&quot;, or end of line instead of &quot;editing/pasteboard/copy-standalone-image-crash.html&quot;  [test/expectations] [5]
LayoutTests/platform/efl-wk2/TestExpectations:274:  Path does not exist.  [test/expectations] [5]
Total errors found: 3 in 15 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>750763</commentid>
    <comment_count>30</comment_count>
      <attachid>170634</attachid>
    <who name="Wojciech Bielawski">w.bielawski</who>
    <bug_when>2012-10-25 06:53:35 -0700</bug_when>
    <thetext>Created attachment 170634
eventSender.contextClick() method partially implemented.

Rebased without webkit style problems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751649</commentid>
    <comment_count>31</comment_count>
      <attachid>170634</attachid>
    <who name="Jussi Kukkonen (jku)">jussi.kukkonen</who>
    <bug_when>2012-10-26 00:40:24 -0700</bug_when>
    <thetext>Comment on attachment 170634
eventSender.contextClick() method partially implemented.

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

Sorry for not commenting earlier. Code looks ok to me, but LayoutTests/ files have some minor issues.

&gt; LayoutTests/ChangeLog:12
&gt; +        Added expected results for two tests for EFL platform.
&gt; +
&gt; +        * platform/efl/editing/selection/5354455-2-expected.txt: Added.
&gt; +        * platform/efl/fast/events/context-no-deselect-expected.txt: Added.
&gt; +

This is not up to date: you&apos;re changing various TestExpectations as well.

&gt; LayoutTests/platform/efl-wk1/TestExpectations:319
&gt; +webkit.org/b/86091 editing/selection/5354455-2.html [ Failure ]

Did you add expected results for this for a reason?

&gt; LayoutTests/platform/efl-wk1/TestExpectations:327
&gt; +webkit.org/b/86091 fast/events/context-no-deselect.html [ Failure ]

Ditto here.

&gt; LayoutTests/platform/gtk-wk2/TestExpectations:585
&gt; +# EFL&apos;s EventSender contextClick should return objects that implements click() method

Not sure if the issue is port specific, but at least it shouldn&apos;t be EFL in a GTK file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751653</commentid>
    <comment_count>32</comment_count>
    <who name="Jussi Kukkonen (jku)">jussi.kukkonen</who>
    <bug_when>2012-10-26 00:42:25 -0700</bug_when>
    <thetext>(In reply to comment #31)
&gt; &gt; LayoutTests/platform/efl-wk1/TestExpectations:319
&gt; &gt; +webkit.org/b/86091 editing/selection/5354455-2.html [ Failure ]
&gt; 
&gt; Did you add expected results for this for a reason?
&gt; 
&gt; &gt; LayoutTests/platform/efl-wk1/TestExpectations:327
&gt; &gt; +webkit.org/b/86091 fast/events/context-no-deselect.html [ Failure ]
&gt; 
&gt; Ditto here.

Ah sorry, I was blind -- the results are from efl-wk2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751669</commentid>
    <comment_count>33</comment_count>
      <attachid>170844</attachid>
    <who name="Wojciech Bielawski">w.bielawski</who>
    <bug_when>2012-10-26 01:14:48 -0700</bug_when>
    <thetext>Created attachment 170844
eventSender.contextClick() method partially implemented.

Corrections after Jussi Kukkonen review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>754355</commentid>
    <comment_count>34</comment_count>
      <attachid>171449</attachid>
    <who name="Wojciech Bielawski">w.bielawski</who>
    <bug_when>2012-10-30 07:31:22 -0700</bug_when>
    <thetext>Created attachment 171449
eventSender.contextClick() method partially implemented.

I&apos;ve missed last remark from Jussi. Now all remarks are corrected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755295</commentid>
    <comment_count>35</comment_count>
      <attachid>171659</attachid>
    <who name="Wojciech Bielawski">w.bielawski</who>
    <bug_when>2012-10-31 07:44:27 -0700</bug_when>
    <thetext>Created attachment 171659
eventSender.contextClick() method partially implemented.

Rebased with newest changes (contextClick for webkit1)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758451</commentid>
    <comment_count>36</comment_count>
      <attachid>171659</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-11-05 05:41:30 -0800</bug_when>
    <thetext>Comment on attachment 171659
eventSender.contextClick() method partially implemented.

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

&gt; Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:153
&gt; +WKArrayRef WKBundlePageCopyContextMenuEntriesNames(WKBundlePageRef pageRef)

How about WKBundlePageCopyMenuItemTitles() ?

At least mac and Qt ports seems to return &quot;&lt;separator&gt;&quot; for menu separators in DRT.

&gt; Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:80
&gt; +WK_EXPORT WKArrayRef WKBundlePageCopyContextMenuEntriesNames(WKBundlePageRef pageRef);

argument name does not bring anything here.

&gt; Source/WebKit2/WebProcess/WebPage/WebContextMenu.cpp:104
&gt; +    ContextMenu* menu = controller-&gt;contextMenu();

we usually have an empty line after return statement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758455</commentid>
    <comment_count>37</comment_count>
      <attachid>171659</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-11-05 05:46:15 -0800</bug_when>
    <thetext>Comment on attachment 171659
eventSender.contextClick() method partially implemented.

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

&gt; Source/WebKit2/WebProcess/WebPage/WebContextMenu.cpp:98
&gt; +Vector&lt;WebContextMenuItemData&gt; WebContextMenu::items() const

isn&apos;t most of this function&apos;s body code same as in WebContextMenu::show()? guess it can be shared.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767916</commentid>
    <comment_count>38</comment_count>
      <attachid>174396</attachid>
    <who name="Wojciech Bielawski">w.bielawski</who>
    <bug_when>2012-11-15 03:45:11 -0800</bug_when>
    <thetext>Created attachment 174396
eventSender.contextClick() method partially implemented.

Corrections after review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767984</commentid>
    <comment_count>39</comment_count>
      <attachid>174413</attachid>
    <who name="Wojciech Bielawski">w.bielawski</who>
    <bug_when>2012-11-15 05:28:37 -0800</bug_when>
    <thetext>Created attachment 174413
eventSender.contextClick() method partially implemented.

Rebased with newest changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772660</commentid>
    <comment_count>40</comment_count>
      <attachid>174413</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-11-21 02:08:09 -0800</bug_when>
    <thetext>Comment on attachment 174413
eventSender.contextClick() method partially implemented.

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

&gt; Source/WebKit2/WebProcess/WebPage/WebContextMenu.cpp:109
&gt;          proposedMenu = newMenu;
&gt; -
&gt; -    WebHitTestResult::Data webHitTestResultData(controller-&gt;hitTestResult());
&gt; -
&gt; -    // Mark the WebPage has having a shown context menu then notify the UIProcess.
&gt; -    m_page-&gt;contextMenuShowing();
&gt; -    m_page-&gt;send(Messages::WebPageProxy::ShowContextMenu(view-&gt;contentsToWindow(controller-&gt;hitTestResult().roundedPoint()), webHitTestResultData, proposedMenu, InjectedBundleUserMessageEncoder(userData.get())));
&gt; +    menuItems = proposedMenu;

You are moving code to another method and this is not described in the changelog, nor why it is needed and result in the same behavior</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772762</commentid>
    <comment_count>41</comment_count>
      <attachid>174413</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-11-21 03:33:40 -0800</bug_when>
    <thetext>Comment on attachment 174413
eventSender.contextClick() method partially implemented.

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

&gt; Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:157
&gt; +    Vector&lt;WebContextMenuItemData&gt; items = contextMenu-&gt;items();

nit: can be const Vector&lt;WebContextMenuItemData&gt;&amp; items so that copying is obviated.

&gt; Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:158
&gt; +    OwnArrayPtr&lt;WKTypeRef&gt; itemNames = adoptArrayPtr(new WKTypeRef[items.size()]);

arrayLength can be defined earlier and used already here

&gt; Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:161
&gt; +        RefPtr&lt;WebString&gt; name = WebString::create(items[i].title());

C API would look more natural here imho

&gt; Source/WebKit2/WebProcess/WebPage/WebContextMenu.cpp:112
&gt; +Vector&lt;WebContextMenuItemData&gt; WebContextMenu::items()

const method?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772890</commentid>
    <comment_count>42</comment_count>
      <attachid>175428</attachid>
    <who name="Wojciech Bielawski">w.bielawski</who>
    <bug_when>2012-11-21 06:34:37 -0800</bug_when>
    <thetext>Created attachment 175428
eventSender.contextClick() method partially implemented.

Corrections after review(s).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772892</commentid>
    <comment_count>43</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-21 06:36:55 -0800</bug_when>
    <thetext>Attachment 175428 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/plat...&quot; exit_code: 1
Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:163:  One line control clauses should not use braces.  [whitespace/braces] [4]
Total errors found: 1 in 14 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772897</commentid>
    <comment_count>44</comment_count>
      <attachid>175428</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-11-21 06:39:33 -0800</bug_when>
    <thetext>Comment on attachment 175428
eventSender.contextClick() method partially implemented.

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

&gt; Source/WebKit2/ChangeLog:11
&gt; +        Common code in WebContextMenu.cpp moved to searate method menuItemsWithUserData().

separate*

&gt; Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:163
&gt; +    for (size_t i = 0; i &lt; arrayLength; ++i) {
&gt; +        itemNames[i] = WKStringCreateWithUTF8CString(items[i].title().utf8().data());
&gt; +    }

should not use braces

&gt; Tools/WebKitTestRunner/InjectedBundle/EventSendingController.cpp:337
&gt; +    for (size_t i = 0; i &lt; entriesSize; ++i) {
&gt; +        ASSERT(WKGetTypeID(WKArrayGetItemAtIndex(entriesNames.get(), i)) == WKStringGetTypeID());

I would like a newline after the assert

&gt; Tools/WebKitTestRunner/InjectedBundle/EventSendingController.cpp:339
&gt; +        JSObjectRef jsItemObject = JSObjectMake(context, 0, 0);

Those 0 (nulls) mean what? we normally add a comment before like /* page */ etc</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772908</commentid>
    <comment_count>45</comment_count>
      <attachid>175431</attachid>
    <who name="Wojciech Bielawski">w.bielawski</who>
    <bug_when>2012-11-21 06:45:43 -0800</bug_when>
    <thetext>Created attachment 175431
eventSender.contextClick() method partially implemented.

Style corrected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772928</commentid>
    <comment_count>46</comment_count>
      <attachid>175435</attachid>
    <who name="Wojciech Bielawski">w.bielawski</who>
    <bug_when>2012-11-21 07:04:52 -0800</bug_when>
    <thetext>Created attachment 175435
eventSender.contextClick() method partially implemented.

Corrections after Kenneth review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>773964</commentid>
    <comment_count>47</comment_count>
      <attachid>175435</attachid>
    <who name="Thiago Marcos P. Santos">tmpsantos</who>
    <bug_when>2012-11-22 08:06:42 -0800</bug_when>
    <thetext>Comment on attachment 175435
eventSender.contextClick() method partially implemented.

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

&gt; Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:164
&gt; +    return WKArrayCreate(itemNames.get(), arrayLength);

Looks to me that this should be WKArrayCreateAdoptingValues, otherwise the strings are leaking. I don&apos;t see them being adopted.

&gt; Source/WebKit2/WebProcess/WebPage/WebContextMenu.h:50
&gt; +    void menuItemsWithUserData(Vector&lt;WebContextMenuItemData&gt; &amp;, RefPtr&lt;APIObject&gt;&amp;) const;

Indentation nit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774389</commentid>
    <comment_count>48</comment_count>
      <attachid>175772</attachid>
    <who name="Wojciech Bielawski">w.bielawski</who>
    <bug_when>2012-11-23 03:45:55 -0800</bug_when>
    <thetext>Created attachment 175772
eventSender.contextClick() method partially implemented.

Corrections after Thiago review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774427</commentid>
    <comment_count>49</comment_count>
      <attachid>175772</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-23 04:31:02 -0800</bug_when>
    <thetext>Comment on attachment 175772
eventSender.contextClick() method partially implemented.

Rejecting attachment 175772 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
hing file Source/WebKit2/WebProcess/WebPage/WebContextMenu.h
patching file Tools/ChangeLog
patching file Tools/WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl
patching file Tools/WebKitTestRunner/InjectedBundle/EventSendingController.cpp
patching file Tools/WebKitTestRunner/InjectedBundle/EventSendingController.h

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;, u&apos;--reviewer&apos;, u&apos;Kenneth Ro...&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue

Full output: http://queues.webkit.org/results/14950734</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774433</commentid>
    <comment_count>50</comment_count>
      <attachid>175779</attachid>
    <who name="Wojciech Bielawski">w.bielawski</who>
    <bug_when>2012-11-23 04:38:10 -0800</bug_when>
    <thetext>Created attachment 175779
eventSender.contextClick() method partially implemented.

Rebased with latest changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774453</commentid>
    <comment_count>51</comment_count>
      <attachid>175779</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-23 04:56:31 -0800</bug_when>
    <thetext>Comment on attachment 175779
eventSender.contextClick() method partially implemented.

Clearing flags on attachment: 175779

Committed r135595: &lt;http://trac.webkit.org/changeset/135595&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774454</commentid>
    <comment_count>52</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-23 04:56:38 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165329</attachid>
            <date>2012-09-24 01:31:35 -0700</date>
            <delta_ts>2012-09-24 06:07:03 -0700</delta_ts>
            <desc>eventSender.contextClick() method partially implemented.</desc>
            <filename>contextClick.patch</filename>
            <type>text/plain</type>
            <size>13479</size>
            <attacher name="Wojciech Bielawski">w.bielawski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiYjExNDEyLi4wN2RkYjcyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDkt
MTQgIFdvamNpZWNoIEJpZWxhd3NraSAgPHcuYmllbGF3c2tpQHNhbXN1bmcuY29tPgorCisgICAg
ICAgIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgZXZlbnRTZW5kZXIuY29udGV4dENsaWNrKCkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2ODgxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgZXhwZWN0
ZWQgcmVzdWx0cyBmb3IgdHdvIHRlc3RzIGZvciBFRkwgcGxhdGZvcm0uCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9lZmwvZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0yLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogcGxhdGZvcm0vZWZsL2Zhc3QvZXZlbnRzL2NvbnRleHQtbm8tZGVzZWxl
Y3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAxMi0wOS0yNCAgTWF0dCBGYWxrZW5oYWdlbiAg
PGZhbGtlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgU2tlbGV0b24gaW1wbGVtZW50YXRpb24g
b2YgZGlhbG9nLnNob3dNb2RhbCgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9l
ZmwvZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2VmbC9lZGl0aW5nL3NlbGVjdGlvbi81MzU0NDU1LTItZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE0OWY1MzgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0y
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIzIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCits
YXllciBhdCAoOCw4KSBzaXplIDYxMngxNjUKKyAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkg
c2l6ZSA2MTJ4MTY1IFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCisgICAgUmVuZGVyQmxv
Y2sge0gxfSBhdCAoNiw2KSBzaXplIDYwMHgzNworICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgNjAweDM4CisgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDYwMDog
IldvcmQgc2VsZWN0aW9uIG9uIHJpZ2h0IGNsaWNrIHRlc3QiCisgICAgUmVuZGVyQmxvY2sgKGFu
b255bW91cykgYXQgKDYsNjQpIHNpemUgNjAweDk1CisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsMCkgc2l6ZSA1Mzh4MzgKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNTM4
OiAiVGhpcyB0ZXN0cyB0byBtYWtlIHN1cmUgdGhhdCByaWdodCBjbGlja2luZyBub24tZWRpdGFi
bGUgY29udGVudCBvbmx5IgorICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxOSkgd2lkdGggMzU5OiAi
Y3JlYXRlcyBhIHdvcmQgc2VsZWN0aW9uIGZvciBjbGlja3Mgb3ZlciB0ZXh0LiAiCisgICAgICBS
ZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMjB4MTkKKyAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgzNTksMTkpIHNpemUgMjB4MTkKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MzU5LDE5KSB3aWR0aCAyMDogIlRvIgorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzNzks
MTkpIHNpemUgNTc2eDc2CisgICAgICAgIHRleHQgcnVuIGF0ICgzNzksMTkpIHdpZHRoIDE5Nzog
IiBydW4gbWFudWFsbHksIHJpZ2h0IGNsaWNrIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzOCkg
d2lkdGggMzIwOiAib24gdGV4dCwgYW5kIGEgd29yZCBzaG91bGQgYmUgc2VsZWN0ZWQuICIKKyAg
ICAgICAgdGV4dCBydW4gYXQgKDMyMCwzOCkgd2lkdGggMjQ1OiAiUmlnaHQgY2xpY2sgb24gdGhl
IGVtcHR5IHNwYWNlIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1Nykgd2lkdGggNTM5OiAib3V0
c2lkZSBhbmQgdG8gdGhlIHJpZ2h0IG9mIHRoZSBibGFjayBib3JkZXIsIHRoZSBzZWxlY3Rpb24g
c2hvdWxkIGJlIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMCw3Nikgd2lkdGggNzc6ICJyZW1vdmVk
LiIKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2Zhc3QvZXZlbnRzL2NvbnRleHQtbm8tZGVzZWxl
Y3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2Zhc3QvZXZlbnRzL2Nv
bnRleHQtbm8tZGVzZWxlY3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmVmMzJlMzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9lZmwvZmFzdC9ldmVudHMvY29udGV4dC1uby1kZXNlbGVjdC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxNCBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVy
QmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9
IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBh
dCAoMiwyKSBzaXplIDIwN3gxOQorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgMHgwCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKK2xheWVy
IGF0ICgxMCwxMCkgc2l6ZSAyMDd4MTkKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6
ZSAyMDd4MTkKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMCkgc2l6ZSAxNDN4MTkKKyAg
ICAgIHRleHQgcnVuIGF0ICgxLDApIHdpZHRoIDE0MzogInNvbWUgc2FtcGxlIHRleHQiCitzZWxl
Y3Rpb24gc3RhcnQ6IHBvc2l0aW9uIDUgb2YgY2hpbGQgMCB7I3RleHR9IG9mIGNoaWxkIDAge0RJ
Vn0gb2YgeyNzaGFkb3ctcm9vdH0gb2YgY2hpbGQgMSB7SU5QVVR9IG9mIGJvZHkKK3NlbGVjdGlv
biBlbmQ6ICAgcG9zaXRpb24gMTUgb2YgY2hpbGQgMCB7I3RleHR9IG9mIGNoaWxkIDAge0RJVn0g
b2YgeyNzaGFkb3ctcm9vdH0gb2YgY2hpbGQgMSB7SU5QVVR9IG9mIGJvZHkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRl
eCBkOWVlYTQ0Li5kODI2NWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTItMDkt
MTQgIFdvamNpZWNoIEJpZWxhd3NraSAgPHcuYmllbGF3c2tpQHNhbXN1bmcuY29tPgorCisgICAg
ICAgIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgZXZlbnRTZW5kZXIuY29udGV4dENsaWNrKCkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2ODgxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5qZWN0ZWRCdW5k
bGUgQVBJIGV4dGVuZGVkIHRvIHJldHJpZXZlIGNvbnRleHRNZW51IGVudHJpZXMgbmFtZXMuCisg
ICAgICAgIFdlYkNvbnRleHRNZW51IGV4dGVkZWQgd2l0aCBmdW5jdGlvbiB0byByZXRyaWV2ZSBt
ZW51IGl0ZW1zLgorICAgICAgICBUaGlzIEFQSSBpcyByZXF1aXJlZCBieSBsYXlvdXQgdGVzdHMu
CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFn
ZS5jcHA6CisgICAgICAgIChXS0J1bmRsZVBhZ2VHZXRDb250ZXh0TWVudUVudHJpZXNOYW1lcyk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2Uu
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJDb250ZXh0TWVudTo6aXRlbXMpOgorICAgICAgICAoV2ViS2l0KToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuaDoKKyAgICAgICAg
KFdlYkNvbnRleHRNZW51KToKKwogMjAxMi0wOS0yMyAgU2Vva2p1IEt3b24gIDxzZW9ranUua3dv
bkBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXVtXSzJdIEFkZCBzZXR0aW5nIHRvIHRvZ2ds
ZSBkZXZlbG9wZXIgZXh0ZW5zaW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCmluZGV4
IDE4MjQ3YjYuLmM2ZGE2ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAKQEAgLTMw
LDEzICszMCwxOCBAQAogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlQmFja0ZvcndhcmRMaXN0Lmgi
CiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlLmgiCiAjaW5jbHVkZSAiV0tBUElD
YXN0LmgiCisjaW5jbHVkZSAiV0tBcnJheS5oIgogI2luY2x1ZGUgIldLQnVuZGxlQVBJQ2FzdC5o
IgorI2luY2x1ZGUgIldLUmV0YWluUHRyLmgiCisjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnUuaCIK
KyNpbmNsdWRlICJXZWJDb250ZXh0TWVudUl0ZW0uaCIKICNpbmNsdWRlICJXZWJGcmFtZS5oIgog
I2luY2x1ZGUgIldlYkZ1bGxTY3JlZW5NYW5hZ2VyLmgiCiAjaW5jbHVkZSAiV2ViSW1hZ2UuaCIK
ICNpbmNsdWRlICJXZWJQYWdlLmgiCiAjaW5jbHVkZSAiV2ViUmVuZGVyTGF5ZXIuaCIKICNpbmNs
dWRlICJXZWJSZW5kZXJPYmplY3QuaCIKKyNpbmNsdWRlICJXZWJTdHJpbmcuaCIKICNpbmNsdWRl
ICJXZWJVUkwuaCIKICNpbmNsdWRlICJXZWJVUkxSZXF1ZXN0LmgiCiAKQEAgLTE0NCw2ICsxNDks
MjUgQEAgV0tCdW5kbGVGcmFtZVJlZiBXS0J1bmRsZVBhZ2VHZXRNYWluRnJhbWUoV0tCdW5kbGVQ
YWdlUmVmIHBhZ2VSZWYpCiAgICAgcmV0dXJuIHRvQVBJKHRvSW1wbChwYWdlUmVmKS0+bWFpbldl
YkZyYW1lKCkpOwogfQogCitXS0FycmF5UmVmIFdLQnVuZGxlUGFnZUdldENvbnRleHRNZW51RW50
cmllc05hbWVzKFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVmKQoreworI2lmIEVOQUJMRShDT05URVhU
X01FTlVTKQorICAgIFdlYkNvbnRleHRNZW51KiBjbSA9IHRvSW1wbChwYWdlUmVmKS0+Y29udGV4
dE1lbnUoKTsKKyAgICBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4gaXRlbXMgPSBjbS0+
aXRlbXMoKTsKKyAgICBPd25BcnJheVB0cjxXS1R5cGVSZWY+IGl0ZW1OYW1lcyA9IGFkb3B0QXJy
YXlQdHIobmV3IFdLVHlwZVJlZltpdGVtcy5zaXplKCldKTsKKyAgICBmb3IgKHNpemVfdCBpID0g
MDsgaSA8IGl0ZW1zLnNpemUoKTsgKytpKSB7CisgICAgICAgIFJlZlB0cjxXZWJTdHJpbmc+IG5h
bWUgPSBXZWJTdHJpbmc6OmNyZWF0ZShpdGVtc1tpXS50aXRsZSgpKTsKKyAgICAgICAgaXRlbU5h
bWVzW2ldID0gdG9BUEkobmFtZS5yZWxlYXNlKCkubGVha1JlZigpKTsKKyAgICB9CisgICAgV0tB
cnJheVJlZiBtZW51RW50cmllc05hbWVzID0gV0tBcnJheUNyZWF0ZShpdGVtTmFtZXMuZ2V0KCks
IGl0ZW1zLnNpemUoKSk7CisKKyAgICByZXR1cm4gbWVudUVudHJpZXNOYW1lczsKKyNlbHNlCisg
ICAgcmV0dXJuIDA7CisjZW5kaWYKK30KKworCiB2b2lkKiBXS0FjY2Vzc2liaWxpdHlSb290T2Jq
ZWN0KFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVmKQogewogI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L2MvV0tCdW5kbGVQYWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5oCmluZGV4IDA0YWJjODYuLjQ4MGFlYTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5k
bGVQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9B
UEkvYy9XS0J1bmRsZVBhZ2UuaApAQCAtMzk1LDYgKzM5NSw4IEBAIFdLX0VYUE9SVCB2b2lkIFdL
QnVuZGxlUGFnZVNldERpYWdub3N0aWNMb2dnaW5nQ2xpZW50KFdLQnVuZGxlUGFnZVJlZiBwYWdl
LCBXS0J1CiBXS19FWFBPUlQgV0tCdW5kbGVQYWdlR3JvdXBSZWYgV0tCdW5kbGVQYWdlR2V0UGFn
ZUdyb3VwKFdLQnVuZGxlUGFnZVJlZiBwYWdlKTsKIFdLX0VYUE9SVCBXS0J1bmRsZUZyYW1lUmVm
IFdLQnVuZGxlUGFnZUdldE1haW5GcmFtZShXS0J1bmRsZVBhZ2VSZWYgcGFnZSk7CiAKK1dLX0VY
UE9SVCBXS0FycmF5UmVmIFdLQnVuZGxlUGFnZUdldENvbnRleHRNZW51RW50cmllc05hbWVzKFdL
QnVuZGxlUGFnZVJlZiBwYWdlUmVmKTsKKwogV0tfRVhQT1JUIFdLQnVuZGxlQmFja0ZvcndhcmRM
aXN0UmVmIFdLQnVuZGxlUGFnZUdldEJhY2tGb3J3YXJkTGlzdChXS0J1bmRsZVBhZ2VSZWYgcGFn
ZSk7CiAKIFdLX0VYUE9SVCB2b2lkIFdLQnVuZGxlUGFnZVNldFVuZGVybGF5UGFnZShXS0J1bmRs
ZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVQYWdlUmVmIHBhZ2VVbmRlcmxheSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuY3BwIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmNwcAppbmRl
eCAzYTkxZDkwLi43YTg5OGVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5jcHAKQEAgLTk1LDYgKzk1LDMyIEBAIHZvaWQgV2Vi
Q29udGV4dE1lbnU6Oml0ZW1TZWxlY3RlZChjb25zdCBXZWJDb250ZXh0TWVudUl0ZW1EYXRhJiBp
dGVtKQogICAgIG1fcGFnZS0+Y29yZVBhZ2UoKS0+Y29udGV4dE1lbnVDb250cm9sbGVyKCktPmNv
bnRleHRNZW51SXRlbVNlbGVjdGVkKCZjb3JlSXRlbSk7CiB9CiAKK1ZlY3RvcjxXZWJDb250ZXh0
TWVudUl0ZW1EYXRhPiBXZWJDb250ZXh0TWVudTo6aXRlbXMoKSBjb25zdAoreworICAgIFZlY3Rv
cjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiBwcm9wb3NlZE1lbnU7CisgICAgQ29udGV4dE1lbnVD
b250cm9sbGVyKiBjb250cm9sbGVyID0gbV9wYWdlLT5jb3JlUGFnZSgpLT5jb250ZXh0TWVudUNv
bnRyb2xsZXIoKTsKKyAgICBpZiAoIWNvbnRyb2xsZXIpCisgICAgICAgIHJldHVybiBwcm9wb3Nl
ZE1lbnU7CisgICAgQ29udGV4dE1lbnUqIG1lbnUgPSBjb250cm9sbGVyLT5jb250ZXh0TWVudSgp
OworICAgIGlmICghbWVudSkKKyAgICAgICAgcmV0dXJuIHByb3Bvc2VkTWVudTsKKworICAgIC8v
IEdpdmUgdGhlIGJ1bmRsZSBjbGllbnQgYSBjaGFuY2UgdG8gcHJvY2VzcyB0aGUgbWVudS4KKyNp
ZiBVU0UoQ1JPU1NfUExBVEZPUk1fQ09OVEVYVF9NRU5VUykKKyAgICBjb25zdCBWZWN0b3I8Q29u
dGV4dE1lbnVJdGVtPiYgY29yZUl0ZW1zID0gbWVudS0+aXRlbXMoKTsKKyNlbHNlCisgICAgVmVj
dG9yPENvbnRleHRNZW51SXRlbT4gY29yZUl0ZW1zID0gY29udGV4dE1lbnVJdGVtVmVjdG9yKG1l
bnUtPnBsYXRmb3JtRGVzY3JpcHRpb24oKSk7CisjZW5kaWYKKyAgICBwcm9wb3NlZE1lbnUgPSBr
aXRJdGVtcyhjb3JlSXRlbXMsIG1lbnUpOworICAgIFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1E
YXRhPiBuZXdNZW51OworICAgIFJlZlB0cjxBUElPYmplY3Q+IHVzZXJEYXRhOworICAgIFJlZlB0
cjxJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQ+IGhpdFRlc3RSZXN1bHQgPSBJbmplY3RlZEJ1
bmRsZUhpdFRlc3RSZXN1bHQ6OmNyZWF0ZShjb250cm9sbGVyLT5oaXRUZXN0UmVzdWx0KCkpOwor
ICAgIGlmIChtX3BhZ2UtPmluamVjdGVkQnVuZGxlQ29udGV4dE1lbnVDbGllbnQoKS5nZXRDdXN0
b21NZW51RnJvbURlZmF1bHRJdGVtcyhtX3BhZ2UsIGhpdFRlc3RSZXN1bHQuZ2V0KCksIHByb3Bv
c2VkTWVudSwgbmV3TWVudSwgdXNlckRhdGEpKQorICAgICAgICBwcm9wb3NlZE1lbnUgPSBuZXdN
ZW51OworICAgIHJldHVybiBwcm9wb3NlZE1lbnU7Cit9CisKKwogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CiAKICNlbmRpZiAvLyBFTkFCTEUoQ09OVEVYVF9NRU5VUykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5oIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmgKaW5kZXggYzhhNWY1YS4u
ZGYwODNkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YkNvbnRleHRNZW51LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YkNvbnRleHRNZW51LmgKQEAgLTQzLDYgKzQzLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBzaG93
KCk7CiAgICAgdm9pZCBpdGVtU2VsZWN0ZWQoY29uc3QgV2ViQ29udGV4dE1lbnVJdGVtRGF0YSYp
OworICAgIFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiBpdGVtcygpIGNvbnN0OwogCiBw
cml2YXRlOgogICAgIFdlYkNvbnRleHRNZW51KFdlYlBhZ2UqKTsKZGlmZiAtLWdpdCBhL1Rvb2xz
L0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA1ZTZjZGU5Li42NmUyYTRhIDEwMDY0
NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjIgQEAKKzIwMTItMDktMTQgIFdvamNpZWNoIEJpZWxhd3NraSAgPHcuYmllbGF3c2tpQHNhbXN1
bmcuY29tPgorCisgICAgICAgIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgZXZlbnRTZW5kZXIuY29u
dGV4dENsaWNrKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTg2ODgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgZXZlbnRTZW5kZXIgb2JqZWN0IGV4dGVuZGVkIHdpdGggY29udGV4dENsaWNrKCkgbWV0aG9k
IGluIFdlYktpdFRlc3RSdW5uZXIuCisgICAgICAgIGNvbnRleHRDbGljaygpIG1ldGhvZCByZXR1
cm5zIGFuIGFycmF5IG9mIG1lbnUgaXRlbXMgb2JqZWN0cyB3aXRoIGZpZWxkICd0aXRsZScgY29u
dGFpbmluZyB0aXRsZSBvZiBzaW5nbGUKKyAgICAgICAgY29udGV4dCBtZW51IGV0cnkuIEFjY29y
ZGluZyB0byBzb21lIHRlc3RzIG1lbnUgaXRlbXMgb2JqZWN0cyBzaGFsbCBhbHNvIHN1cHBvcnQg
J2NsaWNrKCknIG1ldGhvZCwgYnV0IGl0J3Mgbm90CisgICAgICAgIGRlbGl2ZXJlZCBpbiB0aGlz
IHBhdGNoLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5k
aW5ncy9FdmVudFNlbmRpbmdDb250cm9sbGVyLmlkbDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAo
V1RSOjpFdmVudFNlbmRpbmdDb250cm9sbGVyOjpjb250ZXh0Q2xpY2spOgorICAgICAgICAoV1RS
KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2ZW50U2VuZGlu
Z0NvbnRyb2xsZXIuaDoKKyAgICAgICAgKEV2ZW50U2VuZGluZ0NvbnRyb2xsZXIpOgorCiAyMDEy
LTA5LTIyICBEb21pbmljIE1henpvbmkgIDxkbWF6em9uaUBnb29nbGUuY29tPgogCiAgICAgICAg
IEFYOiBMYXlvdXQgdGVzdHMgd291bGQgYmUgZWFzaWVyIHRvIHdyaXRlIGlmIEFjY2Vzc2liaWxp
dHlDb250cm9sbGVyIGNvdWxkIGZpbmQgYW4gZWxlbWVudCBieSBpZApkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9FdmVudFNlbmRpbmdD
b250cm9sbGVyLmlkbCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmlu
ZGluZ3MvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5pZGwKaW5kZXggY2ZmNzVmMi4uNWZmMDJjMCAx
MDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5n
cy9FdmVudFNlbmRpbmdDb250cm9sbGVyLmlkbAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaWRsCkBAIC0z
MSw2ICszMSw3IEBAIG1vZHVsZSBXVFIgewogICAgICAgICB2b2lkIG1vdXNlTW92ZVRvKGluIGxv
bmcgeCwgaW4gbG9uZyB5KTsKICAgICAgICAgdm9pZCBtb3VzZVNjcm9sbEJ5KGluIGxvbmcgeCwg
aW4gbG9uZyB5KTsKICAgICAgICAgdm9pZCBjb250aW51b3VzTW91c2VTY3JvbGxCeShpbiBsb25n
IHgsIGluIGxvbmcgeSwgaW4gW09wdGlvbmFsXSBib29sZWFuIHBhZ2VkKTsKKyAgICAgICAgb2Jq
ZWN0IGNvbnRleHRDbGljaygpOwogICAgICAgICB2b2lkIHNjaGVkdWxlQXN5bmNocm9ub3VzQ2xp
Y2soKTsKIAogICAgICAgICB2b2lkIGxlYXBGb3J3YXJkKGluIGxvbmcgbWlsbGlzZWNvbmRzKTsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRT
ZW5kaW5nQ29udHJvbGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuY3BwCmluZGV4IGJmNmQ5YmMuLmY1YzNiYTYgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5k
aW5nQ29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmNwcApAQCAtMzE5LDYgKzMxOSwzNCBAQCB2b2lk
IEV2ZW50U2VuZGluZ0NvbnRyb2xsZXI6OmNvbnRpbnVvdXNNb3VzZVNjcm9sbEJ5KGludCB4LCBp
bnQgeSwgYm9vbCBwYWdlZCkKICAgICBXS0J1bmRsZVBvc3RTeW5jaHJvbm91c01lc3NhZ2UoSW5q
ZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLmJ1bmRsZSgpLCBFdmVudFNlbmRlck1lc3NhZ2VOYW1lLmdl
dCgpLCBFdmVudFNlbmRlck1lc3NhZ2VCb2R5LmdldCgpLCAwKTsKIH0KIAorSlNWYWx1ZVJlZiBF
dmVudFNlbmRpbmdDb250cm9sbGVyOjpjb250ZXh0Q2xpY2soKQoreworI2lmIEVOQUJMRShDT05U
RVhUX01FTlVTKQorICAgIC8vIERvIG1vdXNlIGNvbnRleHQgY2xpY2suCisgICAgbW91c2VEb3du
KDIsIDApOworCisgICAgV0tCdW5kbGVQYWdlUmVmIHBhZ2UgPSBJbmplY3RlZEJ1bmRsZTo6c2hh
cmVkKCkucGFnZSgpLT5wYWdlKCk7CisgICAgV0tCdW5kbGVGcmFtZVJlZiBtYWluRnJhbWUgPSBX
S0J1bmRsZVBhZ2VHZXRNYWluRnJhbWUocGFnZSk7CisgICAgSlNDb250ZXh0UmVmIGNvbnRleHQg
PSBXS0J1bmRsZUZyYW1lR2V0SmF2YVNjcmlwdENvbnRleHQobWFpbkZyYW1lKTsKKworICAgIFdL
UmV0YWluUHRyPFdLQXJyYXlSZWY+IGVudHJpZXNOYW1lcyA9IFdLQnVuZGxlUGFnZUdldENvbnRl
eHRNZW51RW50cmllc05hbWVzKHBhZ2UpOworICAgIEpTU3RyaW5nUmVmIGpzUHJvcGVydHlOYW1l
ID0gSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoInRpdGxlIik7CisgICAgc2l6ZV90IGVu
dHJpZXNTaXplID0gV0tBcnJheUdldFNpemUoZW50cmllc05hbWVzLmdldCgpKTsKKyAgICBKU1Zh
bHVlUmVmIGpzVmFsdWVzQXJyYXlbZW50cmllc1NpemVdOworICAgIGZvciAoc2l6ZV90IGkgPSAw
OyBpIDwgZW50cmllc1NpemU7ICsraSkgeworICAgICAgICBBU1NFUlQoV0tHZXRUeXBlSUQoV0tB
cnJheUdldEl0ZW1BdEluZGV4KGVudHJpZXNOYW1lcy5nZXQoKSwgaSkpID09IFdLU3RyaW5nR2V0
VHlwZUlEKCkpOworICAgICAgICBXS1N0cmluZ1JlZiB3a0VudHJ5TmFtZSA9IHN0YXRpY19jYXN0
PFdLU3RyaW5nUmVmPihXS0FycmF5R2V0SXRlbUF0SW5kZXgoZW50cmllc05hbWVzLmdldCgpLCBp
KSk7CisgICAgICAgIEpTT2JqZWN0UmVmIGpzSXRlbU9iamVjdCA9IEpTT2JqZWN0TWFrZShjb250
ZXh0LCAwLCAwKTsKKyAgICAgICAgSlNWYWx1ZVJlZiBqc0VudHJ5TmFtZSA9IEpTVmFsdWVNYWtl
U3RyaW5nKGNvbnRleHQsIFdLU3RyaW5nQ29weUpTU3RyaW5nKHdrRW50cnlOYW1lKSk7CisgICAg
ICAgIEpTT2JqZWN0U2V0UHJvcGVydHkoY29udGV4dCwganNJdGVtT2JqZWN0LCBqc1Byb3BlcnR5
TmFtZSwganNFbnRyeU5hbWUsIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHksIDApOworICAg
ICAgICBqc1ZhbHVlc0FycmF5W2ldID0ganNJdGVtT2JqZWN0OworICAgIH0KKyAgICByZXR1cm4g
SlNPYmplY3RNYWtlQXJyYXkoY29udGV4dCwgZW50cmllc1NpemUsIGpzVmFsdWVzQXJyYXksIDAp
OworI2Vsc2UKKyAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7CisjZW5k
aWYKK30KKwogI2lmZGVmIFVTRV9XRUJQUk9DRVNTX0VWRU5UX1NJTVVMQVRJT04KIHZvaWQgRXZl
bnRTZW5kaW5nQ29udHJvbGxlcjo6dXBkYXRlQ2xpY2tDb3VudChXS0V2ZW50TW91c2VCdXR0b24g
YnV0dG9uKQogewpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaAppbmRleCA0MTNiOTFjLi42OWM1
NGY5IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2
ZW50U2VuZGluZ0NvbnRyb2xsZXIuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaApAQCAtNTIsNiArNTIsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCBtb3VzZU1vdmVUbyhpbnQgeCwgaW50IHkpOwogICAgIHZvaWQgbW91c2VT
Y3JvbGxCeShpbnQgeCwgaW50IHkpOwogICAgIHZvaWQgY29udGludW91c01vdXNlU2Nyb2xsQnko
aW50IHgsIGludCB5LCBib29sIHBhZ2VkKTsKKyAgICBKU1ZhbHVlUmVmIGNvbnRleHRDbGljaygp
OwogICAgIHZvaWQgbGVhcEZvcndhcmQoaW50IG1pbGxpc2Vjb25kcyk7CiAgICAgdm9pZCBzY2hl
ZHVsZUFzeW5jaHJvbm91c0NsaWNrKCk7CiAK
</data>
<flag name="commit-queue"
          id="177356"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165364</attachid>
            <date>2012-09-24 06:07:03 -0700</date>
            <delta_ts>2012-10-04 03:21:35 -0700</delta_ts>
            <desc> eventSender.contextClick() method partially implemented.</desc>
            <filename>contextClick.patch</filename>
            <type>text/plain</type>
            <size>13437</size>
            <attacher name="Wojciech Bielawski">w.bielawski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiYjExNDEyLi4wN2RkYjcyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDkt
MTQgIFdvamNpZWNoIEJpZWxhd3NraSAgPHcuYmllbGF3c2tpQHNhbXN1bmcuY29tPgorCisgICAg
ICAgIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgZXZlbnRTZW5kZXIuY29udGV4dENsaWNrKCkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2ODgxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgZXhwZWN0
ZWQgcmVzdWx0cyBmb3IgdHdvIHRlc3RzIGZvciBFRkwgcGxhdGZvcm0uCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9lZmwvZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0yLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogcGxhdGZvcm0vZWZsL2Zhc3QvZXZlbnRzL2NvbnRleHQtbm8tZGVzZWxl
Y3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAxMi0wOS0yNCAgTWF0dCBGYWxrZW5oYWdlbiAg
PGZhbGtlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgU2tlbGV0b24gaW1wbGVtZW50YXRpb24g
b2YgZGlhbG9nLnNob3dNb2RhbCgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9l
ZmwvZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2VmbC9lZGl0aW5nL3NlbGVjdGlvbi81MzU0NDU1LTItZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE0OWY1MzgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0y
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIzIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCits
YXllciBhdCAoOCw4KSBzaXplIDYxMngxNjUKKyAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkg
c2l6ZSA2MTJ4MTY1IFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCisgICAgUmVuZGVyQmxv
Y2sge0gxfSBhdCAoNiw2KSBzaXplIDYwMHgzNworICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgNjAweDM4CisgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDYwMDog
IldvcmQgc2VsZWN0aW9uIG9uIHJpZ2h0IGNsaWNrIHRlc3QiCisgICAgUmVuZGVyQmxvY2sgKGFu
b255bW91cykgYXQgKDYsNjQpIHNpemUgNjAweDk1CisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsMCkgc2l6ZSA1Mzh4MzgKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNTM4
OiAiVGhpcyB0ZXN0cyB0byBtYWtlIHN1cmUgdGhhdCByaWdodCBjbGlja2luZyBub24tZWRpdGFi
bGUgY29udGVudCBvbmx5IgorICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxOSkgd2lkdGggMzU5OiAi
Y3JlYXRlcyBhIHdvcmQgc2VsZWN0aW9uIGZvciBjbGlja3Mgb3ZlciB0ZXh0LiAiCisgICAgICBS
ZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMjB4MTkKKyAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgzNTksMTkpIHNpemUgMjB4MTkKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MzU5LDE5KSB3aWR0aCAyMDogIlRvIgorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzNzks
MTkpIHNpemUgNTc2eDc2CisgICAgICAgIHRleHQgcnVuIGF0ICgzNzksMTkpIHdpZHRoIDE5Nzog
IiBydW4gbWFudWFsbHksIHJpZ2h0IGNsaWNrIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzOCkg
d2lkdGggMzIwOiAib24gdGV4dCwgYW5kIGEgd29yZCBzaG91bGQgYmUgc2VsZWN0ZWQuICIKKyAg
ICAgICAgdGV4dCBydW4gYXQgKDMyMCwzOCkgd2lkdGggMjQ1OiAiUmlnaHQgY2xpY2sgb24gdGhl
IGVtcHR5IHNwYWNlIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1Nykgd2lkdGggNTM5OiAib3V0
c2lkZSBhbmQgdG8gdGhlIHJpZ2h0IG9mIHRoZSBibGFjayBib3JkZXIsIHRoZSBzZWxlY3Rpb24g
c2hvdWxkIGJlIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMCw3Nikgd2lkdGggNzc6ICJyZW1vdmVk
LiIKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2Zhc3QvZXZlbnRzL2NvbnRleHQtbm8tZGVzZWxl
Y3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2Zhc3QvZXZlbnRzL2Nv
bnRleHQtbm8tZGVzZWxlY3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmVmMzJlMzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9lZmwvZmFzdC9ldmVudHMvY29udGV4dC1uby1kZXNlbGVjdC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxNCBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVy
QmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9
IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBh
dCAoMiwyKSBzaXplIDIwN3gxOQorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgMHgwCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKK2xheWVy
IGF0ICgxMCwxMCkgc2l6ZSAyMDd4MTkKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6
ZSAyMDd4MTkKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMCkgc2l6ZSAxNDN4MTkKKyAg
ICAgIHRleHQgcnVuIGF0ICgxLDApIHdpZHRoIDE0MzogInNvbWUgc2FtcGxlIHRleHQiCitzZWxl
Y3Rpb24gc3RhcnQ6IHBvc2l0aW9uIDUgb2YgY2hpbGQgMCB7I3RleHR9IG9mIGNoaWxkIDAge0RJ
Vn0gb2YgeyNzaGFkb3ctcm9vdH0gb2YgY2hpbGQgMSB7SU5QVVR9IG9mIGJvZHkKK3NlbGVjdGlv
biBlbmQ6ICAgcG9zaXRpb24gMTUgb2YgY2hpbGQgMCB7I3RleHR9IG9mIGNoaWxkIDAge0RJVn0g
b2YgeyNzaGFkb3ctcm9vdH0gb2YgY2hpbGQgMSB7SU5QVVR9IG9mIGJvZHkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRl
eCBkOWVlYTQ0Li5kODI2NWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTItMDkt
MTQgIFdvamNpZWNoIEJpZWxhd3NraSAgPHcuYmllbGF3c2tpQHNhbXN1bmcuY29tPgorCisgICAg
ICAgIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgZXZlbnRTZW5kZXIuY29udGV4dENsaWNrKCkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2ODgxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5qZWN0ZWRCdW5k
bGUgQVBJIGV4dGVuZGVkIHRvIHJldHJpZXZlIGNvbnRleHRNZW51IGVudHJpZXMgbmFtZXMuCisg
ICAgICAgIFdlYkNvbnRleHRNZW51IGV4dGVkZWQgd2l0aCBmdW5jdGlvbiB0byByZXRyaWV2ZSBt
ZW51IGl0ZW1zLgorICAgICAgICBUaGlzIEFQSSBpcyByZXF1aXJlZCBieSBsYXlvdXQgdGVzdHMu
CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFn
ZS5jcHA6CisgICAgICAgIChXS0J1bmRsZVBhZ2VHZXRDb250ZXh0TWVudUVudHJpZXNOYW1lcyk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2Uu
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJDb250ZXh0TWVudTo6aXRlbXMpOgorICAgICAgICAoV2ViS2l0KToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuaDoKKyAgICAgICAg
KFdlYkNvbnRleHRNZW51KToKKwogMjAxMi0wOS0yMyAgU2Vva2p1IEt3b24gIDxzZW9ranUua3dv
bkBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXVtXSzJdIEFkZCBzZXR0aW5nIHRvIHRvZ2ds
ZSBkZXZlbG9wZXIgZXh0ZW5zaW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCmluZGV4
IDE4MjQ3YjYuLmZkNzhjYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAKQEAgLTMw
LDEzICszMCwxOCBAQAogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlQmFja0ZvcndhcmRMaXN0Lmgi
CiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlLmgiCiAjaW5jbHVkZSAiV0tBUElD
YXN0LmgiCisjaW5jbHVkZSAiV0tBcnJheS5oIgogI2luY2x1ZGUgIldLQnVuZGxlQVBJQ2FzdC5o
IgorI2luY2x1ZGUgIldLUmV0YWluUHRyLmgiCisjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnUuaCIK
KyNpbmNsdWRlICJXZWJDb250ZXh0TWVudUl0ZW0uaCIKICNpbmNsdWRlICJXZWJGcmFtZS5oIgog
I2luY2x1ZGUgIldlYkZ1bGxTY3JlZW5NYW5hZ2VyLmgiCiAjaW5jbHVkZSAiV2ViSW1hZ2UuaCIK
ICNpbmNsdWRlICJXZWJQYWdlLmgiCiAjaW5jbHVkZSAiV2ViUmVuZGVyTGF5ZXIuaCIKICNpbmNs
dWRlICJXZWJSZW5kZXJPYmplY3QuaCIKKyNpbmNsdWRlICJXZWJTdHJpbmcuaCIKICNpbmNsdWRl
ICJXZWJVUkwuaCIKICNpbmNsdWRlICJXZWJVUkxSZXF1ZXN0LmgiCiAKQEAgLTE0NCw2ICsxNDks
MjYgQEAgV0tCdW5kbGVGcmFtZVJlZiBXS0J1bmRsZVBhZ2VHZXRNYWluRnJhbWUoV0tCdW5kbGVQ
YWdlUmVmIHBhZ2VSZWYpCiAgICAgcmV0dXJuIHRvQVBJKHRvSW1wbChwYWdlUmVmKS0+bWFpbldl
YkZyYW1lKCkpOwogfQogCitXS0FycmF5UmVmIFdLQnVuZGxlUGFnZUNvcHlDb250ZXh0TWVudUVu
dHJpZXNOYW1lcyhXS0J1bmRsZVBhZ2VSZWYgcGFnZVJlZikKK3sKKyNpZiBFTkFCTEUoQ09OVEVY
VF9NRU5VUykKKyAgICBXZWJDb250ZXh0TWVudSogY29udGV4dE1lbnUgPSB0b0ltcGwocGFnZVJl
ZiktPmNvbnRleHRNZW51KCk7CisgICAgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+IGl0
ZW1zID0gY29udGV4dE1lbnUtPml0ZW1zKCk7CisgICAgT3duQXJyYXlQdHI8V0tUeXBlUmVmPiBp
dGVtTmFtZXMgPSBhZG9wdEFycmF5UHRyKG5ldyBXS1R5cGVSZWZbaXRlbXMuc2l6ZSgpXSk7Cisg
ICAgc2l6ZV90IGFycmF5TGVuZ3RoID0gaXRlbXMuc2l6ZSgpOworICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgYXJyYXlMZW5ndGg7ICsraSkgeworICAgICAgICBSZWZQdHI8V2ViU3RyaW5nPiBu
YW1lID0gV2ViU3RyaW5nOjpjcmVhdGUoaXRlbXNbaV0udGl0bGUoKSk7CisgICAgICAgIGl0ZW1O
YW1lc1tpXSA9IHRvQVBJKG5hbWUucmVsZWFzZSgpLmxlYWtSZWYoKSk7CisgICAgfQorICAgIFdL
QXJyYXlSZWYgbWVudUVudHJpZXNOYW1lcyA9IFdLQXJyYXlDcmVhdGUoaXRlbU5hbWVzLmdldCgp
LCBhcnJheUxlbmd0aCk7CisKKyAgICByZXR1cm4gbWVudUVudHJpZXNOYW1lczsKKyNlbHNlCisg
ICAgcmV0dXJuIDA7CisjZW5kaWYKK30KKworCiB2b2lkKiBXS0FjY2Vzc2liaWxpdHlSb290T2Jq
ZWN0KFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVmKQogewogI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L2MvV0tCdW5kbGVQYWdlUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VQcml2YXRlLmgKaW5kZXggYjdjODJiOC4uZTY3
NzUxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9BUEkvYy9XS0J1bmRsZVBhZ2VQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VQcml2YXRlLmgKQEAgLTc0LDYg
Kzc0LDggQEAgV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVQYWdlQ29uZmlybUNvbXBvc2l0aW9uV2l0
aFRleHQoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLU3QKIFdLX0VYUE9SVCB2b2lkKiBXS0FjY2Vz
c2liaWxpdHlSb290T2JqZWN0KFdLQnVuZGxlUGFnZVJlZik7CiBXS19FWFBPUlQgdm9pZCogV0tB
Y2Nlc3NpYmlsaXR5Rm9jdXNlZE9iamVjdChXS0J1bmRsZVBhZ2VSZWYpOyAgICAKIAorV0tfRVhQ
T1JUIFdLQXJyYXlSZWYgV0tCdW5kbGVQYWdlQ29weUNvbnRleHRNZW51RW50cmllc05hbWVzKFdL
QnVuZGxlUGFnZVJlZiBwYWdlUmVmKTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0
TWVudS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1l
bnUuY3BwCmluZGV4IDNhOTFkOTAuLjQyNjMwNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmNwcApAQCAtOTUsNiArOTUsMzMg
QEAgdm9pZCBXZWJDb250ZXh0TWVudTo6aXRlbVNlbGVjdGVkKGNvbnN0IFdlYkNvbnRleHRNZW51
SXRlbURhdGEmIGl0ZW0pCiAgICAgbV9wYWdlLT5jb3JlUGFnZSgpLT5jb250ZXh0TWVudUNvbnRy
b2xsZXIoKS0+Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoJmNvcmVJdGVtKTsKIH0KIAorVmVjdG9y
PFdlYkNvbnRleHRNZW51SXRlbURhdGE+IFdlYkNvbnRleHRNZW51OjppdGVtcygpIGNvbnN0Cit7
CisgICAgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+IHByb3Bvc2VkTWVudTsKKyAgICBD
b250ZXh0TWVudUNvbnRyb2xsZXIqIGNvbnRyb2xsZXIgPSBtX3BhZ2UtPmNvcmVQYWdlKCktPmNv
bnRleHRNZW51Q29udHJvbGxlcigpOworICAgIGlmICghY29udHJvbGxlcikKKyAgICAgICAgcmV0
dXJuIHByb3Bvc2VkTWVudTsKKyAgICBDb250ZXh0TWVudSogbWVudSA9IGNvbnRyb2xsZXItPmNv
bnRleHRNZW51KCk7CisgICAgaWYgKCFtZW51KQorICAgICAgICByZXR1cm4gcHJvcG9zZWRNZW51
OworCisgICAgLy8gR2l2ZSB0aGUgYnVuZGxlIGNsaWVudCBhIGNoYW5jZSB0byBwcm9jZXNzIHRo
ZSBtZW51LgorI2lmIFVTRShDUk9TU19QTEFURk9STV9DT05URVhUX01FTlVTKQorICAgIGNvbnN0
IFZlY3RvcjxDb250ZXh0TWVudUl0ZW0+JiBjb3JlSXRlbXMgPSBtZW51LT5pdGVtcygpOworI2Vs
c2UKKyAgICBWZWN0b3I8Q29udGV4dE1lbnVJdGVtPiBjb3JlSXRlbXMgPSBjb250ZXh0TWVudUl0
ZW1WZWN0b3IobWVudS0+cGxhdGZvcm1EZXNjcmlwdGlvbigpKTsKKyNlbmRpZgorICAgIHByb3Bv
c2VkTWVudSA9IGtpdEl0ZW1zKGNvcmVJdGVtcywgbWVudSk7CisgICAgVmVjdG9yPFdlYkNvbnRl
eHRNZW51SXRlbURhdGE+IG5ld01lbnU7CisgICAgUmVmUHRyPEFQSU9iamVjdD4gdXNlckRhdGE7
CisgICAgUmVmUHRyPEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdD4gaGl0VGVzdFJlc3VsdCA9
IEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdDo6Y3JlYXRlKGNvbnRyb2xsZXItPmhpdFRlc3RS
ZXN1bHQoKSk7CisgICAgaWYgKG1fcGFnZS0+aW5qZWN0ZWRCdW5kbGVDb250ZXh0TWVudUNsaWVu
dCgpLmdldEN1c3RvbU1lbnVGcm9tRGVmYXVsdEl0ZW1zKG1fcGFnZSwgaGl0VGVzdFJlc3VsdC5n
ZXQoKSwgcHJvcG9zZWRNZW51LCBuZXdNZW51LCB1c2VyRGF0YSkpCisgICAgICAgIHByb3Bvc2Vk
TWVudSA9IG5ld01lbnU7CisKKyAgICByZXR1cm4gcHJvcG9zZWRNZW51OworfQorCisKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gRU5BQkxFKENPTlRFWFRfTUVOVVMpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUu
aCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5oCmlu
ZGV4IGM4YTVmNWEuLmRmMDgzZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5oCkBAIC00Myw2ICs0Myw3IEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgc2hvdygpOwogICAgIHZvaWQgaXRlbVNlbGVjdGVkKGNvbnN0IFdlYkNvbnRleHRN
ZW51SXRlbURhdGEmKTsKKyAgICBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4gaXRlbXMo
KSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBXZWJDb250ZXh0TWVudShXZWJQYWdlKik7CmRpZmYg
LS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNWU2Y2RlOS4u
NjZlMmE0YSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA5LTE0ICBXb2pjaWVjaCBCaWVsYXdza2kgIDx3LmJp
ZWxhd3NraUBzYW1zdW5nLmNvbT4KKworICAgICAgICBXZWJLaXRUZXN0UnVubmVyIG5lZWRzIGV2
ZW50U2VuZGVyLmNvbnRleHRDbGljaygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD04Njg4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIGV2ZW50U2VuZGVyIG9iamVjdCBleHRlbmRlZCB3aXRoIGNvbnRleHRD
bGljaygpIG1ldGhvZCBpbiBXZWJLaXRUZXN0UnVubmVyLgorICAgICAgICBjb250ZXh0Q2xpY2so
KSBtZXRob2QgcmV0dXJucyBhbiBhcnJheSBvZiBtZW51IGl0ZW1zIG9iamVjdHMgd2l0aCBmaWVs
ZCAndGl0bGUnIGNvbnRhaW5pbmcgdGl0bGUgb2Ygc2luZ2xlCisgICAgICAgIGNvbnRleHQgbWVu
dSBldHJ5LiBBY2NvcmRpbmcgdG8gc29tZSB0ZXN0cyBtZW51IGl0ZW1zIG9iamVjdHMgc2hhbGwg
YWxzbyBzdXBwb3J0ICdjbGljaygpJyBtZXRob2QsIGJ1dCBpdCdzIG5vdAorICAgICAgICBkZWxp
dmVyZWQgaW4gdGhpcyBwYXRjaC4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvQmluZGluZ3MvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5pZGw6CisgICAgICAgICog
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKFdUUjo6RXZlbnRTZW5kaW5nQ29udHJvbGxlcjo6Y29udGV4dENsaWNrKToK
KyAgICAgICAgKFdUUik6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmg6CisgICAgICAgIChFdmVudFNlbmRpbmdDb250cm9s
bGVyKToKKwogMjAxMi0wOS0yMiAgRG9taW5pYyBNYXp6b25pICA8ZG1henpvbmlAZ29vZ2xlLmNv
bT4KIAogICAgICAgICBBWDogTGF5b3V0IHRlc3RzIHdvdWxkIGJlIGVhc2llciB0byB3cml0ZSBp
ZiBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlciBjb3VsZCBmaW5kIGFuIGVsZW1lbnQgYnkgaWQKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3Mv
RXZlbnRTZW5kaW5nQ29udHJvbGxlci5pZGwgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0JpbmRpbmdzL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaWRsCmluZGV4IGNmZjc1
ZjIuLjVmZjAyYzAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvQmluZGluZ3MvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5pZGwKKysrIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9FdmVudFNlbmRpbmdDb250cm9s
bGVyLmlkbApAQCAtMzEsNiArMzEsNyBAQCBtb2R1bGUgV1RSIHsKICAgICAgICAgdm9pZCBtb3Vz
ZU1vdmVUbyhpbiBsb25nIHgsIGluIGxvbmcgeSk7CiAgICAgICAgIHZvaWQgbW91c2VTY3JvbGxC
eShpbiBsb25nIHgsIGluIGxvbmcgeSk7CiAgICAgICAgIHZvaWQgY29udGludW91c01vdXNlU2Ny
b2xsQnkoaW4gbG9uZyB4LCBpbiBsb25nIHksIGluIFtPcHRpb25hbF0gYm9vbGVhbiBwYWdlZCk7
CisgICAgICAgIG9iamVjdCBjb250ZXh0Q2xpY2soKTsKICAgICAgICAgdm9pZCBzY2hlZHVsZUFz
eW5jaHJvbm91c0NsaWNrKCk7CiAKICAgICAgICAgdm9pZCBsZWFwRm9yd2FyZChpbiBsb25nIG1p
bGxpc2Vjb25kcyk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmNwcAppbmRleCBiZjZkOWJj
Li40ZTQ0NDY5IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5jcHAKQEAgLTMxOSw2ICsz
MTksMzYgQEAgdm9pZCBFdmVudFNlbmRpbmdDb250cm9sbGVyOjpjb250aW51b3VzTW91c2VTY3Jv
bGxCeShpbnQgeCwgaW50IHksIGJvb2wgcGFnZWQpCiAgICAgV0tCdW5kbGVQb3N0U3luY2hyb25v
dXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5idW5kbGUoKSwgRXZlbnRTZW5kZXJN
ZXNzYWdlTmFtZS5nZXQoKSwgRXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwgMCk7CiB9CiAK
K0pTVmFsdWVSZWYgRXZlbnRTZW5kaW5nQ29udHJvbGxlcjo6Y29udGV4dENsaWNrKCkKK3sKKyNp
ZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKKyAgICAvLyBEbyBtb3VzZSBjb250ZXh0IGNsaWNrLgor
ICAgIG1vdXNlRG93bigyLCAwKTsKKyAgICBtb3VzZVVwKDIsIDApOworCisgICAgV0tCdW5kbGVQ
YWdlUmVmIHBhZ2UgPSBJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkucGFnZSgpLT5wYWdlKCk7Cisg
ICAgV0tCdW5kbGVGcmFtZVJlZiBtYWluRnJhbWUgPSBXS0J1bmRsZVBhZ2VHZXRNYWluRnJhbWUo
cGFnZSk7CisgICAgSlNDb250ZXh0UmVmIGNvbnRleHQgPSBXS0J1bmRsZUZyYW1lR2V0SmF2YVNj
cmlwdENvbnRleHQobWFpbkZyYW1lKTsKKworICAgIFdLUmV0YWluUHRyPFdLQXJyYXlSZWY+IGVu
dHJpZXNOYW1lcyA9IFdLQnVuZGxlUGFnZUNvcHlDb250ZXh0TWVudUVudHJpZXNOYW1lcyhwYWdl
KTsKKyAgICBKU1N0cmluZ1JlZiBqc1Byb3BlcnR5TmFtZSA9IEpTU3RyaW5nQ3JlYXRlV2l0aFVU
RjhDU3RyaW5nKCJ0aXRsZSIpOworICAgIHNpemVfdCBlbnRyaWVzU2l6ZSA9IFdLQXJyYXlHZXRT
aXplKGVudHJpZXNOYW1lcy5nZXQoKSk7CisgICAgSlNWYWx1ZVJlZiBqc1ZhbHVlc0FycmF5W2Vu
dHJpZXNTaXplXTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGVudHJpZXNTaXplOyArK2kp
IHsKKyAgICAgICAgQVNTRVJUKFdLR2V0VHlwZUlEKFdLQXJyYXlHZXRJdGVtQXRJbmRleChlbnRy
aWVzTmFtZXMuZ2V0KCksIGkpKSA9PSBXS1N0cmluZ0dldFR5cGVJRCgpKTsKKyAgICAgICAgV0tT
dHJpbmdSZWYgd2tFbnRyeU5hbWUgPSBzdGF0aWNfY2FzdDxXS1N0cmluZ1JlZj4oV0tBcnJheUdl
dEl0ZW1BdEluZGV4KGVudHJpZXNOYW1lcy5nZXQoKSwgaSkpOworICAgICAgICBKU09iamVjdFJl
ZiBqc0l0ZW1PYmplY3QgPSBKU09iamVjdE1ha2UoY29udGV4dCwgMCwgMCk7CisgICAgICAgIEpT
VmFsdWVSZWYganNFbnRyeU5hbWUgPSBKU1ZhbHVlTWFrZVN0cmluZyhjb250ZXh0LCBXS1N0cmlu
Z0NvcHlKU1N0cmluZyh3a0VudHJ5TmFtZSkpOworICAgICAgICBKU09iamVjdFNldFByb3BlcnR5
KGNvbnRleHQsIGpzSXRlbU9iamVjdCwganNQcm9wZXJ0eU5hbWUsIGpzRW50cnlOYW1lLCBrSlNQ
cm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5LCAwKTsKKyAgICAgICAganNWYWx1ZXNBcnJheVtpXSA9
IGpzSXRlbU9iamVjdDsKKyAgICB9CisgICAgSlNTdHJpbmdSZWxlYXNlKGpzUHJvcGVydHlOYW1l
KTsKKyAgICByZXR1cm4gSlNPYmplY3RNYWtlQXJyYXkoY29udGV4dCwgZW50cmllc1NpemUsIGpz
VmFsdWVzQXJyYXksIDApOworI2Vsc2UKKyAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQo
Y29udGV4dCk7CisjZW5kaWYKK30KKwogI2lmZGVmIFVTRV9XRUJQUk9DRVNTX0VWRU5UX1NJTVVM
QVRJT04KIHZvaWQgRXZlbnRTZW5kaW5nQ29udHJvbGxlcjo6dXBkYXRlQ2xpY2tDb3VudChXS0V2
ZW50TW91c2VCdXR0b24gYnV0dG9uKQogewpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmggYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaAppbmRl
eCA0MTNiOTFjLi42OWM1NGY5IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaAorKysgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaApAQCAtNTIs
NiArNTIsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBtb3VzZU1vdmVUbyhpbnQgeCwgaW50IHkpOwog
ICAgIHZvaWQgbW91c2VTY3JvbGxCeShpbnQgeCwgaW50IHkpOwogICAgIHZvaWQgY29udGludW91
c01vdXNlU2Nyb2xsQnkoaW50IHgsIGludCB5LCBib29sIHBhZ2VkKTsKKyAgICBKU1ZhbHVlUmVm
IGNvbnRleHRDbGljaygpOwogICAgIHZvaWQgbGVhcEZvcndhcmQoaW50IG1pbGxpc2Vjb25kcyk7
CiAgICAgdm9pZCBzY2hlZHVsZUFzeW5jaHJvbm91c0NsaWNrKCk7CiAK
</data>
<flag name="commit-queue"
          id="177396"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167064</attachid>
            <date>2012-10-04 03:21:35 -0700</date>
            <delta_ts>2012-10-04 05:14:07 -0700</delta_ts>
            <desc>eventSender.contextClick() method partially implemented.</desc>
            <filename>contextClick.patch</filename>
            <type>text/plain</type>
            <size>23853</size>
            <attacher name="Wojciech Bielawski">w.bielawski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjOTA5NDE4Li4xMzFjZDExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDkt
MTQgIFdvamNpZWNoIEJpZWxhd3NraSAgPHcuYmllbGF3c2tpQHNhbXN1bmcuY29tPgorCisgICAg
ICAgIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgZXZlbnRTZW5kZXIuY29udGV4dENsaWNrKCkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2ODgxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgZXhwZWN0
ZWQgcmVzdWx0cyBmb3IgdHdvIHRlc3RzIGZvciBFRkwgcGxhdGZvcm0uCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9lZmwvZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0yLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogcGxhdGZvcm0vZWZsL2Zhc3QvZXZlbnRzL2NvbnRleHQtbm8tZGVzZWxl
Y3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAxMi0xMC0wNCAgU2hlcmlmZiBCb3QgIDx3ZWJr
aXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBv
dXQgcjEzMDM3Ny4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC13azEvVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC13azEvVGVzdEV4cGVjdGF0
aW9ucwppbmRleCAxYzcyYzVhLi5lN2UzNGE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9lZmwtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
ZWZsLXdrMS9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMzAsMyArMTMwLDI0IEBAIHdlYmtpdC5vcmcv
Yi85NjYyMCBodHRwL3Rlc3RzL2xvYWRpbmcvdGV4dC1jb250ZW50LXR5cGUtd2l0aC1iaW5hcnkt
ZXh0ZW5zaW9uLmh0CiAKICMgTmVlZHMgY3VzdG9tIHBvbGljeSBkZWxlZ2F0ZSBlbmhhbmNlbWVu
dCB0byBsb2cgZG93bmxvYWRzIC0gRUZMIHBvcnQgaXMgbWlzc2luZyBhcGkgZm9yIGdldHRpbmcg
aGVhZGVyIGZpZWxkcyBmcm9tIEhUVFAgcmVzcG9uc2VzLgogd2Via2l0Lm9yZy9iLzg3OTc0IGh0
dHAvdGVzdHMvZG93bmxvYWQgWyBGYWlsdXJlIF0KKworIyBFRkwncyBFdmVudFNlbmRlciBkb2Vz
IG5vdCBpbXBsZW1lbnQgY29udGV4dENsaWNrIHlldAord2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRp
bmcvcGFzdGVib2FyZC9jb3B5LXN0YW5kYWxvbmUtaW1hZ2UtY3Jhc2guaHRtbCBbIEZhaWx1cmUg
XQord2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc2VsZWN0aW9uLzUzNTQ0NTUtMS5odG1sIFsg
RmFpbHVyZSBdCit3ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9zZWxlY3Rpb24vYnV0dG9uLXJp
Z2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3Nl
bGVjdGlvbi9jb250ZXh0LW1lbnUtb24tdGV4dC5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3Jn
L2IvODYwOTEgZWRpdGluZy9zZWxlY3Rpb24vY29udGV4dC1tZW51LXRleHQtc2VsZWN0aW9uLmh0
bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3NlbGVjdGlvbi9lbXB0
eS1jZWxsLXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBl
ZGl0aW5nL3NwZWxsaW5nL2NvbnRleHQtbWVudS1zdWdnZXN0aW9ucy5odG1sIFsgRmFpbHVyZSBd
Cit3ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9zcGVsbGluZy9zcGVsbGNoZWNrLWlucHV0LXNl
YXJjaC1jcmFzaC5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvODYwOTEgZmFzdC9ldmVu
dHMvY29udGV4dC1vbm1vdXNlZG93bi1ldmVudC5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3Jn
L2IvODYwOTEgZmFzdC9ldmVudHMvY29udGV4dG1lbnUtc2Nyb2xsZWQtcGFnZS13aXRoLWZyYW1l
Lmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBmYXN0L2V2ZW50cy9yaWdodC1j
bGljay1mb2N1cy5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvODYwOTEgZmFzdC9ldmVu
dHMvc2VsZWN0c3RhcnQtcHJldmVudC1zZWxlY3Rpb24tb24tcmlnaHQtY2xpY2suaHRtbCBbIEZh
aWx1cmUgXQord2Via2l0Lm9yZy9iLzg2MDkxIG1lZGlhL2NvbnRleHQtbWVudS1hY3Rpb25zLmh0
bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBtZWRpYS9jb250cm9scy1yaWdodC1j
bGljay1vbi10aW1lYmFyLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBlZGl0
aW5nL3NoYWRvdy9yaWdodGNsaWNrLW9uLW1ldGVyLWluLXNoYWRvdy1jcmFzaC5odG1sIFsgRmFp
bHVyZSBdCisKKyMgRUZMJ3MgRXZlbnRTZW5kZXIgY29udGV4dENsaWNrLCBuZWVkcyBiYXNlbGlu
ZXMKK3dlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3NlbGVjdGlvbi81MzU0NDU1LTIuaHRtbCBb
IE1pc3NpbmcgXQord2Via2l0Lm9yZy9iLzg2MDkxIGZhc3QvZXZlbnRzL2NvbnRleHQtbm8tZGVz
ZWxlY3QuaHRtbCBbIE1pc3NpbmcgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
ZWZsLXdrMi9lZGl0aW5nL3NlbGVjdGlvbi81MzU0NDU1LTItZXhwZWN0ZWQucG5nIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZWZsLXdrMi9lZGl0aW5nL3NlbGVjdGlvbi81MzU0NDU1LTItZXhwZWN0
ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjZkOTg0MDc5MDhjNjEyMjZlOTZlNmY4YzVkMWUyOTk5ODMyMjc0
YzkKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDQwMDMKemNtZUhLWWZ1d2M2dXZ5OXBoS2dyc011
PDM/VDhsU0JAZStzVDZzeVUoeT5sT0w3Oz8oSHFmOXZCIz5sRk4yT0xRCnopNnliSkY9OEM0KCpq
eHkycVhsPjRyTC1ORHZiaCRFZyk9YTJ0ayk1aE9uRCVLcG19aHJiUnBjRDY9IVdYWVMxMQp6Ykkq
NmE/Pm9CKEtHK3l5SjlGVm8wRHhgaXkxLTJVU1MkZytKbHh1eFQoTyZMPVJpSklxeT5laUY/UGY9
bjVwVD4KenolJDw0JDBzaCVfMlVGcmNVT2pZeWlZNzZKfmxxViFfRDJ4WWMrWjJFWmEzZVpuQkRm
S09fKHNQMWtYOFNwZmkpCnpySjtmRVpxRUUoQ0hMRml8SXh5Q3UzWHEwYXgtKyo/JkNMUj9QQEdx
PEliP14kKHpldXZFRDdgJEdNN0pLX1V7OAp6UT1ZbT53M2VGKmV1PVBjaUlTemA2YVkkJEpQckFG
JC08bCZWRF91dzBKdUY3b1RYQTFnJT1KS3JoLVFLOXBzeF4Kek9RfXtlaH5eRE8rPkViV3UjMXt3
NGxZXkYxTWpTbEZgRXBBeD9FfXt5Sj9IaikoZ2dULTt6X3U1UFRuLSE+Y1M3CnooXkltZ0E8KjBC
b2htOCUpQn1+Q2hKMFVuYld0O150NlBIJEcmUnhSaiRDd0gzcUM3cUd6VllVSUs5WVZyTHdMOAp6
aWVZbVZJc31ybXRQYDskTlNMM0lDQmVOazt9RVg3LWhwOTQ7JERDTFg7aCpeNlNiJkx1Vj4lWkNu
OEF5b3o8SDAKejB1Zz48P3xoM0twXzZuJmEzQXdCO251NnkzKXd0Z3ZVfWZsXk1qNn1IIVdYdWZo
S3J3PGlqcEYyR2h3I3h4aVNICnpxKnJlP0VkOUFjWD9VclNMTk5tayVXTUNlYzlgO1ZHYyR8NG57
OD0rZXp4VGpvcE87LWg8QTM7cyVtP2JrP1A5aQp6RyRfVlVuNyRwTXBBcT89R2w2KD9LO1ZlfkR2
bm5GUF9CWXlnR1g5NVFEXyNGRUhHNWZWTSYodj8lVDVXQDBqfX0Kem0hR2x7QXhxflA4fUUqX15D
Vj1xdEE7WV9PRXJoM0BtSnE2VWU8RktaLVo5OXpGKT5saE5ge2JxPUA8K3dOfSpYCnpsX2Y1X3dz
UXhyQVh1IyFoSGMzbzM0NSZSVG1oQSNJfHd5bFQ0NiZzZiRUaEc/TmwtSDwhckVJKiU8KDAmMVgj
fAp6cCEtV2tRSjlZbi1yTGBYVihud094dyltOXtRVWQ/Ql8rNDFlWFFKRzRyZmJ4SSluSyZvcGtD
alBQN3BzIX5tbUwKemwtI1ZXcWFIUyFBNDdEXip9cUdscEVxbkEhZFJfKSRmNT4mKU1feS1AZX4r
KlREbzF7JWp+cyM7fUtDbVJRRXApCno5JWUoLUVjZEhVRDh9QV9fb2Z0aXY+K012XjdiKzVmViph
VjA+VUJPVUw0KXJ6bCNLdV9mPU9IbVo0NjdxSnJmSAp6JSVAdkg8WWtkVyRzKXFDM18mKDdSXzRz
RGd+ZlJ1UWJxSWNKKFlWcFdaRmF+bVJHMEsqUzZ1fTtvYFg1Iz1lPUEKeilARD0xKlZMOGpwT2ot
biZWWiZBPVJwTnVDdj5WWjArZUI4KlZAT0xkUkA9KUkhdFYhYEAjdyQoKW48eU1sZyk/CnpsOVAh
fTc/eUVyVX09KVR6QHt5QipsQFJ8dGdQJWJZQ0xJandBZHdRM2djXkEpPHc5RG9qb0ZeTS0oU0Fo
cStKIQp6NDU8eVBacjUqRENxO0NfaHZFKUI/fl8tQCled0F+aWdZZW1ydGVuSkNWPWl1UytHc3dz
Y1dFREBvVGFYS0JsTGcKekJRanwobS1CSmBxN3F9aDNSVGMzNmlSXjdmJkI+QmZzOWR4UTlmTFcq
TTc9MFIwLUxeV1dtfHwjSEUoPXdxeW9iCnpLVyUwX01RNFVQemdkNzNXYHFJcXlqYTtSY2B6fU93
cURvWjdFKXpeMHB9Pz8/bFdiPEhoTVM3JDhPYnJTK3cpdgp6KDFQKCpSWFJ2WkImcWNGQ0Z0YV8k
N3lzcnJKUmJoSiZSRlEtNCEmc25na3dwJUQjWDYoR3B6MnMxWUpJPVhIOXUKelQmeTxBMjlZa0JW
MzxwRVIjJSVrKGN5czM1MEN1IUw/M0R2ZWFLUTdTSXooX3VNc21JWGp4aVVwezltTVFNPVNTCnpa
fkw4JiROMm5ROEJ+S0dRVDZCYENaPk1HUSlHajVLMEtrP2xjN1lsNUdNO3ReUitHS2l+MFFWQHJL
RlNwXkB7LQp6SntlX1RhJjJPREhlJEA/Xk9aTGRuTXtpblY5KFBeWlhCTyprdCFYXkBoMnlvSUdl
KjZ6ZGVXZVpaY21YOXswRXAKel9pP0g2NmA8a0xeRHFiPWh4YlErZjR8NUYwR3xDTWM+WGo/YVBQ
I2V6bGl1Y3VaMnRNelNSdGpOSm5PNmt4dWBOCnpCN1gpQ298PHp7QDAjK15ufSUqMHhAWS1sbiYh
e3ttcEB2JWJJSVBlOyVrPmkkek5PJDhuaUw2VnJ8VWxlKnkqeQpCMk1ob0oKCmxpdGVyYWwgMApI
Y21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC13azIvZmFz
dC9ldmVudHMvY29udGV4dC1uby1kZXNlbGVjdC1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9lZmwtd2syL2Zhc3QvZXZlbnRzL2NvbnRleHQtbm8tZGVzZWxlY3QtZXhwZWN0ZWQu
cG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmZiYmU5NGEwN2ZiNDU2NWNiNDhmNGFjOWYwZjdjODViODkyMWE2YmYK
R0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDQ5NzMKemNtZUkwVH5KZms3UlFmYmZsPzljMlU8WUd0
IT0lWCU3PGI/RmVKMV51UjVxJCVTUX5GMDh5WlVoPT5wJUt0T0EoCnohekh3JTF1YTVFVGhrX25L
PVZObWp1OSFPZkRrT15BUEVGMmclfDx9bDdzXytCc1lFTmVlQiVWSkh6YVVITTN7IQp6bkxXUn58
TnBpMnpJT2NCS35FMUs0KiZvPjQ8RmlwMHN2aDYwYm4pV2VZSkNEXlFPJV5vI0RmYTJrO2xrWD1s
bWwKeioqUjFvPFY8akk1O19AO0w/VDFaP2hRKnlQQzFpOzRuK29za2s2cEBvKFZtUk1fdjsrN3I3
PSE5byFFJXt2M0JlCnomVUZDVEZtcmhTQ295QHFYR1JuaT9gY29WVW1IS2lWdVhePUNvUFRGRXVF
LSFJUkVidGVUaTs8ciZRfGlFPz9nSAp6bTJDQkV3bS17MShFcDB4MjI5JkdAMiklNChBYyVfIWx0
dFVDcHxuYDM8YztJaG9TWnNhWTg1fjFyNGJUSXU0Z3oKenVnZHtCVCYlTGRfeStLQy0+bFRSYFBt
MD07e2hPUF47Pn1kaztHTk5tdjhPQE5gZ3pAME0+dWQwMDIrY2NtcDViCnplN3FXUCRBcVF5a0Y+
Q2g5VXo9SllTKj5iZGQ+emZZdk08KFEwUXBCTUgjO3gtVmZBbm5mV2JoVik+N3FqQExwQQp6dHpL
NFdxWT4/d15peilxVWQ3OS1XfXlQdGxBey1BRTxZUFl6XjghUHgycFd3OUA2MGZfREhqNyhsPThD
cjNpPCoKenkxRnRAXnR+WjJDK2NnI15XIz5GU0FfS3lscGRPP1g8ZHxaVHhPP1ItZk1XfCZAMnMt
OSUlP0k3YmQhdVROSGlBCno2d0lXQmp1QSUtRXpeJX5BJWNVZ0BEeV8xTjNObGhpb3BzS1pyK0Ve
dF5mO1NtRlc0YlEtTWY/b0piYm48e1JPVAp6Y2dZQWtMYVVeZ2dEQEF6JnolTS14OFgpTz5qOVM9
SH52Q3YoakF1VDl1d0c9ezMkWFVJXktoUHA4V0NBJnZpWHIKeihNYE5+UVVzb2loI3liUzU9eSlA
bVUyZHV0UlY1Y01icT56Tm0tTHN2eWQ5aWc5Nm5hOz5KKGwmUDxLRUlQcWFpCnolVXM3bzlDZmo9
eV5iR0lCOSlHS3ctYX59SCYhZXVSLXJeNFRYOy1lWmhDdF4xKUh9dWdfX29Ma2MwRj5LNG01bQp6
d0VmSUYmbU4/Z1EyOHJGQE1aY2lROEIkSylVOGEyT1lyMH5iPmIhO1hGMyhkPVpHTis7ZD9QZVY1
Y0M5en1UQUcKenFXRjR0JkZPYjJ1aT85LUZmNW9nVUtYK1olI0M1MGt4MmBDVHhRa0g/PV9ycm8r
UjYqVj9SdzFAYDc1PSYjMX4kCnpJak1ZYzZTM2ZAKz0xbEs1NGxgSXo9a2hVazBrN0ImM31AV3R0
KEU7UyZENEJvWFZ7IS0hP2FTYjN6ciFzKkYtRgp6PUp5Ul9gNz9vWlYpJTV0c3UtRVUzajUmR0lQ
JXB2bns7cXJkSCZibTQpel5ecXJETF9pU2xtUWYlKHd4Jmd8MC0KenN2NkluMUAmTk1odUNwUVVF
Tzg0dDJTflZadGtHP15DSThOdzBOPU9oQ1h3P2xNdlVXWUdgY14+eCNeTlFUJnEyCnpnP1JUcFpw
WmMwNSZDWUJFfEEmM1dqTXd6eTk4fTY1JW9tO3Bga35GZ0BzfFRIUzAqUnZIRyQtYyl3S3lkJXEw
Qwp6JEM4WDJhXlczNCtuI1dMJFlyQCZhX185U2NLIV4pTn1RbThndCZ1YFhvS3Z1TUZKKGV1N2t8
bWM1PjdZR2dBZVQKekR9eEg/dztyfnB0cGppSHdMPTY2LTBPeiZRdHZgTlRhKl93PENLKHFeVU5O
cV84UUZqODZOOStRdztDaEJMNXc9CnpJK2E3P0s/IXJTNVcyNTlPajNBdnE+e2tzcDtmNkZTOG9w
eHNjP1Y8I0FCV3goZUxJPkN5WmItMyNsMjhZaTZWbwp6amx+TkkmazU7fjd6YEY8NmNvSjUwX0lw
Jm5SfXttRDBuU24rMGYhOG4lYiVOaXgpNSE0S2hvKUBTdj9mdEU2e28KeiFDVnkkODU8ViN2UERJ
ZEppfkN3VmFRfVM4V3BKbj9YYC1fKTtea3N8Q1hCZTV0KDRxKF9+RyktJkR0bkhZUWlnCnpkOzZs
TW01dWR9OTc+OUU5VXx6b1pGbzw7c2dhO3dOSns8Z0Q5T0NneHQ0P1k4cHZEMkBfNHxkQFFZP3x1
dXF8fQp6KnE/ZWdVYVBKVjd1OGQmPDE8WUgrezxAfThDJXp9dy1lTVZIbClzIUVnYVd8XyE0QSFJ
UTdKQWdWdURYY3pOODcKejl6blZsZmFBbzlob0FHUkxVKDFTVEQ+aGA8bCpXR0lgSzB4fE41e1Bj
VDlwbWxqVjBWdGtlP3JpKmxkcEs9YzRBCno7PClTTSRsUSFYdFA5Z31AQH4wNlYldkJ2YHA0WC0j
JFdTcFQ9aVRreTxDRStvZXI9ak4oeGY2fDJEXmNSK0R8Iwp6Rm17UHZ1fDRrJGBJfnojeHxmXylW
fENmeHp+QjRYIz1sSCZJP1FfMUYjZUx6RHdlKzZXeGJUYFIkcG1hR2orQVQKenRUcHUyK2pnciN3
QDJmM0w0MkV8bDBJQzFZU3tjSCYpVFFGSyske1ZZN1Rxe3FrMnBBRUYpR294akNuQXZCUkt1Cno+
TUpCMXNDYjtjMkBlfkppMFVQMlMmKF9Ad3xscHNYWkdLWEdQeykxYTJBSVBuWW5tbCQ8I1F0ezg2
WF51N19KYQp6PyRtc2NrYjQzVitMO2s5JUJ4aDRKaEJ9cGsmTWsxTVllJnFtbld8OUpfIXRXcEc5
TDJtTGlRe3JRRnJxT143LXQKekZ2Sy04KXRfMTRLRGN6aHtmZVRxXm9CeTdsfHcmPyljUmVYMHdw
Zm12Q1hicTVgR1hFMC1ecT9eWCpqRTBXKj12CnpyJjs+Vz42PFBaPClud31PR0lRQntZX0F9KE9f
Q2tjRldpN3s+c3ZFTX01N0pKOX5KeWZxRX5Tcm5Td3dHOUV0Rgp6aj5xaXNqVFBwZHF+PzQkYE4t
Tm1Dd098blowSD0pXzA4WjN6WUktJihQcWhTTjdjTVBKYW9Ub2NUWTxDZlUrJWcKejB9cjtaVEBH
LX5CWiRmeilrX3IpdnRxRlJeaW5ySiE1TGNTdVQoTFVlJm1pMFMzQmttblRBbj5vUXMzZEVPTTtI
CnpoaT1obU8qaj9eYF9QU0tOOCRBTjN5JHl+PDdnSUdwaE9FYU9LNnM8djlxeSkleXh5aiMzRms+
TGYmRGc8TTxUWgp6SlExWWVvWCFxTCk1ezNxJnFORU5yQn52LURVQ2VlRDgzbmM2d3w4dzg5RE9m
Y2s+QSNtb2x4Nyt7OUJDb2VEMlYKeiF2d0gpSlRNd0BsNj1+fEp1R3hYMUpkcX1LXlhIckxfM1pw
UXlJXntORy0kJlBPRDB9Q3hpQXEkbj5KKFMoKCZECnpgQ2NqaW9QZCY9IzswdChLYWZTO049ZjYz
QyFYKkw7LXM3UXEzeCkoay1SdmljZn5STlBqJXVYaCo+OSZpKiVaRQp6YkRsNHVIJHx4Mm48N0xW
Tz58b0peOSlKZVdTdWZ0MWJMVW1DXkkwWTFnfShuKVNnWiUkWkNGSGpiPUc0cWZOJSkKelg0OHlw
KiVYRHMwNVdrREUzcnNsWkNvQzY3VTVIfTt0OHw0OEB3KFk1SkQ+RHo+c2UhVE5NNHpSYVkmVnI1
Nm1GCnpPbERzZyN+Mkk4eSU2eGxLV3B0OGgkbmItS0BYKVBpcHxmO2VNeUQzQDw5VnpnU2dMQG1V
OHdSWlEyTSZoYTU0dwp6STlEYVJYcXhQbVc0RCFQcFM7ZzstXm5oVj4rKWlsK3BaI1BpWEF1Q3Va
TlhROG1uczFLMUxmWUctWEF2OE96VSMKemFXKVI7ISkwQ0R7enVMSVU4Q198VlhoP29aOX0lZyQk
YlVFM0licFMhM3FOQmAqZyglUnVIVipnOHYmS0cmdE9SCllkfTVeY3FCczVkalJxVihhQlA0NXIt
XyZUMU5WME9oWDRRbwoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9lZmwvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBjZjYzNTU5Li43ZjM0Zjc3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTIzOCwyNiArMTIzOCwxNSBA
QCB3ZWJraXQub3JnL2IvODIxNDAgaW5zcGVjdG9yL2dlb2xvY2F0aW9uLWVycm9yLmh0bWwgWyBG
YWlsdXJlIF0KIHdlYmtpdC5vcmcvYi84MjE0MCBpbnNwZWN0b3IvZ2VvbG9jYXRpb24tc3VjY2Vz
cy5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvODIxNDAgaW5zcGVjdG9yL2dlb2xvY2F0
aW9uLXdhdGNoUG9zaXRpb24uaHRtbCBbIEZhaWx1cmUgXQogCi0jIEVGTCdzIEV2ZW50U2VuZGVy
IGRvZXMgbm90IGltcGxlbWVudCBjb250ZXh0Q2xpY2sgeWV0Ci13ZWJraXQub3JnL2IvODYwOTEg
ZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktc3RhbmRhbG9uZS1pbWFnZS1jcmFzaC5odG1sIFsgRmFp
bHVyZSBdCi13ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0xLmh0
bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3NlbGVjdGlvbi9idXR0
b24tcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRp
bmcvc2VsZWN0aW9uL2NvbnRleHQtbWVudS1vbi10ZXh0Lmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtp
dC5vcmcvYi84NjA5MSBlZGl0aW5nL3NlbGVjdGlvbi9jb250ZXh0LW1lbnUtdGV4dC1zZWxlY3Rp
b24uaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc2VsZWN0aW9u
L2VtcHR5LWNlbGwtcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2
MDkxIGVkaXRpbmcvc3BlbGxpbmcvY29udGV4dC1tZW51LXN1Z2dlc3Rpb25zLmh0bWwgWyBGYWls
dXJlIF0KLXdlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsY2hlY2staW5w
dXQtc2VhcmNoLWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84NjA5MSBmYXN0
L2V2ZW50cy9jb250ZXh0LW9ubW91c2Vkb3duLWV2ZW50Lmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtp
dC5vcmcvYi84NjA5MSBmYXN0L2V2ZW50cy9jb250ZXh0bWVudS1zY3JvbGxlZC1wYWdlLXdpdGgt
ZnJhbWUuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIGZhc3QvZXZlbnRzL3Jp
Z2h0LWNsaWNrLWZvY3VzLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84NjA5MSBmYXN0
L2V2ZW50cy9zZWxlY3RzdGFydC1wcmV2ZW50LXNlbGVjdGlvbi1vbi1yaWdodC1jbGljay5odG1s
IFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODYwOTEgbWVkaWEvY29udGV4dC1tZW51LWFjdGlv
bnMuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIG1lZGlhL2NvbnRyb2xzLXJp
Z2h0LWNsaWNrLW9uLXRpbWViYXIuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkx
IGVkaXRpbmcvc2hhZG93L3JpZ2h0Y2xpY2stb24tbWV0ZXItaW4tc2hhZG93LWNyYXNoLmh0bWwg
WyBGYWlsdXJlIF0KLQotIyBFRkwncyBFdmVudFNlbmRlciBjb250ZXh0Q2xpY2ssIG5lZWRzIGJh
c2VsaW5lcwotd2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc2VsZWN0aW9uLzUzNTQ0NTUtMi5o
dG1sIFsgTWlzc2luZyBdCi13ZWJraXQub3JnL2IvODYwOTEgZmFzdC9ldmVudHMvY29udGV4dC1u
by1kZXNlbGVjdC5odG1sIFsgTWlzc2luZyBdCisjIEVGTCBJbXBsZW1lbnRhdGlvbiBvZiBzcGVs
bGNoZWNraW5nIGZlYXR1cmUKK3dlYmtpdC5vcmcvYi85MTg1NCBlZGl0aW5nL3NwZWxsaW5nL2Nv
bnRleHQtbWVudS1zdWdnZXN0aW9ucy5odG1sIFsgRmFpbHVyZSBdCisKKyMgRUZMJ3MgRXZlbnRT
ZW5kZXIgY29udGV4dENsaWNrIHNob3VsZCByZXR1cm4gb2JqZWN0cyB0aGF0IGltcGxlbWVudHMg
Y2xpY2soKSBtZXRob2QKK3dlYmtpdC5vcmcvYi84Njg4MSBlZGl0aW5nL3Bhc3RlYm9hcmQvY29w
eS1zdGFuZGFsb25lLWltYWdlLWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84
Njg4MSBtZWRpYS9jb250ZXh0LW1lbnUtYWN0aW9ucy5odG1sIFsgRmFpbHVyZSBdCisKKyMgRUZM
IFNlbGVjdGlvbiB0eXBlIGlzIG5vdCBzZXQgY29ycmVjdGx5CitCdWcoRUZMKSB3ZWJraXQub3Jn
L2IvODYwOTEgZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0xLmh0bWwgWyBGYWlsdXJlIF0KIAog
IyBJRVRDIG5hbWVzcGFjZSBmYWlsdXJlcwogd2Via2l0Lm9yZy9iLzg2MTQyIGlldGVzdGNlbnRl
ci9jc3MzL25hbWVzcGFjZXMvc3ludGF4LTAyMS54bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9lZGl0aW5nL3NlbGVjdGlvbi81MzU0
NDU1LTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2VkaXRpbmcvc2Vs
ZWN0aW9uLzUzNTQ0NTUtMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uNmExZWQ5ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2VmbC9lZGl0aW5nL3NlbGVjdGlvbi81MzU0NDU1LTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MjkgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2Nr
IHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICg4LDgpIHNpemUgNjEyeDI0
MQorICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDYxMngyNDEgW2JvcmRlcjogKDFw
eCBzb2xpZCAjMDAwMDAwKV0KKyAgICBSZW5kZXJCbG9jayB7SDF9IGF0ICg2LDYpIHNpemUgNjAw
eDY0CisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA1NDR4NjUKKyAgICAg
ICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNTQ0OiAiV29yZCBzZWxlY3Rpb24gb24iCisgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDMyKSB3aWR0aCA1MTI6ICJyaWdodCBjbGljayB0ZXN0IgorICAg
IFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg2LDkxKSBzaXplIDYwMHgxNDQKKyAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDU2MHg2NQorICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwwKSB3aWR0aCA1NDQ6ICJUaGlzIHRlc3RzIHRvIG1ha2Ugc3VyZSB0aGF0IHJpZ2h0Igor
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxNikgd2lkdGggNTQ0OiAiY2xpY2tpbmcgbm9uLWVkaXRh
YmxlIGNvbnRlbnQgb25seSIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsMzIpIHdpZHRoIDU2MDog
ImNyZWF0ZXMgYSB3b3JkIHNlbGVjdGlvbiBmb3IgY2xpY2tzIgorICAgICAgICB0ZXh0IHJ1biBh
dCAoMCw0OCkgd2lkdGggMTc2OiAib3ZlciB0ZXh0LiAiCisgICAgICBSZW5kZXJJbmxpbmUge1NQ
QU59IGF0ICgwLDApIHNpemUgMzJ4MTcKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgx
NzYsNDgpIHNpemUgMzJ4MTcKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTc2LDQ4KSB3aWR0aCAz
MjogIlRvIgorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyMDgsNDgpIHNpemUgNTkyeDk3
CisgICAgICAgIHRleHQgcnVuIGF0ICgyMDgsNDgpIHdpZHRoIDMyMDogIiBydW4gbWFudWFsbHks
IHJpZ2h0IgorICAgICAgICB0ZXh0IHJ1biBhdCAoMCw2NCkgd2lkdGggNTYwOiAiY2xpY2sgb24g
dGV4dCwgYW5kIGEgd29yZCBzaG91bGQgYmUiCisgICAgICAgIHRleHQgcnVuIGF0ICgwLDgwKSB3
aWR0aCAxNjA6ICJzZWxlY3RlZC4gIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTYwLDgwKSB3aWR0
aCAzODQ6ICJSaWdodCBjbGljayBvbiB0aGUgZW1wdHkiCisgICAgICAgIHRleHQgcnVuIGF0ICgw
LDk2KSB3aWR0aCA1OTI6ICJzcGFjZSBvdXRzaWRlIGFuZCB0byB0aGUgcmlnaHQgb2YgdGhlIgor
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxMTIpIHdpZHRoIDU5MjogImJsYWNrIGJvcmRlciwgdGhl
IHNlbGVjdGlvbiBzaG91bGQgYmUiCisgICAgICAgIHRleHQgcnVuIGF0ICgwLDEyOCkgd2lkdGgg
MTI4OiAicmVtb3ZlZC4iCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAw
eDAKK2NhcmV0OiBwb3NpdGlvbiAwIG9mIGNoaWxkIDAgeyN0ZXh0fSBvZiBjaGlsZCAxIHtIMX0g
b2YgYm9keQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2Zhc3QvZXZlbnRz
L2NvbnRleHQtbm8tZGVzZWxlY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
ZWZsL2Zhc3QvZXZlbnRzL2NvbnRleHQtbm8tZGVzZWxlY3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEzZTg1ZjYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvZmFzdC9ldmVudHMvY29udGV4dC1uby1kZXNlbGVjdC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNCBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAg
IFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVyVGV4
dENvbnRyb2wge0lOUFVUfSBhdCAoMiwyKSBzaXplIDMyN3gyNiBbYmdjb2xvcj0jRkZGRkZGXQor
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKK2xheWVyIGF0ICgxNCwxNikgc2l6ZSAzMjB4
MTYgc2Nyb2xsSGVpZ2h0IDE3CisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICg0LDYpIHNpemUgMzIw
eDE2CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjU2eDE3CisgICAgICB0
ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyNTY6ICJzb21lIHNhbXBsZSB0ZXh0Igorc2VsZWN0aW9u
IHN0YXJ0OiBwb3NpdGlvbiA1IG9mIGNoaWxkIDAgeyN0ZXh0fSBvZiBjaGlsZCAwIHtESVZ9IG9m
IHsjc2hhZG93LXJvb3R9IG9mIGNoaWxkIDEge0lOUFVUfSBvZiBib2R5CitzZWxlY3Rpb24gZW5k
OiAgIHBvc2l0aW9uIDE1IG9mIGNoaWxkIDAgeyN0ZXh0fSBvZiBjaGlsZCAwIHtESVZ9IG9mIHsj
c2hhZG93LXJvb3R9IG9mIGNoaWxkIDEge0lOUFVUfSBvZiBib2R5CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMzc2
NmVkOC4uMzAzMjI1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA5LTE0ICBX
b2pjaWVjaCBCaWVsYXdza2kgIDx3LmJpZWxhd3NraUBzYW1zdW5nLmNvbT4KKworICAgICAgICBX
ZWJLaXRUZXN0UnVubmVyIG5lZWRzIGV2ZW50U2VuZGVyLmNvbnRleHRDbGljaygpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Njg4MQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluamVjdGVkQnVuZGxlIEFQ
SSBleHRlbmRlZCB0byByZXRyaWV2ZSBjb250ZXh0TWVudSBlbnRyaWVzIG5hbWVzLgorICAgICAg
ICBXZWJDb250ZXh0TWVudSBleHRlZGVkIHdpdGggZnVuY3Rpb24gdG8gcmV0cmlldmUgbWVudSBp
dGVtcy4KKyAgICAgICAgVGhpcyBBUEkgaXMgcmVxdWlyZWQgYnkgbGF5b3V0IHRlc3RzLgorCisg
ICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3Bw
OgorICAgICAgICAoV0tCdW5kbGVQYWdlR2V0Q29udGV4dE1lbnVFbnRyaWVzTmFtZXMpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmg6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViQ29udGV4dE1lbnU6Oml0ZW1zKToKKyAgICAgICAgKFdlYktpdCk6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51Lmg6CisgICAgICAgIChXZWJD
b250ZXh0TWVudSk6CisKIDIwMTItMTAtMDQgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhl
LmR1bWV6QGludGVsLmNvbT4KIAogICAgICAgICBSZWdyZXNzaW9uKHIxMzAzNjMpOiBCcm9rZSB1
bml0IHRlc3RzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAKaW5kZXggNTNkZGY2MS4uYjlh
MzkyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcApAQCAtMzAsMTMgKzMwLDE4IEBA
CiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVCYWNrRm9yd2FyZExpc3QuaCIKICNpbmNsdWRlICJJ
bmplY3RlZEJ1bmRsZU5vZGVIYW5kbGUuaCIKICNpbmNsdWRlICJXS0FQSUNhc3QuaCIKKyNpbmNs
dWRlICJXS0FycmF5LmgiCiAjaW5jbHVkZSAiV0tCdW5kbGVBUElDYXN0LmgiCisjaW5jbHVkZSAi
V0tSZXRhaW5QdHIuaCIKKyNpbmNsdWRlICJXZWJDb250ZXh0TWVudS5oIgorI2luY2x1ZGUgIldl
YkNvbnRleHRNZW51SXRlbS5oIgogI2luY2x1ZGUgIldlYkZyYW1lLmgiCiAjaW5jbHVkZSAiV2Vi
RnVsbFNjcmVlbk1hbmFnZXIuaCIKICNpbmNsdWRlICJXZWJJbWFnZS5oIgogI2luY2x1ZGUgIldl
YlBhZ2UuaCIKICNpbmNsdWRlICJXZWJSZW5kZXJMYXllci5oIgogI2luY2x1ZGUgIldlYlJlbmRl
ck9iamVjdC5oIgorI2luY2x1ZGUgIldlYlN0cmluZy5oIgogI2luY2x1ZGUgIldlYlVSTC5oIgog
I2luY2x1ZGUgIldlYlVSTFJlcXVlc3QuaCIKIApAQCAtMTQ1LDYgKzE1MCwyNCBAQCBXS0J1bmRs
ZUZyYW1lUmVmIFdLQnVuZGxlUGFnZUdldE1haW5GcmFtZShXS0J1bmRsZVBhZ2VSZWYgcGFnZVJl
ZikKICAgICByZXR1cm4gdG9BUEkodG9JbXBsKHBhZ2VSZWYpLT5tYWluV2ViRnJhbWUoKSk7CiB9
CiAKK1dLQXJyYXlSZWYgV0tCdW5kbGVQYWdlQ29weUNvbnRleHRNZW51RW50cmllc05hbWVzKFdL
QnVuZGxlUGFnZVJlZiBwYWdlUmVmKQoreworI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQorICAg
IFdlYkNvbnRleHRNZW51KiBjb250ZXh0TWVudSA9IHRvSW1wbChwYWdlUmVmKS0+Y29udGV4dE1l
bnUoKTsKKyAgICBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4gaXRlbXMgPSBjb250ZXh0
TWVudS0+aXRlbXMoKTsKKyAgICBPd25BcnJheVB0cjxXS1R5cGVSZWY+IGl0ZW1OYW1lcyA9IGFk
b3B0QXJyYXlQdHIobmV3IFdLVHlwZVJlZltpdGVtcy5zaXplKCldKTsKKyAgICBzaXplX3QgYXJy
YXlMZW5ndGggPSBpdGVtcy5zaXplKCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBhcnJh
eUxlbmd0aDsgKytpKSB7CisgICAgICAgIFJlZlB0cjxXZWJTdHJpbmc+IG5hbWUgPSBXZWJTdHJp
bmc6OmNyZWF0ZShpdGVtc1tpXS50aXRsZSgpKTsKKyAgICAgICAgaXRlbU5hbWVzW2ldID0gdG9B
UEkobmFtZS5yZWxlYXNlKCkubGVha1JlZigpKTsKKyAgICB9CisKKyAgICByZXR1cm4gV0tBcnJh
eUNyZWF0ZShpdGVtTmFtZXMuZ2V0KCksIGFycmF5TGVuZ3RoKTsKKyNlbHNlCisgICAgcmV0dXJu
IDA7CisjZW5kaWYKK30KKwogdm9pZCogV0tBY2Nlc3NpYmlsaXR5Um9vdE9iamVjdChXS0J1bmRs
ZVBhZ2VSZWYgcGFnZVJlZikKIHsKICNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxl
UGFnZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
QVBJL2MvV0tCdW5kbGVQYWdlUHJpdmF0ZS5oCmluZGV4IDExYjIwZGMuLmI0ZTBmMzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGVQYWdlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUHJpdmF0ZS5oCkBAIC03Nyw2ICs3Nyw4IEBAIFdL
X0VYUE9SVCBib29sIFdLQnVuZGxlUGFnZUNhblNob3dNSU1FVHlwZShXS0J1bmRsZVBhZ2VSZWYs
IFdLU3RyaW5nUmVmIG1pbWVUeXBlCiBXS19FWFBPUlQgdm9pZCogV0tBY2Nlc3NpYmlsaXR5Um9v
dE9iamVjdChXS0J1bmRsZVBhZ2VSZWYpOwogV0tfRVhQT1JUIHZvaWQqIFdLQWNjZXNzaWJpbGl0
eUZvY3VzZWRPYmplY3QoV0tCdW5kbGVQYWdlUmVmKTsKIAorV0tfRVhQT1JUIFdLQXJyYXlSZWYg
V0tCdW5kbGVQYWdlQ29weUNvbnRleHRNZW51RW50cmllc05hbWVzKFdLQnVuZGxlUGFnZVJlZiBw
YWdlUmVmKTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuY3BwCmluZGV4IDNh
OTFkOTAuLjNjODEwZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJDb250ZXh0TWVudS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYkNvbnRleHRNZW51LmNwcApAQCAtOTUsNiArOTUsMzIgQEAgdm9pZCBXZWJDb250
ZXh0TWVudTo6aXRlbVNlbGVjdGVkKGNvbnN0IFdlYkNvbnRleHRNZW51SXRlbURhdGEmIGl0ZW0p
CiAgICAgbV9wYWdlLT5jb3JlUGFnZSgpLT5jb250ZXh0TWVudUNvbnRyb2xsZXIoKS0+Y29udGV4
dE1lbnVJdGVtU2VsZWN0ZWQoJmNvcmVJdGVtKTsKIH0KIAorVmVjdG9yPFdlYkNvbnRleHRNZW51
SXRlbURhdGE+IFdlYkNvbnRleHRNZW51OjppdGVtcygpIGNvbnN0Cit7CisgICAgVmVjdG9yPFdl
YkNvbnRleHRNZW51SXRlbURhdGE+IHByb3Bvc2VkTWVudTsKKyAgICBDb250ZXh0TWVudUNvbnRy
b2xsZXIqIGNvbnRyb2xsZXIgPSBtX3BhZ2UtPmNvcmVQYWdlKCktPmNvbnRleHRNZW51Q29udHJv
bGxlcigpOworICAgIGlmICghY29udHJvbGxlcikKKyAgICAgICAgcmV0dXJuIHByb3Bvc2VkTWVu
dTsKKyAgICBDb250ZXh0TWVudSogbWVudSA9IGNvbnRyb2xsZXItPmNvbnRleHRNZW51KCk7Cisg
ICAgaWYgKCFtZW51KQorICAgICAgICByZXR1cm4gcHJvcG9zZWRNZW51OworCisgICAgLy8gR2l2
ZSB0aGUgYnVuZGxlIGNsaWVudCBhIGNoYW5jZSB0byBwcm9jZXNzIHRoZSBtZW51LgorI2lmIFVT
RShDUk9TU19QTEFURk9STV9DT05URVhUX01FTlVTKQorICAgIGNvbnN0IFZlY3RvcjxDb250ZXh0
TWVudUl0ZW0+JiBjb3JlSXRlbXMgPSBtZW51LT5pdGVtcygpOworI2Vsc2UKKyAgICBWZWN0b3I8
Q29udGV4dE1lbnVJdGVtPiBjb3JlSXRlbXMgPSBjb250ZXh0TWVudUl0ZW1WZWN0b3IobWVudS0+
cGxhdGZvcm1EZXNjcmlwdGlvbigpKTsKKyNlbmRpZgorICAgIHByb3Bvc2VkTWVudSA9IGtpdEl0
ZW1zKGNvcmVJdGVtcywgbWVudSk7CisgICAgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+
IG5ld01lbnU7CisgICAgUmVmUHRyPEFQSU9iamVjdD4gdXNlckRhdGE7CisgICAgUmVmUHRyPElu
amVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdD4gaGl0VGVzdFJlc3VsdCA9IEluamVjdGVkQnVuZGxl
SGl0VGVzdFJlc3VsdDo6Y3JlYXRlKGNvbnRyb2xsZXItPmhpdFRlc3RSZXN1bHQoKSk7CisgICAg
aWYgKG1fcGFnZS0+aW5qZWN0ZWRCdW5kbGVDb250ZXh0TWVudUNsaWVudCgpLmdldEN1c3RvbU1l
bnVGcm9tRGVmYXVsdEl0ZW1zKG1fcGFnZSwgaGl0VGVzdFJlc3VsdC5nZXQoKSwgcHJvcG9zZWRN
ZW51LCBuZXdNZW51LCB1c2VyRGF0YSkpCisgICAgICAgIHByb3Bvc2VkTWVudSA9IG5ld01lbnU7
CisKKyAgICByZXR1cm4gcHJvcG9zZWRNZW51OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
IAogI2VuZGlmIC8vIEVOQUJMRShDT05URVhUX01FTlVTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmggYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuaAppbmRleCBjOGE1ZjVhLi5kZjA4
M2Q5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29u
dGV4dE1lbnUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29u
dGV4dE1lbnUuaApAQCAtNDMsNiArNDMsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNob3coKTsK
ICAgICB2b2lkIGl0ZW1TZWxlY3RlZChjb25zdCBXZWJDb250ZXh0TWVudUl0ZW1EYXRhJik7Cisg
ICAgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+IGl0ZW1zKCkgY29uc3Q7CiAKIHByaXZh
dGU6CiAgICAgV2ViQ29udGV4dE1lbnUoV2ViUGFnZSopOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hh
bmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDNlMGM3YjQuLmJkZGVmMWQgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBA
QAorMjAxMi0wOS0xNCAgV29qY2llY2ggQmllbGF3c2tpICA8dy5iaWVsYXdza2lAc2Ftc3VuZy5j
b20+CisKKyAgICAgICAgV2ViS2l0VGVzdFJ1bm5lciBuZWVkcyBldmVudFNlbmRlci5jb250ZXh0
Q2xpY2soKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODY4ODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBl
dmVudFNlbmRlciBvYmplY3QgZXh0ZW5kZWQgd2l0aCBjb250ZXh0Q2xpY2soKSBtZXRob2QgaW4g
V2ViS2l0VGVzdFJ1bm5lci4KKyAgICAgICAgY29udGV4dENsaWNrKCkgbWV0aG9kIHJldHVybnMg
YW4gYXJyYXkgb2YgbWVudSBpdGVtcyBvYmplY3RzIHdpdGggZmllbGQgJ3RpdGxlJyBjb250YWlu
aW5nIHRpdGxlIG9mIHNpbmdsZQorICAgICAgICBjb250ZXh0IG1lbnUgZW50cnkuIEFjY29yZGlu
ZyB0byBzb21lIHRlc3RzIG1lbnUgaXRlbXMgb2JqZWN0cyBzaGFsbCBhbHNvIHN1cHBvcnQgJ2Ns
aWNrKCknIG1ldGhvZCwgYnV0IGl0J3Mgbm90CisgICAgICAgIGRlbGl2ZXJlZCBpbiB0aGlzIHBh
dGNoLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5n
cy9FdmVudFNlbmRpbmdDb250cm9sbGVyLmlkbDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RS
OjpFdmVudFNlbmRpbmdDb250cm9sbGVyOjpjb250ZXh0Q2xpY2spOgorICAgICAgICAoV1RSKToK
KyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0Nv
bnRyb2xsZXIuaDoKKyAgICAgICAgKEV2ZW50U2VuZGluZ0NvbnRyb2xsZXIpOgorCiAyMDEyLTEw
LTA0ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTMwMzc3LgpkaWZmIC0tZ2l0IGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9FdmVudFNlbmRpbmdDb250cm9s
bGVyLmlkbCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3Mv
RXZlbnRTZW5kaW5nQ29udHJvbGxlci5pZGwKaW5kZXggY2ZmNzVmMi4uNWZmMDJjMCAxMDA2NDQK
LS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9FdmVu
dFNlbmRpbmdDb250cm9sbGVyLmlkbAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0JpbmRpbmdzL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaWRsCkBAIC0zMSw2ICsz
MSw3IEBAIG1vZHVsZSBXVFIgewogICAgICAgICB2b2lkIG1vdXNlTW92ZVRvKGluIGxvbmcgeCwg
aW4gbG9uZyB5KTsKICAgICAgICAgdm9pZCBtb3VzZVNjcm9sbEJ5KGluIGxvbmcgeCwgaW4gbG9u
ZyB5KTsKICAgICAgICAgdm9pZCBjb250aW51b3VzTW91c2VTY3JvbGxCeShpbiBsb25nIHgsIGlu
IGxvbmcgeSwgaW4gW09wdGlvbmFsXSBib29sZWFuIHBhZ2VkKTsKKyAgICAgICAgb2JqZWN0IGNv
bnRleHRDbGljaygpOwogICAgICAgICB2b2lkIHNjaGVkdWxlQXN5bmNocm9ub3VzQ2xpY2soKTsK
IAogICAgICAgICB2b2lkIGxlYXBGb3J3YXJkKGluIGxvbmcgbWlsbGlzZWNvbmRzKTsKZGlmZiAt
LWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5n
Q29udHJvbGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2
ZW50U2VuZGluZ0NvbnRyb2xsZXIuY3BwCmluZGV4IGJmNmQ5YmMuLmVkNzlhYzUgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29u
dHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9F
dmVudFNlbmRpbmdDb250cm9sbGVyLmNwcApAQCAtMzE5LDYgKzMxOSwzNiBAQCB2b2lkIEV2ZW50
U2VuZGluZ0NvbnRyb2xsZXI6OmNvbnRpbnVvdXNNb3VzZVNjcm9sbEJ5KGludCB4LCBpbnQgeSwg
Ym9vbCBwYWdlZCkKICAgICBXS0J1bmRsZVBvc3RTeW5jaHJvbm91c01lc3NhZ2UoSW5qZWN0ZWRC
dW5kbGU6OnNoYXJlZCgpLmJ1bmRsZSgpLCBFdmVudFNlbmRlck1lc3NhZ2VOYW1lLmdldCgpLCBF
dmVudFNlbmRlck1lc3NhZ2VCb2R5LmdldCgpLCAwKTsKIH0KIAorSlNWYWx1ZVJlZiBFdmVudFNl
bmRpbmdDb250cm9sbGVyOjpjb250ZXh0Q2xpY2soKQoreworICAgIFdLQnVuZGxlUGFnZVJlZiBw
YWdlID0gSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnBhZ2UoKS0+cGFnZSgpOworICAgIFdLQnVu
ZGxlRnJhbWVSZWYgbWFpbkZyYW1lID0gV0tCdW5kbGVQYWdlR2V0TWFpbkZyYW1lKHBhZ2UpOwor
ICAgIEpTQ29udGV4dFJlZiBjb250ZXh0ID0gV0tCdW5kbGVGcmFtZUdldEphdmFTY3JpcHRDb250
ZXh0KG1haW5GcmFtZSk7CisjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCisgICAgLy8gRG8gbW91
c2UgY29udGV4dCBjbGljay4KKyAgICBtb3VzZURvd24oMiwgMCk7CisgICAgbW91c2VVcCgyLCAw
KTsKKworICAgIFdLUmV0YWluUHRyPFdLQXJyYXlSZWY+IGVudHJpZXNOYW1lcyA9IGFkb3B0V0so
V0tCdW5kbGVQYWdlQ29weUNvbnRleHRNZW51RW50cmllc05hbWVzKHBhZ2UpKTsKKyAgICBKU1Jl
dGFpblB0cjxKU1N0cmluZ1JlZj4ganNQcm9wZXJ0eU5hbWUoQWRvcHQsIEpTU3RyaW5nQ3JlYXRl
V2l0aFVURjhDU3RyaW5nKCJ0aXRsZSIpKTsKKyAgICBzaXplX3QgZW50cmllc1NpemUgPSBXS0Fy
cmF5R2V0U2l6ZShlbnRyaWVzTmFtZXMuZ2V0KCkpOworICAgIE93bkFycmF5UHRyPEpTVmFsdWVS
ZWY+IGpzVmFsdWVzQXJyYXkgPSBhZG9wdEFycmF5UHRyKG5ldyBKU1ZhbHVlUmVmW2VudHJpZXNT
aXplXSk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBlbnRyaWVzU2l6ZTsgKytpKSB7Cisg
ICAgICAgIEFTU0VSVChXS0dldFR5cGVJRChXS0FycmF5R2V0SXRlbUF0SW5kZXgoZW50cmllc05h
bWVzLmdldCgpLCBpKSkgPT0gV0tTdHJpbmdHZXRUeXBlSUQoKSk7CisgICAgICAgIFdLU3RyaW5n
UmVmIHdrRW50cnlOYW1lID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KFdLQXJyYXlHZXRJdGVt
QXRJbmRleChlbnRyaWVzTmFtZXMuZ2V0KCksIGkpKTsKKyAgICAgICAgSlNPYmplY3RSZWYganNJ
dGVtT2JqZWN0ID0gSlNPYmplY3RNYWtlKGNvbnRleHQsIDAsIDApOworICAgICAgICBKU1JldGFp
blB0cjxKU1N0cmluZ1JlZj4ganNOYW1lQ29weShBZG9wdCwgV0tTdHJpbmdDb3B5SlNTdHJpbmco
d2tFbnRyeU5hbWUpKTsKKyAgICAgICAgSlNWYWx1ZVJlZiBqc0VudHJ5TmFtZSA9IEpTVmFsdWVN
YWtlU3RyaW5nKGNvbnRleHQsIGpzTmFtZUNvcHkuZ2V0KCkpOworICAgICAgICBKU09iamVjdFNl
dFByb3BlcnR5KGNvbnRleHQsIGpzSXRlbU9iamVjdCwganNQcm9wZXJ0eU5hbWUuZ2V0KCksIGpz
RW50cnlOYW1lLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5LCAwKTsKKyAgICAgICAganNW
YWx1ZXNBcnJheVtpXSA9IGpzSXRlbU9iamVjdDsKKyAgICB9CisKKyAgICByZXR1cm4gSlNPYmpl
Y3RNYWtlQXJyYXkoY29udGV4dCwgZW50cmllc1NpemUsIGpzVmFsdWVzQXJyYXkuZ2V0KCksIDAp
OworI2Vsc2UKKyAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7CisjZW5k
aWYKK30KKwogI2lmZGVmIFVTRV9XRUJQUk9DRVNTX0VWRU5UX1NJTVVMQVRJT04KIHZvaWQgRXZl
bnRTZW5kaW5nQ29udHJvbGxlcjo6dXBkYXRlQ2xpY2tDb3VudChXS0V2ZW50TW91c2VCdXR0b24g
YnV0dG9uKQogewpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaAppbmRleCA0MTNiOTFjLi42OWM1
NGY5IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2
ZW50U2VuZGluZ0NvbnRyb2xsZXIuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaApAQCAtNTIsNiArNTIsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCBtb3VzZU1vdmVUbyhpbnQgeCwgaW50IHkpOwogICAgIHZvaWQgbW91c2VT
Y3JvbGxCeShpbnQgeCwgaW50IHkpOwogICAgIHZvaWQgY29udGludW91c01vdXNlU2Nyb2xsQnko
aW50IHgsIGludCB5LCBib29sIHBhZ2VkKTsKKyAgICBKU1ZhbHVlUmVmIGNvbnRleHRDbGljaygp
OwogICAgIHZvaWQgbGVhcEZvcndhcmQoaW50IG1pbGxpc2Vjb25kcyk7CiAgICAgdm9pZCBzY2hl
ZHVsZUFzeW5jaHJvbm91c0NsaWNrKCk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167078</attachid>
            <date>2012-10-04 05:14:07 -0700</date>
            <delta_ts>2012-10-04 07:58:02 -0700</delta_ts>
            <desc> eventSender.contextClick() method partially implemented.</desc>
            <filename>contextClick.patch</filename>
            <type>text/plain</type>
            <size>18238</size>
            <attacher name="Wojciech Bielawski">w.bielawski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBlZjViY2U2Li44YjE3Y2JiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDkt
MTQgIFdvamNpZWNoIEJpZWxhd3NraSAgPHcuYmllbGF3c2tpQHNhbXN1bmcuY29tPgorCisgICAg
ICAgIFtXSzJdW1dLVFJdIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgZXZlbnRTZW5kZXIuY29udGV4
dENsaWNrKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTg2ODgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgZXhwZWN0ZWQgcmVzdWx0cyBmb3IgdHdvIHRlc3RzIGZvciBFRkwgcGxhdGZvcm0uCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0yLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZWZsL2Zhc3QvZXZlbnRzL2NvbnRl
eHQtbm8tZGVzZWxlY3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAxMi0xMC0wNCAgSGFyYWxk
IEFsdmVzdHJhbmQgIDxodGFAZ29vZ2xlLmNvbT4KIAogICAgICAgICBDaGFuZ2UgUlRDUGVlckNv
bm5lY3Rpb24gR2V0U3RhdHMgdG8gdXNlIERhdGUgdGltZXN0YW1wIGZvcm1hdApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsLXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZWZsLXdrMS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDFjNzJjNWEuLmU3
ZTM0YTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC13azEvVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwtd2sxL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTEzMCwzICsxMzAsMjQgQEAgd2Via2l0Lm9yZy9iLzk2NjIwIGh0dHAvdGVzdHMvbG9h
ZGluZy90ZXh0LWNvbnRlbnQtdHlwZS13aXRoLWJpbmFyeS1leHRlbnNpb24uaHQKIAogIyBOZWVk
cyBjdXN0b20gcG9saWN5IGRlbGVnYXRlIGVuaGFuY2VtZW50IHRvIGxvZyBkb3dubG9hZHMgLSBF
RkwgcG9ydCBpcyBtaXNzaW5nIGFwaSBmb3IgZ2V0dGluZyBoZWFkZXIgZmllbGRzIGZyb20gSFRU
UCByZXNwb25zZXMuCiB3ZWJraXQub3JnL2IvODc5NzQgaHR0cC90ZXN0cy9kb3dubG9hZCBbIEZh
aWx1cmUgXQorCisjIEVGTCdzIEV2ZW50U2VuZGVyIGRvZXMgbm90IGltcGxlbWVudCBjb250ZXh0
Q2xpY2sgeWV0Cit3ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktc3Rh
bmRhbG9uZS1pbWFnZS1jcmFzaC5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvODYwOTEg
ZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0xLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcv
Yi84NjA5MSBlZGl0aW5nL3NlbGVjdGlvbi9idXR0b24tcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1
cmUgXQord2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc2VsZWN0aW9uL2NvbnRleHQtbWVudS1v
bi10ZXh0Lmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3NlbGVj
dGlvbi9jb250ZXh0LW1lbnUtdGV4dC1zZWxlY3Rpb24uaHRtbCBbIEZhaWx1cmUgXQord2Via2l0
Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc2VsZWN0aW9uL2VtcHR5LWNlbGwtcmlnaHQtY2xpY2suaHRt
bCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc3BlbGxpbmcvY29udGV4
dC1tZW51LXN1Z2dlc3Rpb25zLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBl
ZGl0aW5nL3NwZWxsaW5nL3NwZWxsY2hlY2staW5wdXQtc2VhcmNoLWNyYXNoLmh0bWwgWyBGYWls
dXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBmYXN0L2V2ZW50cy9jb250ZXh0LW9ubW91c2Vkb3du
LWV2ZW50Lmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBmYXN0L2V2ZW50cy9j
b250ZXh0bWVudS1zY3JvbGxlZC1wYWdlLXdpdGgtZnJhbWUuaHRtbCBbIEZhaWx1cmUgXQord2Vi
a2l0Lm9yZy9iLzg2MDkxIGZhc3QvZXZlbnRzL3JpZ2h0LWNsaWNrLWZvY3VzLmh0bWwgWyBGYWls
dXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBmYXN0L2V2ZW50cy9zZWxlY3RzdGFydC1wcmV2ZW50
LXNlbGVjdGlvbi1vbi1yaWdodC1jbGljay5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2Iv
ODYwOTEgbWVkaWEvY29udGV4dC1tZW51LWFjdGlvbnMuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0
Lm9yZy9iLzg2MDkxIG1lZGlhL2NvbnRyb2xzLXJpZ2h0LWNsaWNrLW9uLXRpbWViYXIuaHRtbCBb
IEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc2hhZG93L3JpZ2h0Y2xpY2st
b24tbWV0ZXItaW4tc2hhZG93LWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KKworIyBFRkwncyBFdmVu
dFNlbmRlciBjb250ZXh0Q2xpY2ssIG5lZWRzIGJhc2VsaW5lcword2Via2l0Lm9yZy9iLzg2MDkx
IGVkaXRpbmcvc2VsZWN0aW9uLzUzNTQ0NTUtMi5odG1sIFsgTWlzc2luZyBdCit3ZWJraXQub3Jn
L2IvODYwOTEgZmFzdC9ldmVudHMvY29udGV4dC1uby1kZXNlbGVjdC5odG1sIFsgTWlzc2luZyBd
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGNmNjM1NTku
LjdmMzRmNzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0
YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCkBA
IC0xMjM4LDI2ICsxMjM4LDE1IEBAIHdlYmtpdC5vcmcvYi84MjE0MCBpbnNwZWN0b3IvZ2VvbG9j
YXRpb24tZXJyb3IuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzgyMTQwIGluc3BlY3Rv
ci9nZW9sb2NhdGlvbi1zdWNjZXNzLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi84MjE0
MCBpbnNwZWN0b3IvZ2VvbG9jYXRpb24td2F0Y2hQb3NpdGlvbi5odG1sIFsgRmFpbHVyZSBdCiAK
LSMgRUZMJ3MgRXZlbnRTZW5kZXIgZG9lcyBub3QgaW1wbGVtZW50IGNvbnRleHRDbGljayB5ZXQK
LXdlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3Bhc3RlYm9hcmQvY29weS1zdGFuZGFsb25lLWlt
YWdlLWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3Nl
bGVjdGlvbi81MzU0NDU1LTEuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIGVk
aXRpbmcvc2VsZWN0aW9uL2J1dHRvbi1yaWdodC1jbGljay5odG1sIFsgRmFpbHVyZSBdCi13ZWJr
aXQub3JnL2IvODYwOTEgZWRpdGluZy9zZWxlY3Rpb24vY29udGV4dC1tZW51LW9uLXRleHQuaHRt
bCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc2VsZWN0aW9uL2NvbnRl
eHQtbWVudS10ZXh0LXNlbGVjdGlvbi5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODYw
OTEgZWRpdGluZy9zZWxlY3Rpb24vZW1wdHktY2VsbC1yaWdodC1jbGljay5odG1sIFsgRmFpbHVy
ZSBdCi13ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9zcGVsbGluZy9jb250ZXh0LW1lbnUtc3Vn
Z2VzdGlvbnMuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc3Bl
bGxpbmcvc3BlbGxjaGVjay1pbnB1dC1zZWFyY2gtY3Jhc2guaHRtbCBbIEZhaWx1cmUgXQotd2Vi
a2l0Lm9yZy9iLzg2MDkxIGZhc3QvZXZlbnRzL2NvbnRleHQtb25tb3VzZWRvd24tZXZlbnQuaHRt
bCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIGZhc3QvZXZlbnRzL2NvbnRleHRtZW51
LXNjcm9sbGVkLXBhZ2Utd2l0aC1mcmFtZS5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2Iv
ODYwOTEgZmFzdC9ldmVudHMvcmlnaHQtY2xpY2stZm9jdXMuaHRtbCBbIEZhaWx1cmUgXQotd2Vi
a2l0Lm9yZy9iLzg2MDkxIGZhc3QvZXZlbnRzL3NlbGVjdHN0YXJ0LXByZXZlbnQtc2VsZWN0aW9u
LW9uLXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84NjA5MSBtZWRp
YS9jb250ZXh0LW1lbnUtYWN0aW9ucy5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODYw
OTEgbWVkaWEvY29udHJvbHMtcmlnaHQtY2xpY2stb24tdGltZWJhci5odG1sIFsgRmFpbHVyZSBd
Ci13ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9zaGFkb3cvcmlnaHRjbGljay1vbi1tZXRlci1p
bi1zaGFkb3ctY3Jhc2guaHRtbCBbIEZhaWx1cmUgXQotCi0jIEVGTCdzIEV2ZW50U2VuZGVyIGNv
bnRleHRDbGljaywgbmVlZHMgYmFzZWxpbmVzCi13ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9z
ZWxlY3Rpb24vNTM1NDQ1NS0yLmh0bWwgWyBNaXNzaW5nIF0KLXdlYmtpdC5vcmcvYi84NjA5MSBm
YXN0L2V2ZW50cy9jb250ZXh0LW5vLWRlc2VsZWN0Lmh0bWwgWyBNaXNzaW5nIF0KKyMgRUZMIElt
cGxlbWVudGF0aW9uIG9mIHNwZWxsY2hlY2tpbmcgZmVhdHVyZQord2Via2l0Lm9yZy9iLzkxODU0
IGVkaXRpbmcvc3BlbGxpbmcvY29udGV4dC1tZW51LXN1Z2dlc3Rpb25zLmh0bWwgWyBGYWlsdXJl
IF0KKworIyBFRkwncyBFdmVudFNlbmRlciBjb250ZXh0Q2xpY2sgc2hvdWxkIHJldHVybiBvYmpl
Y3RzIHRoYXQgaW1wbGVtZW50cyBjbGljaygpIG1ldGhvZAord2Via2l0Lm9yZy9iLzg2ODgxIGVk
aXRpbmcvcGFzdGVib2FyZC9jb3B5LXN0YW5kYWxvbmUtaW1hZ2UtY3Jhc2guaHRtbCBbIEZhaWx1
cmUgXQord2Via2l0Lm9yZy9iLzg2ODgxIG1lZGlhL2NvbnRleHQtbWVudS1hY3Rpb25zLmh0bWwg
WyBGYWlsdXJlIF0KKworIyBFRkwgU2VsZWN0aW9uIHR5cGUgaXMgbm90IHNldCBjb3JyZWN0bHkK
K0J1ZyhFRkwpIHdlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3NlbGVjdGlvbi81MzU0NDU1LTEu
aHRtbCBbIEZhaWx1cmUgXQogCiAjIElFVEMgbmFtZXNwYWNlIGZhaWx1cmVzCiB3ZWJraXQub3Jn
L2IvODYxNDIgaWV0ZXN0Y2VudGVyL2NzczMvbmFtZXNwYWNlcy9zeW50YXgtMDIxLnhtbCBbIElt
YWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2Vk
aXRpbmcvc2VsZWN0aW9uLzUzNTQ0NTUtMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9lZmwvZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0yLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTFlZDllCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2VkaXRpbmcvc2VsZWN0aW9uLzUzNTQ0NTUtMi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwyOSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisg
IFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIg
YXQgKDgsOCkgc2l6ZSA2MTJ4MjQxCisgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUg
NjEyeDI0MSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQorICAgIFJlbmRlckJsb2NrIHtI
MX0gYXQgKDYsNikgc2l6ZSA2MDB4NjQKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDU0NHg2NQorICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA1NDQ6ICJXb3Jk
IHNlbGVjdGlvbiBvbiIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsMzIpIHdpZHRoIDUxMjogInJp
Z2h0IGNsaWNrIHRlc3QiCisgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDYsOTEpIHNp
emUgNjAweDE0NAorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNTYweDY1
CisgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDU0NDogIlRoaXMgdGVzdHMgdG8gbWFr
ZSBzdXJlIHRoYXQgcmlnaHQiCisgICAgICAgIHRleHQgcnVuIGF0ICgwLDE2KSB3aWR0aCA1NDQ6
ICJjbGlja2luZyBub24tZWRpdGFibGUgY29udGVudCBvbmx5IgorICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwzMikgd2lkdGggNTYwOiAiY3JlYXRlcyBhIHdvcmQgc2VsZWN0aW9uIGZvciBjbGlja3Mi
CisgICAgICAgIHRleHQgcnVuIGF0ICgwLDQ4KSB3aWR0aCAxNzY6ICJvdmVyIHRleHQuICIKKyAg
ICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAzMngxNworICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDE3Niw0OCkgc2l6ZSAzMngxNworICAgICAgICAgIHRleHQgcnVu
IGF0ICgxNzYsNDgpIHdpZHRoIDMyOiAiVG8iCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDIwOCw0OCkgc2l6ZSA1OTJ4OTcKKyAgICAgICAgdGV4dCBydW4gYXQgKDIwOCw0OCkgd2lkdGgg
MzIwOiAiIHJ1biBtYW51YWxseSwgcmlnaHQiCisgICAgICAgIHRleHQgcnVuIGF0ICgwLDY0KSB3
aWR0aCA1NjA6ICJjbGljayBvbiB0ZXh0LCBhbmQgYSB3b3JkIHNob3VsZCBiZSIKKyAgICAgICAg
dGV4dCBydW4gYXQgKDAsODApIHdpZHRoIDE2MDogInNlbGVjdGVkLiAiCisgICAgICAgIHRleHQg
cnVuIGF0ICgxNjAsODApIHdpZHRoIDM4NDogIlJpZ2h0IGNsaWNrIG9uIHRoZSBlbXB0eSIKKyAg
ICAgICAgdGV4dCBydW4gYXQgKDAsOTYpIHdpZHRoIDU5MjogInNwYWNlIG91dHNpZGUgYW5kIHRv
IHRoZSByaWdodCBvZiB0aGUiCisgICAgICAgIHRleHQgcnVuIGF0ICgwLDExMikgd2lkdGggNTky
OiAiYmxhY2sgYm9yZGVyLCB0aGUgc2VsZWN0aW9uIHNob3VsZCBiZSIKKyAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMTI4KSB3aWR0aCAxMjg6ICJyZW1vdmVkLiIKKyAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorY2FyZXQ6IHBvc2l0aW9uIDAgb2YgY2hpbGQgMCB7I3Rl
eHR9IG9mIGNoaWxkIDEge0gxfSBvZiBib2R5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9lZmwvZmFzdC9ldmVudHMvY29udGV4dC1uby1kZXNlbGVjdC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvZmFzdC9ldmVudHMvY29udGV4dC1uby1kZXNlbGVjdC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTNlODVmNgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9mYXN0L2V2ZW50cy9j
b250ZXh0LW5vLWRlc2VsZWN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
K2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4
NTg0CisgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgyLDIpIHNpemUgMzI3eDI2
IFtiZ2NvbG9yPSNGRkZGRkZdCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSAweDAKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorbGF5ZXIg
YXQgKDE0LDE2KSBzaXplIDMyMHgxNiBzY3JvbGxIZWlnaHQgMTcKKyAgUmVuZGVyQmxvY2sge0RJ
Vn0gYXQgKDQsNikgc2l6ZSAzMjB4MTYKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAyNTZ4MTcKKyAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDI1NjogInNvbWUgc2Ft
cGxlIHRleHQiCitzZWxlY3Rpb24gc3RhcnQ6IHBvc2l0aW9uIDUgb2YgY2hpbGQgMCB7I3RleHR9
IG9mIGNoaWxkIDAge0RJVn0gb2YgeyNzaGFkb3ctcm9vdH0gb2YgY2hpbGQgMSB7SU5QVVR9IG9m
IGJvZHkKK3NlbGVjdGlvbiBlbmQ6ICAgcG9zaXRpb24gMTUgb2YgY2hpbGQgMCB7I3RleHR9IG9m
IGNoaWxkIDAge0RJVn0gb2YgeyNzaGFkb3ctcm9vdH0gb2YgY2hpbGQgMSB7SU5QVVR9IG9mIGJv
ZHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwppbmRleCBiYzljMzBmLi5lZmI5NTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjMgQEAKKzIwMTItMDktMTQgIFdvamNpZWNoIEJpZWxhd3NraSAgPHcuYmllbGF3c2tpQHNhbXN1
bmcuY29tPgorCisgICAgICAgIFtXSzJdW1dLVFJdIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgZXZl
bnRTZW5kZXIuY29udGV4dENsaWNrKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTg2ODgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgSW5qZWN0ZWRCdW5kbGUgQVBJIGV4dGVuZGVkIHRvIHJldHJpZXZlIGNv
bnRleHRNZW51IGVudHJpZXMgbmFtZXMuCisgICAgICAgIFdlYkNvbnRleHRNZW51IGV4dGVkZWQg
d2l0aCBmdW5jdGlvbiB0byByZXRyaWV2ZSBtZW51IGl0ZW1zLgorICAgICAgICBUaGlzIEFQSSBp
cyByZXF1aXJlZCBieSBsYXlvdXQgdGVzdHMuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHA6CisgICAgICAgIChXS0J1bmRsZVBhZ2VH
ZXRDb250ZXh0TWVudUVudHJpZXNOYW1lcyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViQ29udGV4dE1lbnUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0TWVudTo6
aXRlbXMpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViQ29udGV4dE1lbnUuaDoKKyAgICAgICAgKFdlYkNvbnRleHRNZW51KToKKwogMjAxMi0xMC0w
NCAgSm9jZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4udHVyY290dGVAZGlnaWEuY29tPgogCiAgICAg
ICAgIFtRdF0gRml4IHRoZSB0c3RfUVF1aWNrV2ViVmlldzo6c2Nyb2xsUmVxdWVzdCBhdXRvIHRl
c3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
QVBJL2MvV0tCdW5kbGVQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcAppbmRleCA1M2RkZjYxLi5iOWEzOTIxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9j
L1dLQnVuZGxlUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCkBAIC0zMCwxMyArMzAsMTggQEAKICNpbmNs
dWRlICJJbmplY3RlZEJ1bmRsZUJhY2tGb3J3YXJkTGlzdC5oIgogI2luY2x1ZGUgIkluamVjdGVk
QnVuZGxlTm9kZUhhbmRsZS5oIgogI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgorI2luY2x1ZGUgIldL
QXJyYXkuaCIKICNpbmNsdWRlICJXS0J1bmRsZUFQSUNhc3QuaCIKKyNpbmNsdWRlICJXS1JldGFp
blB0ci5oIgorI2luY2x1ZGUgIldlYkNvbnRleHRNZW51LmgiCisjaW5jbHVkZSAiV2ViQ29udGV4
dE1lbnVJdGVtLmgiCiAjaW5jbHVkZSAiV2ViRnJhbWUuaCIKICNpbmNsdWRlICJXZWJGdWxsU2Ny
ZWVuTWFuYWdlci5oIgogI2luY2x1ZGUgIldlYkltYWdlLmgiCiAjaW5jbHVkZSAiV2ViUGFnZS5o
IgogI2luY2x1ZGUgIldlYlJlbmRlckxheWVyLmgiCiAjaW5jbHVkZSAiV2ViUmVuZGVyT2JqZWN0
LmgiCisjaW5jbHVkZSAiV2ViU3RyaW5nLmgiCiAjaW5jbHVkZSAiV2ViVVJMLmgiCiAjaW5jbHVk
ZSAiV2ViVVJMUmVxdWVzdC5oIgogCkBAIC0xNDUsNiArMTUwLDI0IEBAIFdLQnVuZGxlRnJhbWVS
ZWYgV0tCdW5kbGVQYWdlR2V0TWFpbkZyYW1lKFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVmKQogICAg
IHJldHVybiB0b0FQSSh0b0ltcGwocGFnZVJlZiktPm1haW5XZWJGcmFtZSgpKTsKIH0KIAorV0tB
cnJheVJlZiBXS0J1bmRsZVBhZ2VDb3B5Q29udGV4dE1lbnVFbnRyaWVzTmFtZXMoV0tCdW5kbGVQ
YWdlUmVmIHBhZ2VSZWYpCit7CisjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCisgICAgV2ViQ29u
dGV4dE1lbnUqIGNvbnRleHRNZW51ID0gdG9JbXBsKHBhZ2VSZWYpLT5jb250ZXh0TWVudSgpOwor
ICAgIFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiBpdGVtcyA9IGNvbnRleHRNZW51LT5p
dGVtcygpOworICAgIE93bkFycmF5UHRyPFdLVHlwZVJlZj4gaXRlbU5hbWVzID0gYWRvcHRBcnJh
eVB0cihuZXcgV0tUeXBlUmVmW2l0ZW1zLnNpemUoKV0pOworICAgIHNpemVfdCBhcnJheUxlbmd0
aCA9IGl0ZW1zLnNpemUoKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGFycmF5TGVuZ3Ro
OyArK2kpIHsKKyAgICAgICAgUmVmUHRyPFdlYlN0cmluZz4gbmFtZSA9IFdlYlN0cmluZzo6Y3Jl
YXRlKGl0ZW1zW2ldLnRpdGxlKCkpOworICAgICAgICBpdGVtTmFtZXNbaV0gPSB0b0FQSShuYW1l
LnJlbGVhc2UoKS5sZWFrUmVmKCkpOworICAgIH0KKworICAgIHJldHVybiBXS0FycmF5Q3JlYXRl
KGl0ZW1OYW1lcy5nZXQoKSwgYXJyYXlMZW5ndGgpOworI2Vsc2UKKyAgICByZXR1cm4gMDsKKyNl
bmRpZgorfQorCiB2b2lkKiBXS0FjY2Vzc2liaWxpdHlSb290T2JqZWN0KFdLQnVuZGxlUGFnZVJl
ZiBwYWdlUmVmKQogewogI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUHJp
dmF0ZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9X
S0J1bmRsZVBhZ2VQcml2YXRlLmgKaW5kZXggMTFiMjBkYy4uYjRlMGYzMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBh
Z2VQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9BUEkvYy9XS0J1bmRsZVBhZ2VQcml2YXRlLmgKQEAgLTc3LDYgKzc3LDggQEAgV0tfRVhQT1JU
IGJvb2wgV0tCdW5kbGVQYWdlQ2FuU2hvd01JTUVUeXBlKFdLQnVuZGxlUGFnZVJlZiwgV0tTdHJp
bmdSZWYgbWltZVR5cGUKIFdLX0VYUE9SVCB2b2lkKiBXS0FjY2Vzc2liaWxpdHlSb290T2JqZWN0
KFdLQnVuZGxlUGFnZVJlZik7CiBXS19FWFBPUlQgdm9pZCogV0tBY2Nlc3NpYmlsaXR5Rm9jdXNl
ZE9iamVjdChXS0J1bmRsZVBhZ2VSZWYpOwogCitXS19FWFBPUlQgV0tBcnJheVJlZiBXS0J1bmRs
ZVBhZ2VDb3B5Q29udGV4dE1lbnVFbnRyaWVzTmFtZXMoV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYp
OworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5jcHAKaW5kZXggM2E5MWQ5MC4u
M2M4MTBkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YkNvbnRleHRNZW51LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViQ29udGV4dE1lbnUuY3BwCkBAIC05NSw2ICs5NSwzMiBAQCB2b2lkIFdlYkNvbnRleHRNZW51
OjppdGVtU2VsZWN0ZWQoY29uc3QgV2ViQ29udGV4dE1lbnVJdGVtRGF0YSYgaXRlbSkKICAgICBt
X3BhZ2UtPmNvcmVQYWdlKCktPmNvbnRleHRNZW51Q29udHJvbGxlcigpLT5jb250ZXh0TWVudUl0
ZW1TZWxlY3RlZCgmY29yZUl0ZW0pOwogfQogCitWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0
YT4gV2ViQ29udGV4dE1lbnU6Oml0ZW1zKCkgY29uc3QKK3sKKyAgICBWZWN0b3I8V2ViQ29udGV4
dE1lbnVJdGVtRGF0YT4gcHJvcG9zZWRNZW51OworICAgIENvbnRleHRNZW51Q29udHJvbGxlciog
Y29udHJvbGxlciA9IG1fcGFnZS0+Y29yZVBhZ2UoKS0+Y29udGV4dE1lbnVDb250cm9sbGVyKCk7
CisgICAgaWYgKCFjb250cm9sbGVyKQorICAgICAgICByZXR1cm4gcHJvcG9zZWRNZW51OworICAg
IENvbnRleHRNZW51KiBtZW51ID0gY29udHJvbGxlci0+Y29udGV4dE1lbnUoKTsKKyAgICBpZiAo
IW1lbnUpCisgICAgICAgIHJldHVybiBwcm9wb3NlZE1lbnU7CisKKyAgICAvLyBHaXZlIHRoZSBi
dW5kbGUgY2xpZW50IGEgY2hhbmNlIHRvIHByb2Nlc3MgdGhlIG1lbnUuCisjaWYgVVNFKENST1NT
X1BMQVRGT1JNX0NPTlRFWFRfTUVOVVMpCisgICAgY29uc3QgVmVjdG9yPENvbnRleHRNZW51SXRl
bT4mIGNvcmVJdGVtcyA9IG1lbnUtPml0ZW1zKCk7CisjZWxzZQorICAgIFZlY3RvcjxDb250ZXh0
TWVudUl0ZW0+IGNvcmVJdGVtcyA9IGNvbnRleHRNZW51SXRlbVZlY3RvcihtZW51LT5wbGF0Zm9y
bURlc2NyaXB0aW9uKCkpOworI2VuZGlmCisgICAgcHJvcG9zZWRNZW51ID0ga2l0SXRlbXMoY29y
ZUl0ZW1zLCBtZW51KTsKKyAgICBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4gbmV3TWVu
dTsKKyAgICBSZWZQdHI8QVBJT2JqZWN0PiB1c2VyRGF0YTsKKyAgICBSZWZQdHI8SW5qZWN0ZWRC
dW5kbGVIaXRUZXN0UmVzdWx0PiBoaXRUZXN0UmVzdWx0ID0gSW5qZWN0ZWRCdW5kbGVIaXRUZXN0
UmVzdWx0OjpjcmVhdGUoY29udHJvbGxlci0+aGl0VGVzdFJlc3VsdCgpKTsKKyAgICBpZiAobV9w
YWdlLT5pbmplY3RlZEJ1bmRsZUNvbnRleHRNZW51Q2xpZW50KCkuZ2V0Q3VzdG9tTWVudUZyb21E
ZWZhdWx0SXRlbXMobV9wYWdlLCBoaXRUZXN0UmVzdWx0LmdldCgpLCBwcm9wb3NlZE1lbnUsIG5l
d01lbnUsIHVzZXJEYXRhKSkKKyAgICAgICAgcHJvcG9zZWRNZW51ID0gbmV3TWVudTsKKworICAg
IHJldHVybiBwcm9wb3NlZE1lbnU7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5k
aWYgLy8gRU5BQkxFKENPTlRFWFRfTUVOVVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5oCmluZGV4IGM4YTVmNWEuLmRmMDgzZDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVu
dS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVu
dS5oCkBAIC00Myw2ICs0Myw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2hvdygpOwogICAgIHZv
aWQgaXRlbVNlbGVjdGVkKGNvbnN0IFdlYkNvbnRleHRNZW51SXRlbURhdGEmKTsKKyAgICBWZWN0
b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4gaXRlbXMoKSBjb25zdDsKIAogcHJpdmF0ZToKICAg
ICBXZWJDb250ZXh0TWVudShXZWJQYWdlKik7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTgzNGZiYi4uYjY1NmMxNiAxMDA2NDQKLS0tIGEvVG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEy
LTA5LTE0ICBXb2pjaWVjaCBCaWVsYXdza2kgIDx3LmJpZWxhd3NraUBzYW1zdW5nLmNvbT4KKwor
ICAgICAgICBbV0syXVtXS1RSXSBXZWJLaXRUZXN0UnVubmVyIG5lZWRzIGV2ZW50U2VuZGVyLmNv
bnRleHRDbGljaygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04Njg4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIGV2ZW50U2VuZGVyIG9iamVjdCBleHRlbmRlZCB3aXRoIGNvbnRleHRDbGljaygpIG1ldGhv
ZCBpbiBXZWJLaXRUZXN0UnVubmVyLgorICAgICAgICBjb250ZXh0Q2xpY2soKSBtZXRob2QgcmV0
dXJucyBhbiBhcnJheSBvZiBtZW51IGl0ZW1zIG9iamVjdHMgd2l0aCBmaWVsZCAndGl0bGUnIGNv
bnRhaW5pbmcgdGl0bGUgb2Ygc2luZ2xlCisgICAgICAgIGNvbnRleHQgbWVudSBlbnRyeS4gQWNj
b3JkaW5nIHRvIHNvbWUgdGVzdHMgbWVudSBpdGVtcyBvYmplY3RzIHNoYWxsIGFsc28gc3VwcG9y
dCAnY2xpY2soKScgbWV0aG9kLCBidXQgaXQncyBub3QKKyAgICAgICAgZGVsaXZlcmVkIGluIHRo
aXMgcGF0Y2guCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Jp
bmRpbmdzL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaWRsOgorICAgICAgICAqIFdlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5jcHA6CisgICAgICAg
IChXVFI6OkV2ZW50U2VuZGluZ0NvbnRyb2xsZXI6OmNvbnRleHRDbGljayk6CisgICAgICAgIChX
VFIpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5k
aW5nQ29udHJvbGxlci5oOgorICAgICAgICAoRXZlbnRTZW5kaW5nQ29udHJvbGxlcik6CisKIDIw
MTItMTAtMDQgIEhhcmFsZCBBbHZlc3RyYW5kICA8aHRhQGdvb2dsZS5jb20+CiAKICAgICAgICAg
Q2hhbmdlIFJUQ1BlZXJDb25uZWN0aW9uIEdldFN0YXRzIHRvIHVzZSBEYXRlIHRpbWVzdGFtcCBm
b3JtYXQKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
QmluZGluZ3MvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5pZGwgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaWRsCmlu
ZGV4IGNmZjc1ZjIuLjVmZjAyYzAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5pZGwKKysrIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9FdmVudFNlbmRp
bmdDb250cm9sbGVyLmlkbApAQCAtMzEsNiArMzEsNyBAQCBtb2R1bGUgV1RSIHsKICAgICAgICAg
dm9pZCBtb3VzZU1vdmVUbyhpbiBsb25nIHgsIGluIGxvbmcgeSk7CiAgICAgICAgIHZvaWQgbW91
c2VTY3JvbGxCeShpbiBsb25nIHgsIGluIGxvbmcgeSk7CiAgICAgICAgIHZvaWQgY29udGludW91
c01vdXNlU2Nyb2xsQnkoaW4gbG9uZyB4LCBpbiBsb25nIHksIGluIFtPcHRpb25hbF0gYm9vbGVh
biBwYWdlZCk7CisgICAgICAgIG9iamVjdCBjb250ZXh0Q2xpY2soKTsKICAgICAgICAgdm9pZCBz
Y2hlZHVsZUFzeW5jaHJvbm91c0NsaWNrKCk7CiAKICAgICAgICAgdm9pZCBsZWFwRm9yd2FyZChp
biBsb25nIG1pbGxpc2Vjb25kcyk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmNwcAppbmRl
eCBiZjZkOWJjLi5lZDc5YWM1IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5jcHAKQEAg
LTMxOSw2ICszMTksMzYgQEAgdm9pZCBFdmVudFNlbmRpbmdDb250cm9sbGVyOjpjb250aW51b3Vz
TW91c2VTY3JvbGxCeShpbnQgeCwgaW50IHksIGJvb2wgcGFnZWQpCiAgICAgV0tCdW5kbGVQb3N0
U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5idW5kbGUoKSwgRXZl
bnRTZW5kZXJNZXNzYWdlTmFtZS5nZXQoKSwgRXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwg
MCk7CiB9CiAKK0pTVmFsdWVSZWYgRXZlbnRTZW5kaW5nQ29udHJvbGxlcjo6Y29udGV4dENsaWNr
KCkKK3sKKyAgICBXS0J1bmRsZVBhZ2VSZWYgcGFnZSA9IEluamVjdGVkQnVuZGxlOjpzaGFyZWQo
KS5wYWdlKCktPnBhZ2UoKTsKKyAgICBXS0J1bmRsZUZyYW1lUmVmIG1haW5GcmFtZSA9IFdLQnVu
ZGxlUGFnZUdldE1haW5GcmFtZShwYWdlKTsKKyAgICBKU0NvbnRleHRSZWYgY29udGV4dCA9IFdL
QnVuZGxlRnJhbWVHZXRKYXZhU2NyaXB0Q29udGV4dChtYWluRnJhbWUpOworI2lmIEVOQUJMRShD
T05URVhUX01FTlVTKQorICAgIC8vIERvIG1vdXNlIGNvbnRleHQgY2xpY2suCisgICAgbW91c2VE
b3duKDIsIDApOworICAgIG1vdXNlVXAoMiwgMCk7CisKKyAgICBXS1JldGFpblB0cjxXS0FycmF5
UmVmPiBlbnRyaWVzTmFtZXMgPSBhZG9wdFdLKFdLQnVuZGxlUGFnZUNvcHlDb250ZXh0TWVudUVu
dHJpZXNOYW1lcyhwYWdlKSk7CisgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IGpzUHJvcGVy
dHlOYW1lKEFkb3B0LCBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygidGl0bGUiKSk7Cisg
ICAgc2l6ZV90IGVudHJpZXNTaXplID0gV0tBcnJheUdldFNpemUoZW50cmllc05hbWVzLmdldCgp
KTsKKyAgICBPd25BcnJheVB0cjxKU1ZhbHVlUmVmPiBqc1ZhbHVlc0FycmF5ID0gYWRvcHRBcnJh
eVB0cihuZXcgSlNWYWx1ZVJlZltlbnRyaWVzU2l6ZV0pOworICAgIGZvciAoc2l6ZV90IGkgPSAw
OyBpIDwgZW50cmllc1NpemU7ICsraSkgeworICAgICAgICBBU1NFUlQoV0tHZXRUeXBlSUQoV0tB
cnJheUdldEl0ZW1BdEluZGV4KGVudHJpZXNOYW1lcy5nZXQoKSwgaSkpID09IFdLU3RyaW5nR2V0
VHlwZUlEKCkpOworICAgICAgICBXS1N0cmluZ1JlZiB3a0VudHJ5TmFtZSA9IHN0YXRpY19jYXN0
PFdLU3RyaW5nUmVmPihXS0FycmF5R2V0SXRlbUF0SW5kZXgoZW50cmllc05hbWVzLmdldCgpLCBp
KSk7CisgICAgICAgIEpTT2JqZWN0UmVmIGpzSXRlbU9iamVjdCA9IEpTT2JqZWN0TWFrZShjb250
ZXh0LCAwLCAwKTsKKyAgICAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IGpzTmFtZUNvcHko
QWRvcHQsIFdLU3RyaW5nQ29weUpTU3RyaW5nKHdrRW50cnlOYW1lKSk7CisgICAgICAgIEpTVmFs
dWVSZWYganNFbnRyeU5hbWUgPSBKU1ZhbHVlTWFrZVN0cmluZyhjb250ZXh0LCBqc05hbWVDb3B5
LmdldCgpKTsKKyAgICAgICAgSlNPYmplY3RTZXRQcm9wZXJ0eShjb250ZXh0LCBqc0l0ZW1PYmpl
Y3QsIGpzUHJvcGVydHlOYW1lLmdldCgpLCBqc0VudHJ5TmFtZSwga0pTUHJvcGVydHlBdHRyaWJ1
dGVSZWFkT25seSwgMCk7CisgICAgICAgIGpzVmFsdWVzQXJyYXlbaV0gPSBqc0l0ZW1PYmplY3Q7
CisgICAgfQorCisgICAgcmV0dXJuIEpTT2JqZWN0TWFrZUFycmF5KGNvbnRleHQsIGVudHJpZXNT
aXplLCBqc1ZhbHVlc0FycmF5LmdldCgpLCAwKTsKKyNlbHNlCisgICAgcmV0dXJuIEpTVmFsdWVN
YWtlVW5kZWZpbmVkKGNvbnRleHQpOworI2VuZGlmCit9CisKICNpZmRlZiBVU0VfV0VCUFJPQ0VT
U19FVkVOVF9TSU1VTEFUSU9OCiB2b2lkIEV2ZW50U2VuZGluZ0NvbnRyb2xsZXI6OnVwZGF0ZUNs
aWNrQ291bnQoV0tFdmVudE1vdXNlQnV0dG9uIGJ1dHRvbikKIHsKZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5o
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250
cm9sbGVyLmgKaW5kZXggNDEzYjkxYy4uNjljNTRmOSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmgKKysrIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9s
bGVyLmgKQEAgLTUyLDYgKzUyLDcgQEAgcHVibGljOgogICAgIHZvaWQgbW91c2VNb3ZlVG8oaW50
IHgsIGludCB5KTsKICAgICB2b2lkIG1vdXNlU2Nyb2xsQnkoaW50IHgsIGludCB5KTsKICAgICB2
b2lkIGNvbnRpbnVvdXNNb3VzZVNjcm9sbEJ5KGludCB4LCBpbnQgeSwgYm9vbCBwYWdlZCk7Cisg
ICAgSlNWYWx1ZVJlZiBjb250ZXh0Q2xpY2soKTsKICAgICB2b2lkIGxlYXBGb3J3YXJkKGludCBt
aWxsaXNlY29uZHMpOwogICAgIHZvaWQgc2NoZWR1bGVBc3luY2hyb25vdXNDbGljaygpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167104</attachid>
            <date>2012-10-04 07:58:02 -0700</date>
            <delta_ts>2012-10-16 03:31:47 -0700</delta_ts>
            <desc>eventSender.contextClick() method partially implemented.</desc>
            <filename>contextClick.patch</filename>
            <type>text/plain</type>
            <size>17987</size>
            <attacher name="Wojciech Bielawski">w.bielawski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBlZjViY2U2Li44YjE3Y2JiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDkt
MTQgIFdvamNpZWNoIEJpZWxhd3NraSAgPHcuYmllbGF3c2tpQHNhbXN1bmcuY29tPgorCisgICAg
ICAgIFtXSzJdW1dLVFJdIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgZXZlbnRTZW5kZXIuY29udGV4
dENsaWNrKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTg2ODgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgZXhwZWN0ZWQgcmVzdWx0cyBmb3IgdHdvIHRlc3RzIGZvciBFRkwgcGxhdGZvcm0uCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0yLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZWZsL2Zhc3QvZXZlbnRzL2NvbnRl
eHQtbm8tZGVzZWxlY3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAxMi0xMC0wNCAgSGFyYWxk
IEFsdmVzdHJhbmQgIDxodGFAZ29vZ2xlLmNvbT4KIAogICAgICAgICBDaGFuZ2UgUlRDUGVlckNv
bm5lY3Rpb24gR2V0U3RhdHMgdG8gdXNlIERhdGUgdGltZXN0YW1wIGZvcm1hdApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsLXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZWZsLXdrMS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDFjNzJjNWEuLmU3
ZTM0YTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC13azEvVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwtd2sxL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTEzMCwzICsxMzAsMjQgQEAgd2Via2l0Lm9yZy9iLzk2NjIwIGh0dHAvdGVzdHMvbG9h
ZGluZy90ZXh0LWNvbnRlbnQtdHlwZS13aXRoLWJpbmFyeS1leHRlbnNpb24uaHQKIAogIyBOZWVk
cyBjdXN0b20gcG9saWN5IGRlbGVnYXRlIGVuaGFuY2VtZW50IHRvIGxvZyBkb3dubG9hZHMgLSBF
RkwgcG9ydCBpcyBtaXNzaW5nIGFwaSBmb3IgZ2V0dGluZyBoZWFkZXIgZmllbGRzIGZyb20gSFRU
UCByZXNwb25zZXMuCiB3ZWJraXQub3JnL2IvODc5NzQgaHR0cC90ZXN0cy9kb3dubG9hZCBbIEZh
aWx1cmUgXQorCisjIEVGTCdzIEV2ZW50U2VuZGVyIGRvZXMgbm90IGltcGxlbWVudCBjb250ZXh0
Q2xpY2sgeWV0Cit3ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktc3Rh
bmRhbG9uZS1pbWFnZS1jcmFzaC5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvODYwOTEg
ZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0xLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcv
Yi84NjA5MSBlZGl0aW5nL3NlbGVjdGlvbi9idXR0b24tcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1
cmUgXQord2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc2VsZWN0aW9uL2NvbnRleHQtbWVudS1v
bi10ZXh0Lmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3NlbGVj
dGlvbi9jb250ZXh0LW1lbnUtdGV4dC1zZWxlY3Rpb24uaHRtbCBbIEZhaWx1cmUgXQord2Via2l0
Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc2VsZWN0aW9uL2VtcHR5LWNlbGwtcmlnaHQtY2xpY2suaHRt
bCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc3BlbGxpbmcvY29udGV4
dC1tZW51LXN1Z2dlc3Rpb25zLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBl
ZGl0aW5nL3NwZWxsaW5nL3NwZWxsY2hlY2staW5wdXQtc2VhcmNoLWNyYXNoLmh0bWwgWyBGYWls
dXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBmYXN0L2V2ZW50cy9jb250ZXh0LW9ubW91c2Vkb3du
LWV2ZW50Lmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBmYXN0L2V2ZW50cy9j
b250ZXh0bWVudS1zY3JvbGxlZC1wYWdlLXdpdGgtZnJhbWUuaHRtbCBbIEZhaWx1cmUgXQord2Vi
a2l0Lm9yZy9iLzg2MDkxIGZhc3QvZXZlbnRzL3JpZ2h0LWNsaWNrLWZvY3VzLmh0bWwgWyBGYWls
dXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBmYXN0L2V2ZW50cy9zZWxlY3RzdGFydC1wcmV2ZW50
LXNlbGVjdGlvbi1vbi1yaWdodC1jbGljay5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2Iv
ODYwOTEgbWVkaWEvY29udGV4dC1tZW51LWFjdGlvbnMuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0
Lm9yZy9iLzg2MDkxIG1lZGlhL2NvbnRyb2xzLXJpZ2h0LWNsaWNrLW9uLXRpbWViYXIuaHRtbCBb
IEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc2hhZG93L3JpZ2h0Y2xpY2st
b24tbWV0ZXItaW4tc2hhZG93LWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KKworIyBFRkwncyBFdmVu
dFNlbmRlciBjb250ZXh0Q2xpY2ssIG5lZWRzIGJhc2VsaW5lcword2Via2l0Lm9yZy9iLzg2MDkx
IGVkaXRpbmcvc2VsZWN0aW9uLzUzNTQ0NTUtMi5odG1sIFsgTWlzc2luZyBdCit3ZWJraXQub3Jn
L2IvODYwOTEgZmFzdC9ldmVudHMvY29udGV4dC1uby1kZXNlbGVjdC5odG1sIFsgTWlzc2luZyBd
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGNmNjM1NTku
LjU4MDEzOWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0
YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCkBA
IC0xMjM4LDI2ICsxMjM4LDE1IEBAIHdlYmtpdC5vcmcvYi84MjE0MCBpbnNwZWN0b3IvZ2VvbG9j
YXRpb24tZXJyb3IuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzgyMTQwIGluc3BlY3Rv
ci9nZW9sb2NhdGlvbi1zdWNjZXNzLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi84MjE0
MCBpbnNwZWN0b3IvZ2VvbG9jYXRpb24td2F0Y2hQb3NpdGlvbi5odG1sIFsgRmFpbHVyZSBdCiAK
LSMgRUZMJ3MgRXZlbnRTZW5kZXIgZG9lcyBub3QgaW1wbGVtZW50IGNvbnRleHRDbGljayB5ZXQK
LXdlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3Bhc3RlYm9hcmQvY29weS1zdGFuZGFsb25lLWlt
YWdlLWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3Nl
bGVjdGlvbi81MzU0NDU1LTEuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIGVk
aXRpbmcvc2VsZWN0aW9uL2J1dHRvbi1yaWdodC1jbGljay5odG1sIFsgRmFpbHVyZSBdCi13ZWJr
aXQub3JnL2IvODYwOTEgZWRpdGluZy9zZWxlY3Rpb24vY29udGV4dC1tZW51LW9uLXRleHQuaHRt
bCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc2VsZWN0aW9uL2NvbnRl
eHQtbWVudS10ZXh0LXNlbGVjdGlvbi5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODYw
OTEgZWRpdGluZy9zZWxlY3Rpb24vZW1wdHktY2VsbC1yaWdodC1jbGljay5odG1sIFsgRmFpbHVy
ZSBdCi13ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9zcGVsbGluZy9jb250ZXh0LW1lbnUtc3Vn
Z2VzdGlvbnMuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc3Bl
bGxpbmcvc3BlbGxjaGVjay1pbnB1dC1zZWFyY2gtY3Jhc2guaHRtbCBbIEZhaWx1cmUgXQotd2Vi
a2l0Lm9yZy9iLzg2MDkxIGZhc3QvZXZlbnRzL2NvbnRleHQtb25tb3VzZWRvd24tZXZlbnQuaHRt
bCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIGZhc3QvZXZlbnRzL2NvbnRleHRtZW51
LXNjcm9sbGVkLXBhZ2Utd2l0aC1mcmFtZS5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2Iv
ODYwOTEgZmFzdC9ldmVudHMvcmlnaHQtY2xpY2stZm9jdXMuaHRtbCBbIEZhaWx1cmUgXQotd2Vi
a2l0Lm9yZy9iLzg2MDkxIGZhc3QvZXZlbnRzL3NlbGVjdHN0YXJ0LXByZXZlbnQtc2VsZWN0aW9u
LW9uLXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84NjA5MSBtZWRp
YS9jb250ZXh0LW1lbnUtYWN0aW9ucy5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODYw
OTEgbWVkaWEvY29udHJvbHMtcmlnaHQtY2xpY2stb24tdGltZWJhci5odG1sIFsgRmFpbHVyZSBd
Ci13ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9zaGFkb3cvcmlnaHRjbGljay1vbi1tZXRlci1p
bi1zaGFkb3ctY3Jhc2guaHRtbCBbIEZhaWx1cmUgXQotCi0jIEVGTCdzIEV2ZW50U2VuZGVyIGNv
bnRleHRDbGljaywgbmVlZHMgYmFzZWxpbmVzCi13ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9z
ZWxlY3Rpb24vNTM1NDQ1NS0yLmh0bWwgWyBNaXNzaW5nIF0KLXdlYmtpdC5vcmcvYi84NjA5MSBm
YXN0L2V2ZW50cy9jb250ZXh0LW5vLWRlc2VsZWN0Lmh0bWwgWyBNaXNzaW5nIF0KKyMgRUZMIElt
cGxlbWVudGF0aW9uIG9mIHNwZWxsY2hlY2tpbmcgZmVhdHVyZQord2Via2l0Lm9yZy9iLzkxODU0
IGVkaXRpbmcvc3BlbGxpbmcvY29udGV4dC1tZW51LXN1Z2dlc3Rpb25zLmh0bWwgWyBGYWlsdXJl
IF0KKworIyBFRkwncyBFdmVudFNlbmRlciBjb250ZXh0Q2xpY2sgc2hvdWxkIHJldHVybiBvYmpl
Y3RzIHRoYXQgaW1wbGVtZW50cyBjbGljaygpIG1ldGhvZAord2Via2l0Lm9yZy9iLzk4NDEwIGVk
aXRpbmcvcGFzdGVib2FyZC9jb3B5LXN0YW5kYWxvbmUtaW1hZ2UtY3Jhc2guaHRtbCBbIEZhaWx1
cmUgXQord2Via2l0Lm9yZy9iLzk4NDEwIG1lZGlhL2NvbnRleHQtbWVudS1hY3Rpb25zLmh0bWwg
WyBGYWlsdXJlIF0KKworIyBFRkwgU2VsZWN0aW9uIHR5cGUgaXMgbm90IHNldCBjb3JyZWN0bHkK
K0J1ZyhFRkwpIHdlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3NlbGVjdGlvbi81MzU0NDU1LTEu
aHRtbCBbIEZhaWx1cmUgXQogCiAjIElFVEMgbmFtZXNwYWNlIGZhaWx1cmVzCiB3ZWJraXQub3Jn
L2IvODYxNDIgaWV0ZXN0Y2VudGVyL2NzczMvbmFtZXNwYWNlcy9zeW50YXgtMDIxLnhtbCBbIElt
YWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2Vk
aXRpbmcvc2VsZWN0aW9uLzUzNTQ0NTUtMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9lZmwvZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0yLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOTM1OWExCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2VkaXRpbmcvc2VsZWN0aW9uLzUzNTQ0NTUtMi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwyMyBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisg
IFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIg
YXQgKDgsOCkgc2l6ZSA2MTJ4MTQyCisgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUg
NjEyeDE0MiBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQorICAgIFJlbmRlckJsb2NrIHtI
MX0gYXQgKDYsNikgc2l6ZSA2MDB4MzcKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDQ1MXgzNgorICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA0NTE6ICJXb3Jk
IHNlbGVjdGlvbiBvbiByaWdodCBjbGljayB0ZXN0IgorICAgIFJlbmRlckJsb2NrIChhbm9ueW1v
dXMpIGF0ICg2LDY0KSBzaXplIDYwMHg3MgorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgNTk3eDM3CisgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDU5NzogIlRo
aXMgdGVzdHMgdG8gbWFrZSBzdXJlIHRoYXQgcmlnaHQgY2xpY2tpbmcgbm9uLWVkaXRhYmxlIGNv
bnRlbnQgb25seSBjcmVhdGVzIGEgd29yZCBzZWxlY3Rpb24gZm9yIgorICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwxOCkgd2lkdGggMTAzOiAiY2xpY2tzIG92ZXIgdGV4dC4gIgorICAgICAgUmVuZGVy
SW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDE4eDE5CisgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMTAzLDE4KSBzaXplIDE4eDE5CisgICAgICAgICAgdGV4dCBydW4gYXQgKDEwMywx
OCkgd2lkdGggMTg6ICJUbyIKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTIxLDE4KSBz
aXplIDU3N3g1NQorICAgICAgICB0ZXh0IHJ1biBhdCAoMTIxLDE4KSB3aWR0aCA0MTE6ICIgcnVu
IG1hbnVhbGx5LCByaWdodCBjbGljayBvbiB0ZXh0LCBhbmQgYSB3b3JkIHNob3VsZCBiZSBzZWxl
Y3RlZC4gIgorICAgICAgICB0ZXh0IHJ1biBhdCAoNTMyLDE4KSB3aWR0aCAzNTogIlJpZ2h0Igor
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzNikgd2lkdGggNTc3OiAiY2xpY2sgb24gdGhlIGVtcHR5
IHNwYWNlIG91dHNpZGUgYW5kIHRvIHRoZSByaWdodCBvZiB0aGUgYmxhY2sgYm9yZGVyLCB0aGUg
c2VsZWN0aW9uIHNob3VsZCBiZSIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsNTQpIHdpZHRoIDU5
OiAicmVtb3ZlZC4iCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAK
K2NhcmV0OiBwb3NpdGlvbiAwIG9mIGNoaWxkIDAgeyN0ZXh0fSBvZiBjaGlsZCAxIHtIMX0gb2Yg
Ym9keQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2Zhc3QvZXZlbnRzL2Nv
bnRleHQtbm8tZGVzZWxlY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZs
L2Zhc3QvZXZlbnRzL2NvbnRleHQtbm8tZGVzZWxlY3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhYmQ3YjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9lZmwvZmFzdC9ldmVudHMvY29udGV4dC1uby1kZXNlbGVjdC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxNCBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisg
IFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJl
bmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVyVGV4dENv
bnRyb2wge0lOUFVUfSBhdCAoMiwyKSBzaXplIDE5M3gyOCBbYmdjb2xvcj0jRkZGRkZGXQorICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKK2xheWVyIGF0ICgxNCwxNikgc2l6ZSAxODZ4MTgg
c2Nyb2xsSGVpZ2h0IDE5CisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICg0LDYpIHNpemUgMTg2eDE4
CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTI0eDE5CisgICAgICB0ZXh0
IHJ1biBhdCAoMCwwKSB3aWR0aCAxMjQ6ICJzb21lIHNhbXBsZSB0ZXh0Igorc2VsZWN0aW9uIHN0
YXJ0OiBwb3NpdGlvbiA1IG9mIGNoaWxkIDAgeyN0ZXh0fSBvZiBjaGlsZCAwIHtESVZ9IG9mIHsj
c2hhZG93LXJvb3R9IG9mIGNoaWxkIDEge0lOUFVUfSBvZiBib2R5CitzZWxlY3Rpb24gZW5kOiAg
IHBvc2l0aW9uIDE1IG9mIGNoaWxkIDAgeyN0ZXh0fSBvZiBjaGlsZCAwIHtESVZ9IG9mIHsjc2hh
ZG93LXJvb3R9IG9mIGNoaWxkIDEge0lOUFVUfSBvZiBib2R5CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYmM5YzMw
Zi4uZWZiOTU1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA5LTE0ICBXb2pj
aWVjaCBCaWVsYXdza2kgIDx3LmJpZWxhd3NraUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbV0sy
XVtXS1RSXSBXZWJLaXRUZXN0UnVubmVyIG5lZWRzIGV2ZW50U2VuZGVyLmNvbnRleHRDbGljaygp
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Njg4MQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluamVjdGVk
QnVuZGxlIEFQSSBleHRlbmRlZCB0byByZXRyaWV2ZSBjb250ZXh0TWVudSBlbnRyaWVzIG5hbWVz
LgorICAgICAgICBXZWJDb250ZXh0TWVudSBleHRlZGVkIHdpdGggZnVuY3Rpb24gdG8gcmV0cmll
dmUgbWVudSBpdGVtcy4KKyAgICAgICAgVGhpcyBBUEkgaXMgcmVxdWlyZWQgYnkgbGF5b3V0IHRl
c3RzLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRs
ZVBhZ2UuY3BwOgorICAgICAgICAoV0tCdW5kbGVQYWdlR2V0Q29udGV4dE1lbnVFbnRyaWVzTmFt
ZXMpOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQ
YWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dE1lbnU6Oml0ZW1zKToKKyAgICAgICAgKFdlYktp
dCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51Lmg6CisgICAg
ICAgIChXZWJDb250ZXh0TWVudSk6CisKIDIwMTItMTAtMDQgIEpvY2VseW4gVHVyY290dGUgIDxq
b2NlbHluLnR1cmNvdHRlQGRpZ2lhLmNvbT4KIAogICAgICAgICBbUXRdIEZpeCB0aGUgdHN0X1FR
dWlja1dlYlZpZXc6OnNjcm9sbFJlcXVlc3QgYXV0byB0ZXN0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxl
UGFnZS5jcHAKaW5kZXggNTNkZGY2MS4uYjlhMzkyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQ
YWdlLmNwcApAQCAtMzAsMTMgKzMwLDE4IEBACiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVCYWNr
Rm9yd2FyZExpc3QuaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGUuaCIKICNp
bmNsdWRlICJXS0FQSUNhc3QuaCIKKyNpbmNsdWRlICJXS0FycmF5LmgiCiAjaW5jbHVkZSAiV0tC
dW5kbGVBUElDYXN0LmgiCisjaW5jbHVkZSAiV0tSZXRhaW5QdHIuaCIKKyNpbmNsdWRlICJXZWJD
b250ZXh0TWVudS5oIgorI2luY2x1ZGUgIldlYkNvbnRleHRNZW51SXRlbS5oIgogI2luY2x1ZGUg
IldlYkZyYW1lLmgiCiAjaW5jbHVkZSAiV2ViRnVsbFNjcmVlbk1hbmFnZXIuaCIKICNpbmNsdWRl
ICJXZWJJbWFnZS5oIgogI2luY2x1ZGUgIldlYlBhZ2UuaCIKICNpbmNsdWRlICJXZWJSZW5kZXJM
YXllci5oIgogI2luY2x1ZGUgIldlYlJlbmRlck9iamVjdC5oIgorI2luY2x1ZGUgIldlYlN0cmlu
Zy5oIgogI2luY2x1ZGUgIldlYlVSTC5oIgogI2luY2x1ZGUgIldlYlVSTFJlcXVlc3QuaCIKIApA
QCAtMTQ1LDYgKzE1MCwyNCBAQCBXS0J1bmRsZUZyYW1lUmVmIFdLQnVuZGxlUGFnZUdldE1haW5G
cmFtZShXS0J1bmRsZVBhZ2VSZWYgcGFnZVJlZikKICAgICByZXR1cm4gdG9BUEkodG9JbXBsKHBh
Z2VSZWYpLT5tYWluV2ViRnJhbWUoKSk7CiB9CiAKK1dLQXJyYXlSZWYgV0tCdW5kbGVQYWdlQ29w
eUNvbnRleHRNZW51RW50cmllc05hbWVzKFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVmKQoreworI2lm
IEVOQUJMRShDT05URVhUX01FTlVTKQorICAgIFdlYkNvbnRleHRNZW51KiBjb250ZXh0TWVudSA9
IHRvSW1wbChwYWdlUmVmKS0+Y29udGV4dE1lbnUoKTsKKyAgICBWZWN0b3I8V2ViQ29udGV4dE1l
bnVJdGVtRGF0YT4gaXRlbXMgPSBjb250ZXh0TWVudS0+aXRlbXMoKTsKKyAgICBPd25BcnJheVB0
cjxXS1R5cGVSZWY+IGl0ZW1OYW1lcyA9IGFkb3B0QXJyYXlQdHIobmV3IFdLVHlwZVJlZltpdGVt
cy5zaXplKCldKTsKKyAgICBzaXplX3QgYXJyYXlMZW5ndGggPSBpdGVtcy5zaXplKCk7CisgICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCBhcnJheUxlbmd0aDsgKytpKSB7CisgICAgICAgIFJlZlB0
cjxXZWJTdHJpbmc+IG5hbWUgPSBXZWJTdHJpbmc6OmNyZWF0ZShpdGVtc1tpXS50aXRsZSgpKTsK
KyAgICAgICAgaXRlbU5hbWVzW2ldID0gdG9BUEkobmFtZS5yZWxlYXNlKCkubGVha1JlZigpKTsK
KyAgICB9CisKKyAgICByZXR1cm4gV0tBcnJheUNyZWF0ZShpdGVtTmFtZXMuZ2V0KCksIGFycmF5
TGVuZ3RoKTsKKyNlbHNlCisgICAgcmV0dXJuIDA7CisjZW5kaWYKK30KKwogdm9pZCogV0tBY2Nl
c3NpYmlsaXR5Um9vdE9iamVjdChXS0J1bmRsZVBhZ2VSZWYgcGFnZVJlZikKIHsKICNpZiBIQVZF
KEFDQ0VTU0lCSUxJVFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUHJpdmF0ZS5oCmlu
ZGV4IDExYjIwZGMuLmI0ZTBmMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUHJpdmF0ZS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUHJp
dmF0ZS5oCkBAIC03Nyw2ICs3Nyw4IEBAIFdLX0VYUE9SVCBib29sIFdLQnVuZGxlUGFnZUNhblNo
b3dNSU1FVHlwZShXS0J1bmRsZVBhZ2VSZWYsIFdLU3RyaW5nUmVmIG1pbWVUeXBlCiBXS19FWFBP
UlQgdm9pZCogV0tBY2Nlc3NpYmlsaXR5Um9vdE9iamVjdChXS0J1bmRsZVBhZ2VSZWYpOwogV0tf
RVhQT1JUIHZvaWQqIFdLQWNjZXNzaWJpbGl0eUZvY3VzZWRPYmplY3QoV0tCdW5kbGVQYWdlUmVm
KTsKIAorV0tfRVhQT1JUIFdLQXJyYXlSZWYgV0tCdW5kbGVQYWdlQ29weUNvbnRleHRNZW51RW50
cmllc05hbWVzKFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVmKTsKKwogI2lmZGVmIF9fY3BsdXNwbHVz
CiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJDb250ZXh0TWVudS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViQ29udGV4dE1lbnUuY3BwCmluZGV4IDNhOTFkOTAuLjNjODEwZDIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmNwcApAQCAt
OTUsNiArOTUsMzIgQEAgdm9pZCBXZWJDb250ZXh0TWVudTo6aXRlbVNlbGVjdGVkKGNvbnN0IFdl
YkNvbnRleHRNZW51SXRlbURhdGEmIGl0ZW0pCiAgICAgbV9wYWdlLT5jb3JlUGFnZSgpLT5jb250
ZXh0TWVudUNvbnRyb2xsZXIoKS0+Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoJmNvcmVJdGVtKTsK
IH0KIAorVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+IFdlYkNvbnRleHRNZW51OjppdGVt
cygpIGNvbnN0Cit7CisgICAgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+IHByb3Bvc2Vk
TWVudTsKKyAgICBDb250ZXh0TWVudUNvbnRyb2xsZXIqIGNvbnRyb2xsZXIgPSBtX3BhZ2UtPmNv
cmVQYWdlKCktPmNvbnRleHRNZW51Q29udHJvbGxlcigpOworICAgIGlmICghY29udHJvbGxlcikK
KyAgICAgICAgcmV0dXJuIHByb3Bvc2VkTWVudTsKKyAgICBDb250ZXh0TWVudSogbWVudSA9IGNv
bnRyb2xsZXItPmNvbnRleHRNZW51KCk7CisgICAgaWYgKCFtZW51KQorICAgICAgICByZXR1cm4g
cHJvcG9zZWRNZW51OworCisgICAgLy8gR2l2ZSB0aGUgYnVuZGxlIGNsaWVudCBhIGNoYW5jZSB0
byBwcm9jZXNzIHRoZSBtZW51LgorI2lmIFVTRShDUk9TU19QTEFURk9STV9DT05URVhUX01FTlVT
KQorICAgIGNvbnN0IFZlY3RvcjxDb250ZXh0TWVudUl0ZW0+JiBjb3JlSXRlbXMgPSBtZW51LT5p
dGVtcygpOworI2Vsc2UKKyAgICBWZWN0b3I8Q29udGV4dE1lbnVJdGVtPiBjb3JlSXRlbXMgPSBj
b250ZXh0TWVudUl0ZW1WZWN0b3IobWVudS0+cGxhdGZvcm1EZXNjcmlwdGlvbigpKTsKKyNlbmRp
ZgorICAgIHByb3Bvc2VkTWVudSA9IGtpdEl0ZW1zKGNvcmVJdGVtcywgbWVudSk7CisgICAgVmVj
dG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+IG5ld01lbnU7CisgICAgUmVmUHRyPEFQSU9iamVj
dD4gdXNlckRhdGE7CisgICAgUmVmUHRyPEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdD4gaGl0
VGVzdFJlc3VsdCA9IEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdDo6Y3JlYXRlKGNvbnRyb2xs
ZXItPmhpdFRlc3RSZXN1bHQoKSk7CisgICAgaWYgKG1fcGFnZS0+aW5qZWN0ZWRCdW5kbGVDb250
ZXh0TWVudUNsaWVudCgpLmdldEN1c3RvbU1lbnVGcm9tRGVmYXVsdEl0ZW1zKG1fcGFnZSwgaGl0
VGVzdFJlc3VsdC5nZXQoKSwgcHJvcG9zZWRNZW51LCBuZXdNZW51LCB1c2VyRGF0YSkpCisgICAg
ICAgIHByb3Bvc2VkTWVudSA9IG5ld01lbnU7CisKKyAgICByZXR1cm4gcHJvcG9zZWRNZW51Owor
fQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIEVOQUJMRShDT05URVhUX01F
TlVTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNv
bnRleHRNZW51LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4
dE1lbnUuaAppbmRleCBjOGE1ZjVhLi5kZjA4M2Q5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuaApAQCAtNDMsNiArNDMsNyBAQCBw
dWJsaWM6CiAKICAgICB2b2lkIHNob3coKTsKICAgICB2b2lkIGl0ZW1TZWxlY3RlZChjb25zdCBX
ZWJDb250ZXh0TWVudUl0ZW1EYXRhJik7CisgICAgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURh
dGE+IGl0ZW1zKCkgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgV2ViQ29udGV4dE1lbnUoV2ViUGFn
ZSopOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4
IGU4MzRmYmIuLmI2NTZjMTYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29s
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMi0wOS0xNCAgV29qY2llY2ggQmllbGF3
c2tpICA8dy5iaWVsYXdza2lAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW1dLMl1bV0tUUl0gV2Vi
S2l0VGVzdFJ1bm5lciBuZWVkcyBldmVudFNlbmRlci5jb250ZXh0Q2xpY2soKQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODY4ODEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBldmVudFNlbmRlciBvYmplY3Qg
ZXh0ZW5kZWQgd2l0aCBjb250ZXh0Q2xpY2soKSBtZXRob2QgaW4gV2ViS2l0VGVzdFJ1bm5lci4K
KyAgICAgICAgY29udGV4dENsaWNrKCkgbWV0aG9kIHJldHVybnMgYW4gYXJyYXkgb2YgbWVudSBp
dGVtcyBvYmplY3RzIHdpdGggZmllbGQgJ3RpdGxlJyBjb250YWluaW5nIHRpdGxlIG9mIHNpbmds
ZQorICAgICAgICBjb250ZXh0IG1lbnUgZW50cnkuIEFjY29yZGluZyB0byBzb21lIHRlc3RzIG1l
bnUgaXRlbXMgb2JqZWN0cyBzaGFsbCBhbHNvIHN1cHBvcnQgJ2NsaWNrKCknIG1ldGhvZCwgYnV0
IGl0J3Mgbm90CisgICAgICAgIGRlbGl2ZXJlZCBpbiB0aGlzIHBhdGNoLgorCisgICAgICAgICog
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9FdmVudFNlbmRpbmdDb250
cm9sbGVyLmlkbDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2
ZW50U2VuZGluZ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpFdmVudFNlbmRpbmdDb250
cm9sbGVyOjpjb250ZXh0Q2xpY2spOgorICAgICAgICAoV1RSKToKKyAgICAgICAgKiBXZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaDoKKyAgICAg
ICAgKEV2ZW50U2VuZGluZ0NvbnRyb2xsZXIpOgorCiAyMDEyLTEwLTA0ICBIYXJhbGQgQWx2ZXN0
cmFuZCAgPGh0YUBnb29nbGUuY29tPgogCiAgICAgICAgIENoYW5nZSBSVENQZWVyQ29ubmVjdGlv
biBHZXRTdGF0cyB0byB1c2UgRGF0ZSB0aW1lc3RhbXAgZm9ybWF0CmRpZmYgLS1naXQgYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0V2ZW50U2VuZGluZ0Nv
bnRyb2xsZXIuaWRsIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5k
aW5ncy9FdmVudFNlbmRpbmdDb250cm9sbGVyLmlkbAppbmRleCBjZmY3NWYyLi41ZmYwMmMwIDEw
MDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdz
L0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaWRsCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5pZGwKQEAgLTMx
LDYgKzMxLDcgQEAgbW9kdWxlIFdUUiB7CiAgICAgICAgIHZvaWQgbW91c2VNb3ZlVG8oaW4gbG9u
ZyB4LCBpbiBsb25nIHkpOwogICAgICAgICB2b2lkIG1vdXNlU2Nyb2xsQnkoaW4gbG9uZyB4LCBp
biBsb25nIHkpOwogICAgICAgICB2b2lkIGNvbnRpbnVvdXNNb3VzZVNjcm9sbEJ5KGluIGxvbmcg
eCwgaW4gbG9uZyB5LCBpbiBbT3B0aW9uYWxdIGJvb2xlYW4gcGFnZWQpOworICAgICAgICBvYmpl
Y3QgY29udGV4dENsaWNrKCk7CiAgICAgICAgIHZvaWQgc2NoZWR1bGVBc3luY2hyb25vdXNDbGlj
aygpOwogCiAgICAgICAgIHZvaWQgbGVhcEZvcndhcmQoaW4gbG9uZyBtaWxsaXNlY29uZHMpOwpk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNl
bmRpbmdDb250cm9sbGVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5jcHAKaW5kZXggYmY2ZDliYy4uZWQ3OWFjNSAxMDA2
NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRp
bmdDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuY3BwCkBAIC0zMTksNiArMzE5LDM2IEBAIHZvaWQg
RXZlbnRTZW5kaW5nQ29udHJvbGxlcjo6Y29udGludW91c01vdXNlU2Nyb2xsQnkoaW50IHgsIGlu
dCB5LCBib29sIHBhZ2VkKQogICAgIFdLQnVuZGxlUG9zdFN5bmNocm9ub3VzTWVzc2FnZShJbmpl
Y3RlZEJ1bmRsZTo6c2hhcmVkKCkuYnVuZGxlKCksIEV2ZW50U2VuZGVyTWVzc2FnZU5hbWUuZ2V0
KCksIEV2ZW50U2VuZGVyTWVzc2FnZUJvZHkuZ2V0KCksIDApOwogfQogCitKU1ZhbHVlUmVmIEV2
ZW50U2VuZGluZ0NvbnRyb2xsZXI6OmNvbnRleHRDbGljaygpCit7CisgICAgV0tCdW5kbGVQYWdl
UmVmIHBhZ2UgPSBJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkucGFnZSgpLT5wYWdlKCk7CisgICAg
V0tCdW5kbGVGcmFtZVJlZiBtYWluRnJhbWUgPSBXS0J1bmRsZVBhZ2VHZXRNYWluRnJhbWUocGFn
ZSk7CisgICAgSlNDb250ZXh0UmVmIGNvbnRleHQgPSBXS0J1bmRsZUZyYW1lR2V0SmF2YVNjcmlw
dENvbnRleHQobWFpbkZyYW1lKTsKKyNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKKyAgICAvLyBE
byBtb3VzZSBjb250ZXh0IGNsaWNrLgorICAgIG1vdXNlRG93bigyLCAwKTsKKyAgICBtb3VzZVVw
KDIsIDApOworCisgICAgV0tSZXRhaW5QdHI8V0tBcnJheVJlZj4gZW50cmllc05hbWVzID0gYWRv
cHRXSyhXS0J1bmRsZVBhZ2VDb3B5Q29udGV4dE1lbnVFbnRyaWVzTmFtZXMocGFnZSkpOworICAg
IEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBqc1Byb3BlcnR5TmFtZShBZG9wdCwgSlNTdHJpbmdD
cmVhdGVXaXRoVVRGOENTdHJpbmcoInRpdGxlIikpOworICAgIHNpemVfdCBlbnRyaWVzU2l6ZSA9
IFdLQXJyYXlHZXRTaXplKGVudHJpZXNOYW1lcy5nZXQoKSk7CisgICAgT3duQXJyYXlQdHI8SlNW
YWx1ZVJlZj4ganNWYWx1ZXNBcnJheSA9IGFkb3B0QXJyYXlQdHIobmV3IEpTVmFsdWVSZWZbZW50
cmllc1NpemVdKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGVudHJpZXNTaXplOyArK2kp
IHsKKyAgICAgICAgQVNTRVJUKFdLR2V0VHlwZUlEKFdLQXJyYXlHZXRJdGVtQXRJbmRleChlbnRy
aWVzTmFtZXMuZ2V0KCksIGkpKSA9PSBXS1N0cmluZ0dldFR5cGVJRCgpKTsKKyAgICAgICAgV0tT
dHJpbmdSZWYgd2tFbnRyeU5hbWUgPSBzdGF0aWNfY2FzdDxXS1N0cmluZ1JlZj4oV0tBcnJheUdl
dEl0ZW1BdEluZGV4KGVudHJpZXNOYW1lcy5nZXQoKSwgaSkpOworICAgICAgICBKU09iamVjdFJl
ZiBqc0l0ZW1PYmplY3QgPSBKU09iamVjdE1ha2UoY29udGV4dCwgMCwgMCk7CisgICAgICAgIEpT
UmV0YWluUHRyPEpTU3RyaW5nUmVmPiBqc05hbWVDb3B5KEFkb3B0LCBXS1N0cmluZ0NvcHlKU1N0
cmluZyh3a0VudHJ5TmFtZSkpOworICAgICAgICBKU1ZhbHVlUmVmIGpzRW50cnlOYW1lID0gSlNW
YWx1ZU1ha2VTdHJpbmcoY29udGV4dCwganNOYW1lQ29weS5nZXQoKSk7CisgICAgICAgIEpTT2Jq
ZWN0U2V0UHJvcGVydHkoY29udGV4dCwganNJdGVtT2JqZWN0LCBqc1Byb3BlcnR5TmFtZS5nZXQo
KSwganNFbnRyeU5hbWUsIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHksIDApOworICAgICAg
ICBqc1ZhbHVlc0FycmF5W2ldID0ganNJdGVtT2JqZWN0OworICAgIH0KKworICAgIHJldHVybiBK
U09iamVjdE1ha2VBcnJheShjb250ZXh0LCBlbnRyaWVzU2l6ZSwganNWYWx1ZXNBcnJheS5nZXQo
KSwgMCk7CisjZWxzZQorICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsK
KyNlbmRpZgorfQorCiAjaWZkZWYgVVNFX1dFQlBST0NFU1NfRVZFTlRfU0lNVUxBVElPTgogdm9p
ZCBFdmVudFNlbmRpbmdDb250cm9sbGVyOjp1cGRhdGVDbGlja0NvdW50KFdLRXZlbnRNb3VzZUJ1
dHRvbiBidXR0b24pCiB7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5oCmluZGV4IDQxM2I5MWMu
LjY5YzU0ZjkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5oCkBAIC01Miw2ICs1Miw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIG1vdXNlTW92ZVRvKGludCB4LCBpbnQgeSk7CiAgICAgdm9pZCBt
b3VzZVNjcm9sbEJ5KGludCB4LCBpbnQgeSk7CiAgICAgdm9pZCBjb250aW51b3VzTW91c2VTY3Jv
bGxCeShpbnQgeCwgaW50IHksIGJvb2wgcGFnZWQpOworICAgIEpTVmFsdWVSZWYgY29udGV4dENs
aWNrKCk7CiAgICAgdm9pZCBsZWFwRm9yd2FyZChpbnQgbWlsbGlzZWNvbmRzKTsKICAgICB2b2lk
IHNjaGVkdWxlQXN5bmNocm9ub3VzQ2xpY2soKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168909</attachid>
            <date>2012-10-16 03:31:47 -0700</date>
            <delta_ts>2012-10-16 05:17:41 -0700</delta_ts>
            <desc>eventSender.contextClick() method partially implemented.</desc>
            <filename>contextClick.patch</filename>
            <type>text/plain</type>
            <size>18446</size>
            <attacher name="Wojciech Bielawski">w.bielawski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA5YmVmM2Q0Li44NTllYTMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDkt
MTQgIFdvamNpZWNoIEJpZWxhd3NraSAgPHcuYmllbGF3c2tpQHNhbXN1bmcuY29tPgorCisgICAg
ICAgIFtXSzJdW1dLVFJdIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgZXZlbnRTZW5kZXIuY29udGV4
dENsaWNrKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTg2ODgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgZXhwZWN0ZWQgcmVzdWx0cyBmb3IgdHdvIHRlc3RzIGZvciBFRkwgcGxhdGZvcm0uCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0yLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZWZsL2Zhc3QvZXZlbnRzL2NvbnRl
eHQtbm8tZGVzZWxlY3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAxMi0xMC0xNiAgS2Vpc2hp
IEhhdHRvcmkgIDxrZWlzaGlAd2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgdGVzdCB0aGF0IGNo
ZWNrcyB0aGF0IHJlbG9hZGluZyBhZnRlciBzZXR0aW5nIGEgdmFsdWUgZm9yIGFuIGlucHV0IGVs
ZW1lbnQgZnJvbSBhIHN1Z2dlc3Rpb24gcGlja2VyIHJlc2V0cyB0aGUgdmFsdWVzCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwtd2sxL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9lZmwtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNjUxNzE4Yi4u
ZjU1YzgyYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsLXdrMS9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC13azEvVGVzdEV4cGVjdGF0
aW9ucwpAQCAtMjkwLDMgKzI5MCwyNCBAQCB3ZWJraXQub3JnL2IvODc5NzIgZmFzdC9lbmNvZGlu
Zy9tYWlsdG8tYWx3YXlzLXV0Zi04Lmh0bWwgWyBGYWlsdXJlIF0KIAogIyBGcmFtZSBkb2VzIG5v
dCBnZXQgZm9jdXMgYXMgZXhwZWN0ZWQKIHdlYmtpdC5vcmcvYi85NzA3NyBpbnNwZWN0b3IvZXh0
ZW5zaW9ucy9leHRlbnNpb25zLXBhbmVsLmh0bWwgWyBGYWlsdXJlIF0KKworIyBFRkwncyBFdmVu
dFNlbmRlciBkb2VzIG5vdCBpbXBsZW1lbnQgY29udGV4dENsaWNrIHlldAord2Via2l0Lm9yZy9i
Lzg2MDkxIGVkaXRpbmcvcGFzdGVib2FyZC9jb3B5LXN0YW5kYWxvbmUtaW1hZ2UtY3Jhc2guaHRt
bCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc2VsZWN0aW9uLzUzNTQ0
NTUtMS5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9zZWxlY3Rp
b24vYnV0dG9uLXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5
MSBlZGl0aW5nL3NlbGVjdGlvbi9jb250ZXh0LW1lbnUtb24tdGV4dC5odG1sIFsgRmFpbHVyZSBd
Cit3ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9zZWxlY3Rpb24vY29udGV4dC1tZW51LXRleHQt
c2VsZWN0aW9uLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3Nl
bGVjdGlvbi9lbXB0eS1jZWxsLXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5v
cmcvYi84NjA5MSBlZGl0aW5nL3NwZWxsaW5nL2NvbnRleHQtbWVudS1zdWdnZXN0aW9ucy5odG1s
IFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9zcGVsbGluZy9zcGVsbGNo
ZWNrLWlucHV0LXNlYXJjaC1jcmFzaC5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvODYw
OTEgZmFzdC9ldmVudHMvY29udGV4dC1vbm1vdXNlZG93bi1ldmVudC5odG1sIFsgRmFpbHVyZSBd
Cit3ZWJraXQub3JnL2IvODYwOTEgZmFzdC9ldmVudHMvY29udGV4dG1lbnUtc2Nyb2xsZWQtcGFn
ZS13aXRoLWZyYW1lLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBmYXN0L2V2
ZW50cy9yaWdodC1jbGljay1mb2N1cy5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvODYw
OTEgZmFzdC9ldmVudHMvc2VsZWN0c3RhcnQtcHJldmVudC1zZWxlY3Rpb24tb24tcmlnaHQtY2xp
Y2suaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzg2MDkxIG1lZGlhL2NvbnRleHQtbWVu
dS1hY3Rpb25zLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBtZWRpYS9jb250
cm9scy1yaWdodC1jbGljay1vbi10aW1lYmFyLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcv
Yi84NjA5MSBlZGl0aW5nL3NoYWRvdy9yaWdodGNsaWNrLW9uLW1ldGVyLWluLXNoYWRvdy1jcmFz
aC5odG1sIFsgRmFpbHVyZSBdCisKKyMgRUZMJ3MgRXZlbnRTZW5kZXIgY29udGV4dENsaWNrLCBu
ZWVkcyBiYXNlbGluZXMKK3dlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3NlbGVjdGlvbi81MzU0
NDU1LTIuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzg2MDkxIGZhc3QvZXZlbnRzL2Nv
bnRleHQtbm8tZGVzZWxlY3QuaHRtbCBbIEZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZWZsLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZWZsLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGFhY2FiZjAuLmExMmEzYjIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC13azIvVGVzdEV4cGVjdGF0aW9ucworKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI1Niwz
ICsyNTYsMTMgQEAgd2Via2l0Lm9yZy9iLzk5MTUyIHBsdWdpbnMvaWZyYW1lLXBsdWdpbi1iZ2Nv
bG9yLmh0bWwgWyBGYWlsdXJlIF0KIAogIyBGbGFreSBvbiBFRkwgcG9ydC4KIHdlYmtpdC5vcmcv
Yi85NjY0MSBtZWRpYS92aWRlby1zZWVrLXBhc3QtZW5kLXBsYXlpbmcuaHRtbCBbIEZhaWx1cmUg
XQorCisjIEVGTCBJbXBsZW1lbnRhdGlvbiBvZiBzcGVsbGNoZWNraW5nIGZlYXR1cmUKK3dlYmtp
dC5vcmcvYi85MTg1NCBlZGl0aW5nL3NwZWxsaW5nL2NvbnRleHQtbWVudS1zdWdnZXN0aW9ucy5o
dG1sIFsgRmFpbHVyZSBdCisKKyMgRUZMJ3MgRXZlbnRTZW5kZXIgY29udGV4dENsaWNrIHNob3Vs
ZCByZXR1cm4gb2JqZWN0cyB0aGF0IGltcGxlbWVudHMgY2xpY2soKSBtZXRob2QKK3dlYmtpdC5v
cmcvYi85ODQxMCBlZGl0aW5nL3Bhc3RlYm9hcmQvY29weS1zdGFuZGFsb25lLWltYWdlLWNyYXNo
Lmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi85ODQxMCBtZWRpYS9jb250ZXh0LW1lbnUt
YWN0aW9ucy5odG1sIFsgRmFpbHVyZSBdCisKKyMgRUZMIFNlbGVjdGlvbiB0eXBlIGlzIG5vdCBz
ZXQgY29ycmVjdGx5CitCdWcoRUZMKSB3ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9zZWxlY3Rp
b24vNTM1NDQ1NS0xLmh0bWwgWyBGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rl
c3RFeHBlY3RhdGlvbnMKaW5kZXggMTAwOWUzNy4uYzA5ODRhMiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEyNjUsMjcgKzEyNjUsNiBAQCB3ZWJraXQu
b3JnL2IvODIxNDAgaW5zcGVjdG9yL2dlb2xvY2F0aW9uLWVycm9yLmh0bWwgWyBGYWlsdXJlIF0K
IHdlYmtpdC5vcmcvYi84MjE0MCBpbnNwZWN0b3IvZ2VvbG9jYXRpb24tc3VjY2Vzcy5odG1sIFsg
RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvODIxNDAgaW5zcGVjdG9yL2dlb2xvY2F0aW9uLXdhdGNo
UG9zaXRpb24uaHRtbCBbIEZhaWx1cmUgXQogCi0jIEVGTCdzIEV2ZW50U2VuZGVyIGRvZXMgbm90
IGltcGxlbWVudCBjb250ZXh0Q2xpY2sgeWV0Ci13ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9w
YXN0ZWJvYXJkL2NvcHktc3RhbmRhbG9uZS1pbWFnZS1jcmFzaC5odG1sIFsgRmFpbHVyZSBdCi13
ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0xLmh0bWwgWyBGYWls
dXJlIF0KLXdlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3NlbGVjdGlvbi9idXR0b24tcmlnaHQt
Y2xpY2suaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc2VsZWN0
aW9uL2NvbnRleHQtbWVudS1vbi10ZXh0Lmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84
NjA5MSBlZGl0aW5nL3NlbGVjdGlvbi9jb250ZXh0LW1lbnUtdGV4dC1zZWxlY3Rpb24uaHRtbCBb
IEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc2VsZWN0aW9uL2VtcHR5LWNl
bGwtcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRp
bmcvc3BlbGxpbmcvY29udGV4dC1tZW51LXN1Z2dlc3Rpb25zLmh0bWwgWyBGYWlsdXJlIF0KLXdl
YmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsY2hlY2staW5wdXQtc2VhcmNo
LWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84NjA5MSBmYXN0L2V2ZW50cy9j
b250ZXh0LW9ubW91c2Vkb3duLWV2ZW50Lmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84
NjA5MSBmYXN0L2V2ZW50cy9jb250ZXh0bWVudS1zY3JvbGxlZC1wYWdlLXdpdGgtZnJhbWUuaHRt
bCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIGZhc3QvZXZlbnRzL3JpZ2h0LWNsaWNr
LWZvY3VzLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84NjA5MSBmYXN0L2V2ZW50cy9z
ZWxlY3RzdGFydC1wcmV2ZW50LXNlbGVjdGlvbi1vbi1yaWdodC1jbGljay5odG1sIFsgRmFpbHVy
ZSBdCi13ZWJraXQub3JnL2IvODYwOTEgbWVkaWEvY29udGV4dC1tZW51LWFjdGlvbnMuaHRtbCBb
IEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIG1lZGlhL2NvbnRyb2xzLXJpZ2h0LWNsaWNr
LW9uLXRpbWViYXIuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcv
c2hhZG93L3JpZ2h0Y2xpY2stb24tbWV0ZXItaW4tc2hhZG93LWNyYXNoLmh0bWwgWyBGYWlsdXJl
IF0KLQotIyBFRkwncyBFdmVudFNlbmRlciBjb250ZXh0Q2xpY2ssIG5lZWRzIGJhc2VsaW5lcwot
d2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc2VsZWN0aW9uLzUzNTQ0NTUtMi5odG1sIFsgTWlz
c2luZyBdCi13ZWJraXQub3JnL2IvODYwOTEgZmFzdC9ldmVudHMvY29udGV4dC1uby1kZXNlbGVj
dC5odG1sIFsgTWlzc2luZyBdCi0KICMgSUVUQyBuYW1lc3BhY2UgZmFpbHVyZXMKIHdlYmtpdC5v
cmcvYi84NjE0MiBpZXRlc3RjZW50ZXIvY3NzMy9uYW1lc3BhY2VzL3N5bnRheC0wMjEueG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Vm
bC9lZGl0aW5nL3NlbGVjdGlvbi81MzU0NDU1LTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZWZsL2VkaXRpbmcvc2VsZWN0aW9uLzUzNTQ0NTUtMi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzkzNTlhMQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9lZGl0aW5nL3NlbGVjdGlvbi81MzU0NDU1LTIt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjMgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xh
eWVyIGF0ICg4LDgpIHNpemUgNjEyeDE0MgorICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBz
aXplIDYxMngxNDIgW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KKyAgICBSZW5kZXJCbG9j
ayB7SDF9IGF0ICg2LDYpIHNpemUgNjAweDM3CisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSA0NTF4MzYKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNDUxOiAi
V29yZCBzZWxlY3Rpb24gb24gcmlnaHQgY2xpY2sgdGVzdCIKKyAgICBSZW5kZXJCbG9jayAoYW5v
bnltb3VzKSBhdCAoNiw2NCkgc2l6ZSA2MDB4NzIKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDU5N3gzNworICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA1OTc6
ICJUaGlzIHRlc3RzIHRvIG1ha2Ugc3VyZSB0aGF0IHJpZ2h0IGNsaWNraW5nIG5vbi1lZGl0YWJs
ZSBjb250ZW50IG9ubHkgY3JlYXRlcyBhIHdvcmQgc2VsZWN0aW9uIGZvciIKKyAgICAgICAgdGV4
dCBydW4gYXQgKDAsMTgpIHdpZHRoIDEwMzogImNsaWNrcyBvdmVyIHRleHQuICIKKyAgICAgIFJl
bmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAxOHgxOQorICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDEwMywxOCkgc2l6ZSAxOHgxOQorICAgICAgICAgIHRleHQgcnVuIGF0ICgx
MDMsMTgpIHdpZHRoIDE4OiAiVG8iCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEyMSwx
OCkgc2l6ZSA1Nzd4NTUKKyAgICAgICAgdGV4dCBydW4gYXQgKDEyMSwxOCkgd2lkdGggNDExOiAi
IHJ1biBtYW51YWxseSwgcmlnaHQgY2xpY2sgb24gdGV4dCwgYW5kIGEgd29yZCBzaG91bGQgYmUg
c2VsZWN0ZWQuICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDUzMiwxOCkgd2lkdGggMzU6ICJSaWdo
dCIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsMzYpIHdpZHRoIDU3NzogImNsaWNrIG9uIHRoZSBl
bXB0eSBzcGFjZSBvdXRzaWRlIGFuZCB0byB0aGUgcmlnaHQgb2YgdGhlIGJsYWNrIGJvcmRlciwg
dGhlIHNlbGVjdGlvbiBzaG91bGQgYmUiCisgICAgICAgIHRleHQgcnVuIGF0ICgwLDU0KSB3aWR0
aCA1OTogInJlbW92ZWQuIgorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MHgwCitjYXJldDogcG9zaXRpb24gMCBvZiBjaGlsZCAwIHsjdGV4dH0gb2YgY2hpbGQgMSB7SDF9
IG9mIGJvZHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9mYXN0L2V2ZW50
cy9jb250ZXh0LW5vLWRlc2VsZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2VmbC9mYXN0L2V2ZW50cy9jb250ZXh0LW5vLWRlc2VsZWN0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYWJkN2I2Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2Zhc3QvZXZlbnRzL2NvbnRleHQtbm8tZGVzZWxlY3Qt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTQgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAg
ICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlclRl
eHRDb250cm9sIHtJTlBVVH0gYXQgKDIsMikgc2l6ZSAxOTN4MjggW2JnY29sb3I9I0ZGRkZGRl0K
KyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCitsYXllciBhdCAoMTQsMTYpIHNpemUgMTg2
eDE4IHNjcm9sbEhlaWdodCAxOQorICBSZW5kZXJCbG9jayB7RElWfSBhdCAoNCw2KSBzaXplIDE4
NngxOAorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDEyNHgxOQorICAgICAg
dGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTI0OiAic29tZSBzYW1wbGUgdGV4dCIKK3NlbGVjdGlv
biBzdGFydDogcG9zaXRpb24gNSBvZiBjaGlsZCAwIHsjdGV4dH0gb2YgY2hpbGQgMCB7RElWfSBv
ZiB7I3NoYWRvdy1yb290fSBvZiBjaGlsZCAxIHtJTlBVVH0gb2YgYm9keQorc2VsZWN0aW9uIGVu
ZDogICBwb3NpdGlvbiAxNSBvZiBjaGlsZCAwIHsjdGV4dH0gb2YgY2hpbGQgMCB7RElWfSBvZiB7
I3NoYWRvdy1yb290fSBvZiBjaGlsZCAxIHtJTlBVVH0gb2YgYm9keQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDY2
ZmY0YzUuLjJmNGQ5ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMi0wOS0xNCAg
V29qY2llY2ggQmllbGF3c2tpICA8dy5iaWVsYXdza2lAc2Ftc3VuZy5jb20+CisKKyAgICAgICAg
W1dLMl1bV0tUUl0gV2ViS2l0VGVzdFJ1bm5lciBuZWVkcyBldmVudFNlbmRlci5jb250ZXh0Q2xp
Y2soKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODY4
ODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbmpl
Y3RlZEJ1bmRsZSBBUEkgZXh0ZW5kZWQgdG8gcmV0cmlldmUgY29udGV4dE1lbnUgZW50cmllcyBu
YW1lcy4KKyAgICAgICAgV2ViQ29udGV4dE1lbnUgZXh0ZWRlZCB3aXRoIGZ1bmN0aW9uIHRvIHJl
dHJpZXZlIG1lbnUgaXRlbXMuCisgICAgICAgIFRoaXMgQVBJIGlzIHJlcXVpcmVkIGJ5IGxheW91
dCB0ZXN0cy4KKworICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGVQYWdlLmNwcDoKKyAgICAgICAgKFdLQnVuZGxlUGFnZUdldENvbnRleHRNZW51RW50cmll
c05hbWVzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVu
ZGxlUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHRNZW51OjppdGVtcyk6CisgICAgICAgIChX
ZWJLaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5oOgor
ICAgICAgICAoV2ViQ29udGV4dE1lbnUpOgorCiAyMDEyLTEwLTE2ICBNaWtoYWlsIFBvemRueWFr
b3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgogCiAgICAgICAgIFtXSzJdIFByb3Zp
ZGUgV0tVUkwgQVBJIGZvciByZXNvbHZpbmcgdGhlIHJlbGF0aXZlIFVSTCB3aXRoIHRoZSBnaXZl
biBiYXNlIFVSTApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCmluZGV4IDUzZGRmNjEuLmI5
YTM5MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAKQEAgLTMwLDEzICszMCwxOCBA
QAogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlQmFja0ZvcndhcmRMaXN0LmgiCiAjaW5jbHVkZSAi
SW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlLmgiCiAjaW5jbHVkZSAiV0tBUElDYXN0LmgiCisjaW5j
bHVkZSAiV0tBcnJheS5oIgogI2luY2x1ZGUgIldLQnVuZGxlQVBJQ2FzdC5oIgorI2luY2x1ZGUg
IldLUmV0YWluUHRyLmgiCisjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnUuaCIKKyNpbmNsdWRlICJX
ZWJDb250ZXh0TWVudUl0ZW0uaCIKICNpbmNsdWRlICJXZWJGcmFtZS5oIgogI2luY2x1ZGUgIldl
YkZ1bGxTY3JlZW5NYW5hZ2VyLmgiCiAjaW5jbHVkZSAiV2ViSW1hZ2UuaCIKICNpbmNsdWRlICJX
ZWJQYWdlLmgiCiAjaW5jbHVkZSAiV2ViUmVuZGVyTGF5ZXIuaCIKICNpbmNsdWRlICJXZWJSZW5k
ZXJPYmplY3QuaCIKKyNpbmNsdWRlICJXZWJTdHJpbmcuaCIKICNpbmNsdWRlICJXZWJVUkwuaCIK
ICNpbmNsdWRlICJXZWJVUkxSZXF1ZXN0LmgiCiAKQEAgLTE0NSw2ICsxNTAsMjQgQEAgV0tCdW5k
bGVGcmFtZVJlZiBXS0J1bmRsZVBhZ2VHZXRNYWluRnJhbWUoV0tCdW5kbGVQYWdlUmVmIHBhZ2VS
ZWYpCiAgICAgcmV0dXJuIHRvQVBJKHRvSW1wbChwYWdlUmVmKS0+bWFpbldlYkZyYW1lKCkpOwog
fQogCitXS0FycmF5UmVmIFdLQnVuZGxlUGFnZUNvcHlDb250ZXh0TWVudUVudHJpZXNOYW1lcyhX
S0J1bmRsZVBhZ2VSZWYgcGFnZVJlZikKK3sKKyNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKKyAg
ICBXZWJDb250ZXh0TWVudSogY29udGV4dE1lbnUgPSB0b0ltcGwocGFnZVJlZiktPmNvbnRleHRN
ZW51KCk7CisgICAgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+IGl0ZW1zID0gY29udGV4
dE1lbnUtPml0ZW1zKCk7CisgICAgT3duQXJyYXlQdHI8V0tUeXBlUmVmPiBpdGVtTmFtZXMgPSBh
ZG9wdEFycmF5UHRyKG5ldyBXS1R5cGVSZWZbaXRlbXMuc2l6ZSgpXSk7CisgICAgc2l6ZV90IGFy
cmF5TGVuZ3RoID0gaXRlbXMuc2l6ZSgpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgYXJy
YXlMZW5ndGg7ICsraSkgeworICAgICAgICBSZWZQdHI8V2ViU3RyaW5nPiBuYW1lID0gV2ViU3Ry
aW5nOjpjcmVhdGUoaXRlbXNbaV0udGl0bGUoKSk7CisgICAgICAgIGl0ZW1OYW1lc1tpXSA9IHRv
QVBJKG5hbWUucmVsZWFzZSgpLmxlYWtSZWYoKSk7CisgICAgfQorCisgICAgcmV0dXJuIFdLQXJy
YXlDcmVhdGUoaXRlbU5hbWVzLmdldCgpLCBhcnJheUxlbmd0aCk7CisjZWxzZQorICAgIHJldHVy
biAwOworI2VuZGlmCit9CisKIHZvaWQqIFdLQWNjZXNzaWJpbGl0eVJvb3RPYmplY3QoV0tCdW5k
bGVQYWdlUmVmIHBhZ2VSZWYpCiB7CiAjaWYgSEFWRShBQ0NFU1NJQklMSVRZKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRs
ZVBhZ2VQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9jL1dLQnVuZGxlUGFnZVByaXZhdGUuaAppbmRleCAxMWIyMGRjLi5iNGUwZjMyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dL
QnVuZGxlUGFnZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVByaXZhdGUuaApAQCAtNzcsNiArNzcsOCBAQCBX
S19FWFBPUlQgYm9vbCBXS0J1bmRsZVBhZ2VDYW5TaG93TUlNRVR5cGUoV0tCdW5kbGVQYWdlUmVm
LCBXS1N0cmluZ1JlZiBtaW1lVHlwZQogV0tfRVhQT1JUIHZvaWQqIFdLQWNjZXNzaWJpbGl0eVJv
b3RPYmplY3QoV0tCdW5kbGVQYWdlUmVmKTsKIFdLX0VYUE9SVCB2b2lkKiBXS0FjY2Vzc2liaWxp
dHlGb2N1c2VkT2JqZWN0KFdLQnVuZGxlUGFnZVJlZik7CiAKK1dLX0VYUE9SVCBXS0FycmF5UmVm
IFdLQnVuZGxlUGFnZUNvcHlDb250ZXh0TWVudUVudHJpZXNOYW1lcyhXS0J1bmRsZVBhZ2VSZWYg
cGFnZVJlZik7CisKICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuY3BwIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmNwcAppbmRleCAz
YTkxZDkwLi4zYzgxMGQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViQ29udGV4dE1lbnUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJDb250ZXh0TWVudS5jcHAKQEAgLTk1LDYgKzk1LDMyIEBAIHZvaWQgV2ViQ29u
dGV4dE1lbnU6Oml0ZW1TZWxlY3RlZChjb25zdCBXZWJDb250ZXh0TWVudUl0ZW1EYXRhJiBpdGVt
KQogICAgIG1fcGFnZS0+Y29yZVBhZ2UoKS0+Y29udGV4dE1lbnVDb250cm9sbGVyKCktPmNvbnRl
eHRNZW51SXRlbVNlbGVjdGVkKCZjb3JlSXRlbSk7CiB9CiAKK1ZlY3RvcjxXZWJDb250ZXh0TWVu
dUl0ZW1EYXRhPiBXZWJDb250ZXh0TWVudTo6aXRlbXMoKSBjb25zdAoreworICAgIFZlY3RvcjxX
ZWJDb250ZXh0TWVudUl0ZW1EYXRhPiBwcm9wb3NlZE1lbnU7CisgICAgQ29udGV4dE1lbnVDb250
cm9sbGVyKiBjb250cm9sbGVyID0gbV9wYWdlLT5jb3JlUGFnZSgpLT5jb250ZXh0TWVudUNvbnRy
b2xsZXIoKTsKKyAgICBpZiAoIWNvbnRyb2xsZXIpCisgICAgICAgIHJldHVybiBwcm9wb3NlZE1l
bnU7CisgICAgQ29udGV4dE1lbnUqIG1lbnUgPSBjb250cm9sbGVyLT5jb250ZXh0TWVudSgpOwor
ICAgIGlmICghbWVudSkKKyAgICAgICAgcmV0dXJuIHByb3Bvc2VkTWVudTsKKworICAgIC8vIEdp
dmUgdGhlIGJ1bmRsZSBjbGllbnQgYSBjaGFuY2UgdG8gcHJvY2VzcyB0aGUgbWVudS4KKyNpZiBV
U0UoQ1JPU1NfUExBVEZPUk1fQ09OVEVYVF9NRU5VUykKKyAgICBjb25zdCBWZWN0b3I8Q29udGV4
dE1lbnVJdGVtPiYgY29yZUl0ZW1zID0gbWVudS0+aXRlbXMoKTsKKyNlbHNlCisgICAgVmVjdG9y
PENvbnRleHRNZW51SXRlbT4gY29yZUl0ZW1zID0gY29udGV4dE1lbnVJdGVtVmVjdG9yKG1lbnUt
PnBsYXRmb3JtRGVzY3JpcHRpb24oKSk7CisjZW5kaWYKKyAgICBwcm9wb3NlZE1lbnUgPSBraXRJ
dGVtcyhjb3JlSXRlbXMsIG1lbnUpOworICAgIFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRh
PiBuZXdNZW51OworICAgIFJlZlB0cjxBUElPYmplY3Q+IHVzZXJEYXRhOworICAgIFJlZlB0cjxJ
bmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQ+IGhpdFRlc3RSZXN1bHQgPSBJbmplY3RlZEJ1bmRs
ZUhpdFRlc3RSZXN1bHQ6OmNyZWF0ZShjb250cm9sbGVyLT5oaXRUZXN0UmVzdWx0KCkpOworICAg
IGlmIChtX3BhZ2UtPmluamVjdGVkQnVuZGxlQ29udGV4dE1lbnVDbGllbnQoKS5nZXRDdXN0b21N
ZW51RnJvbURlZmF1bHRJdGVtcyhtX3BhZ2UsIGhpdFRlc3RSZXN1bHQuZ2V0KCksIHByb3Bvc2Vk
TWVudSwgbmV3TWVudSwgdXNlckRhdGEpKQorICAgICAgICBwcm9wb3NlZE1lbnUgPSBuZXdNZW51
OworCisgICAgcmV0dXJuIHByb3Bvc2VkTWVudTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CiAKICNlbmRpZiAvLyBFTkFCTEUoQ09OVEVYVF9NRU5VUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5oIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmgKaW5kZXggYzhhNWY1YS4uZGYw
ODNkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNv
bnRleHRNZW51LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNv
bnRleHRNZW51LmgKQEAgLTQzLDYgKzQzLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBzaG93KCk7
CiAgICAgdm9pZCBpdGVtU2VsZWN0ZWQoY29uc3QgV2ViQ29udGV4dE1lbnVJdGVtRGF0YSYpOwor
ICAgIFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiBpdGVtcygpIGNvbnN0OwogCiBwcml2
YXRlOgogICAgIFdlYkNvbnRleHRNZW51KFdlYlBhZ2UqKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0No
YW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiZGMyOGZmLi4xZmM3ZDJkIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIg
QEAKKzIwMTItMDktMTQgIFdvamNpZWNoIEJpZWxhd3NraSAgPHcuYmllbGF3c2tpQHNhbXN1bmcu
Y29tPgorCisgICAgICAgIFtXSzJdW1dLVFJdIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgZXZlbnRT
ZW5kZXIuY29udGV4dENsaWNrKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTg2ODgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgZXZlbnRTZW5kZXIgb2JqZWN0IGV4dGVuZGVkIHdpdGggY29udGV4dENsaWNr
KCkgbWV0aG9kIGluIFdlYktpdFRlc3RSdW5uZXIuCisgICAgICAgIGNvbnRleHRDbGljaygpIG1l
dGhvZCByZXR1cm5zIGFuIGFycmF5IG9mIG1lbnUgaXRlbXMgb2JqZWN0cyB3aXRoIGZpZWxkICd0
aXRsZScgY29udGFpbmluZyB0aXRsZSBvZiBzaW5nbGUKKyAgICAgICAgY29udGV4dCBtZW51IGVu
dHJ5LiBBY2NvcmRpbmcgdG8gc29tZSB0ZXN0cyBtZW51IGl0ZW1zIG9iamVjdHMgc2hhbGwgYWxz
byBzdXBwb3J0ICdjbGljaygpJyBtZXRob2QsIGJ1dCBpdCdzIG5vdAorICAgICAgICBkZWxpdmVy
ZWQgaW4gdGhpcyBwYXRjaC4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvQmluZGluZ3MvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5pZGw6CisgICAgICAgICogV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmNwcDoK
KyAgICAgICAgKFdUUjo6RXZlbnRTZW5kaW5nQ29udHJvbGxlcjo6Y29udGV4dENsaWNrKToKKyAg
ICAgICAgKFdUUik6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9F
dmVudFNlbmRpbmdDb250cm9sbGVyLmg6CisgICAgICAgIChFdmVudFNlbmRpbmdDb250cm9sbGVy
KToKKwogMjAxMi0xMC0xNiAgTWlraGFpbCBQb3pkbnlha292ICA8bWlraGFpbC5wb3pkbnlha292
QGludGVsLmNvbT4KIAogICAgICAgICBbV0syXSBQcm92aWRlIFdLVVJMIEFQSSBmb3IgcmVzb2x2
aW5nIHRoZSByZWxhdGl2ZSBVUkwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBVUkwKZGlmZiAtLWdpdCBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvRXZlbnRTZW5k
aW5nQ29udHJvbGxlci5pZGwgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L0JpbmRpbmdzL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaWRsCmluZGV4IDUyYTdhNWIuLjFkNjJj
OWIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmlu
ZGluZ3MvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5pZGwKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9FdmVudFNlbmRpbmdDb250cm9sbGVyLmlkbApA
QCAtMjksNiArMjksNyBAQCBpbnRlcmZhY2UgRXZlbnRTZW5kaW5nQ29udHJvbGxlciB7CiAgICAg
dm9pZCBtb3VzZU1vdmVUbyhpbiBsb25nIHgsIGluIGxvbmcgeSk7CiAgICAgdm9pZCBtb3VzZVNj
cm9sbEJ5KGluIGxvbmcgeCwgaW4gbG9uZyB5KTsKICAgICB2b2lkIGNvbnRpbnVvdXNNb3VzZVNj
cm9sbEJ5KGluIGxvbmcgeCwgaW4gbG9uZyB5LCBpbiBbT3B0aW9uYWxdIGJvb2xlYW4gcGFnZWQp
OworICAgIG9iamVjdCBjb250ZXh0Q2xpY2soKTsKICAgICB2b2lkIHNjaGVkdWxlQXN5bmNocm9u
b3VzQ2xpY2soKTsKIAogICAgIHZvaWQgbGVhcEZvcndhcmQoaW4gbG9uZyBtaWxsaXNlY29uZHMp
OwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVu
dFNlbmRpbmdDb250cm9sbGVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5jcHAKaW5kZXggYmY2ZDliYy4uZWQ3OWFjNSAx
MDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNl
bmRpbmdDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuY3BwCkBAIC0zMTksNiArMzE5LDM2IEBAIHZv
aWQgRXZlbnRTZW5kaW5nQ29udHJvbGxlcjo6Y29udGludW91c01vdXNlU2Nyb2xsQnkoaW50IHgs
IGludCB5LCBib29sIHBhZ2VkKQogICAgIFdLQnVuZGxlUG9zdFN5bmNocm9ub3VzTWVzc2FnZShJ
bmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkuYnVuZGxlKCksIEV2ZW50U2VuZGVyTWVzc2FnZU5hbWUu
Z2V0KCksIEV2ZW50U2VuZGVyTWVzc2FnZUJvZHkuZ2V0KCksIDApOwogfQogCitKU1ZhbHVlUmVm
IEV2ZW50U2VuZGluZ0NvbnRyb2xsZXI6OmNvbnRleHRDbGljaygpCit7CisgICAgV0tCdW5kbGVQ
YWdlUmVmIHBhZ2UgPSBJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkucGFnZSgpLT5wYWdlKCk7Cisg
ICAgV0tCdW5kbGVGcmFtZVJlZiBtYWluRnJhbWUgPSBXS0J1bmRsZVBhZ2VHZXRNYWluRnJhbWUo
cGFnZSk7CisgICAgSlNDb250ZXh0UmVmIGNvbnRleHQgPSBXS0J1bmRsZUZyYW1lR2V0SmF2YVNj
cmlwdENvbnRleHQobWFpbkZyYW1lKTsKKyNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKKyAgICAv
LyBEbyBtb3VzZSBjb250ZXh0IGNsaWNrLgorICAgIG1vdXNlRG93bigyLCAwKTsKKyAgICBtb3Vz
ZVVwKDIsIDApOworCisgICAgV0tSZXRhaW5QdHI8V0tBcnJheVJlZj4gZW50cmllc05hbWVzID0g
YWRvcHRXSyhXS0J1bmRsZVBhZ2VDb3B5Q29udGV4dE1lbnVFbnRyaWVzTmFtZXMocGFnZSkpOwor
ICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBqc1Byb3BlcnR5TmFtZShBZG9wdCwgSlNTdHJp
bmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoInRpdGxlIikpOworICAgIHNpemVfdCBlbnRyaWVzU2l6
ZSA9IFdLQXJyYXlHZXRTaXplKGVudHJpZXNOYW1lcy5nZXQoKSk7CisgICAgT3duQXJyYXlQdHI8
SlNWYWx1ZVJlZj4ganNWYWx1ZXNBcnJheSA9IGFkb3B0QXJyYXlQdHIobmV3IEpTVmFsdWVSZWZb
ZW50cmllc1NpemVdKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGVudHJpZXNTaXplOyAr
K2kpIHsKKyAgICAgICAgQVNTRVJUKFdLR2V0VHlwZUlEKFdLQXJyYXlHZXRJdGVtQXRJbmRleChl
bnRyaWVzTmFtZXMuZ2V0KCksIGkpKSA9PSBXS1N0cmluZ0dldFR5cGVJRCgpKTsKKyAgICAgICAg
V0tTdHJpbmdSZWYgd2tFbnRyeU5hbWUgPSBzdGF0aWNfY2FzdDxXS1N0cmluZ1JlZj4oV0tBcnJh
eUdldEl0ZW1BdEluZGV4KGVudHJpZXNOYW1lcy5nZXQoKSwgaSkpOworICAgICAgICBKU09iamVj
dFJlZiBqc0l0ZW1PYmplY3QgPSBKU09iamVjdE1ha2UoY29udGV4dCwgMCwgMCk7CisgICAgICAg
IEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBqc05hbWVDb3B5KEFkb3B0LCBXS1N0cmluZ0NvcHlK
U1N0cmluZyh3a0VudHJ5TmFtZSkpOworICAgICAgICBKU1ZhbHVlUmVmIGpzRW50cnlOYW1lID0g
SlNWYWx1ZU1ha2VTdHJpbmcoY29udGV4dCwganNOYW1lQ29weS5nZXQoKSk7CisgICAgICAgIEpT
T2JqZWN0U2V0UHJvcGVydHkoY29udGV4dCwganNJdGVtT2JqZWN0LCBqc1Byb3BlcnR5TmFtZS5n
ZXQoKSwganNFbnRyeU5hbWUsIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHksIDApOworICAg
ICAgICBqc1ZhbHVlc0FycmF5W2ldID0ganNJdGVtT2JqZWN0OworICAgIH0KKworICAgIHJldHVy
biBKU09iamVjdE1ha2VBcnJheShjb250ZXh0LCBlbnRyaWVzU2l6ZSwganNWYWx1ZXNBcnJheS5n
ZXQoKSwgMCk7CisjZWxzZQorICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0
KTsKKyNlbmRpZgorfQorCiAjaWZkZWYgVVNFX1dFQlBST0NFU1NfRVZFTlRfU0lNVUxBVElPTgog
dm9pZCBFdmVudFNlbmRpbmdDb250cm9sbGVyOjp1cGRhdGVDbGlja0NvdW50KFdLRXZlbnRNb3Vz
ZUJ1dHRvbiBidXR0b24pCiB7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaCBiL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5oCmluZGV4IDQxM2I5
MWMuLjY5YzU0ZjkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5oCkBAIC01Miw2ICs1Miw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIG1vdXNlTW92ZVRvKGludCB4LCBpbnQgeSk7CiAgICAgdm9p
ZCBtb3VzZVNjcm9sbEJ5KGludCB4LCBpbnQgeSk7CiAgICAgdm9pZCBjb250aW51b3VzTW91c2VT
Y3JvbGxCeShpbnQgeCwgaW50IHksIGJvb2wgcGFnZWQpOworICAgIEpTVmFsdWVSZWYgY29udGV4
dENsaWNrKCk7CiAgICAgdm9pZCBsZWFwRm9yd2FyZChpbnQgbWlsbGlzZWNvbmRzKTsKICAgICB2
b2lkIHNjaGVkdWxlQXN5bmNocm9ub3VzQ2xpY2soKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168928</attachid>
            <date>2012-10-16 05:17:41 -0700</date>
            <delta_ts>2012-10-24 06:32:25 -0700</delta_ts>
            <desc>eventSender.contextClick() method partially implemented.</desc>
            <filename>contextClick.patch</filename>
            <type>text/plain</type>
            <size>18386</size>
            <attacher name="Wojciech Bielawski">w.bielawski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA5YmVmM2Q0Li44NTllYTMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDkt
MTQgIFdvamNpZWNoIEJpZWxhd3NraSAgPHcuYmllbGF3c2tpQHNhbXN1bmcuY29tPgorCisgICAg
ICAgIFtXSzJdW1dLVFJdIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgZXZlbnRTZW5kZXIuY29udGV4
dENsaWNrKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTg2ODgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgZXhwZWN0ZWQgcmVzdWx0cyBmb3IgdHdvIHRlc3RzIGZvciBFRkwgcGxhdGZvcm0uCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0yLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZWZsL2Zhc3QvZXZlbnRzL2NvbnRl
eHQtbm8tZGVzZWxlY3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAxMi0xMC0xNiAgS2Vpc2hp
IEhhdHRvcmkgIDxrZWlzaGlAd2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgdGVzdCB0aGF0IGNo
ZWNrcyB0aGF0IHJlbG9hZGluZyBhZnRlciBzZXR0aW5nIGEgdmFsdWUgZm9yIGFuIGlucHV0IGVs
ZW1lbnQgZnJvbSBhIHN1Z2dlc3Rpb24gcGlja2VyIHJlc2V0cyB0aGUgdmFsdWVzCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwtd2sxL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9lZmwtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNjUxNzE4Yi4u
NmViNzljYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsLXdrMS9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC13azEvVGVzdEV4cGVjdGF0
aW9ucwpAQCAtMjkwLDMgKzI5MCwyMyBAQCB3ZWJraXQub3JnL2IvODc5NzIgZmFzdC9lbmNvZGlu
Zy9tYWlsdG8tYWx3YXlzLXV0Zi04Lmh0bWwgWyBGYWlsdXJlIF0KIAogIyBGcmFtZSBkb2VzIG5v
dCBnZXQgZm9jdXMgYXMgZXhwZWN0ZWQKIHdlYmtpdC5vcmcvYi85NzA3NyBpbnNwZWN0b3IvZXh0
ZW5zaW9ucy9leHRlbnNpb25zLXBhbmVsLmh0bWwgWyBGYWlsdXJlIF0KKworIyBFRkwncyBFdmVu
dFNlbmRlciBkb2VzIG5vdCBpbXBsZW1lbnQgY29udGV4dENsaWNrIHlldAord2Via2l0Lm9yZy9i
Lzg2MDkxIGVkaXRpbmcvcGFzdGVib2FyZC9jb3B5LXN0YW5kYWxvbmUtaW1hZ2UtY3Jhc2guaHRt
bCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc2VsZWN0aW9uLzUzNTQ0
NTUtMS5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9zZWxlY3Rp
b24vNTM1NDQ1NS0yLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5n
L3NlbGVjdGlvbi9idXR0b24tcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9y
Zy9iLzg2MDkxIGVkaXRpbmcvc2VsZWN0aW9uL2NvbnRleHQtbWVudS1vbi10ZXh0Lmh0bWwgWyBG
YWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3NlbGVjdGlvbi9jb250ZXh0LW1l
bnUtdGV4dC1zZWxlY3Rpb24uaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzg2MDkxIGVk
aXRpbmcvc2VsZWN0aW9uL2VtcHR5LWNlbGwtcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1cmUgXQor
d2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc2hhZG93L3JpZ2h0Y2xpY2stb24tbWV0ZXItaW4t
c2hhZG93LWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5n
L3NwZWxsaW5nL2NvbnRleHQtbWVudS1zdWdnZXN0aW9ucy5odG1sIFsgRmFpbHVyZSBdCit3ZWJr
aXQub3JnL2IvODYwOTEgZWRpdGluZy9zcGVsbGluZy9zcGVsbGNoZWNrLWlucHV0LXNlYXJjaC1j
cmFzaC5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvODYwOTEgZmFzdC9ldmVudHMvY29u
dGV4dC1uby1kZXNlbGVjdC5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvODYwOTEgZmFz
dC9ldmVudHMvY29udGV4dC1vbm1vdXNlZG93bi1ldmVudC5odG1sIFsgRmFpbHVyZSBdCit3ZWJr
aXQub3JnL2IvODYwOTEgZmFzdC9ldmVudHMvY29udGV4dG1lbnUtc2Nyb2xsZWQtcGFnZS13aXRo
LWZyYW1lLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBmYXN0L2V2ZW50cy9y
aWdodC1jbGljay1mb2N1cy5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvODYwOTEgZmFz
dC9ldmVudHMvc2VsZWN0c3RhcnQtcHJldmVudC1zZWxlY3Rpb24tb24tcmlnaHQtY2xpY2suaHRt
bCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzg2MDkxIG1lZGlhL2NvbnRleHQtbWVudS1hY3Rp
b25zLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBtZWRpYS9jb250cm9scy1y
aWdodC1jbGljay1vbi10aW1lYmFyLmh0bWwgWyBGYWlsdXJlIF0KKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZWZsLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZWZsLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGFhY2FiZjAuLmNkZDMyYTcg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC13azIvVGVzdEV4cGVjdGF0aW9u
cworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAg
LTI1NiwzICsyNTYsMTMgQEAgd2Via2l0Lm9yZy9iLzk5MTUyIHBsdWdpbnMvaWZyYW1lLXBsdWdp
bi1iZ2NvbG9yLmh0bWwgWyBGYWlsdXJlIF0KIAogIyBGbGFreSBvbiBFRkwgcG9ydC4KIHdlYmtp
dC5vcmcvYi85NjY0MSBtZWRpYS92aWRlby1zZWVrLXBhc3QtZW5kLXBsYXlpbmcuaHRtbCBbIEZh
aWx1cmUgXQorCisjIEVGTCBJbXBsZW1lbnRhdGlvbiBvZiBzcGVsbGNoZWNraW5nIGZlYXR1cmUK
K3dlYmtpdC5vcmcvYi85MTg1NCBlZGl0aW5nL3NwZWxsaW5nL2NvbnRleHQtbWVudS1zdWdnZXN0
aW9ucy5odG1sIFsgRmFpbHVyZSBdCisKKyMgRUZMJ3MgRXZlbnRTZW5kZXIgY29udGV4dENsaWNr
IHNob3VsZCByZXR1cm4gb2JqZWN0cyB0aGF0IGltcGxlbWVudHMgY2xpY2soKSBtZXRob2QKK3dl
YmtpdC5vcmcvYi85ODQxMCBlZGl0aW5nL3Bhc3RlYm9hcmQvY29weS1zdGFuZGFsb25lLWltYWdl
LWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi85ODQxMCBtZWRpYS9jb250ZXh0
LW1lbnUtYWN0aW9ucy5odG1sIFsgRmFpbHVyZSBdCisKKyMgRUZMIFNlbGVjdGlvbiB0eXBlIGlz
IG5vdCBzZXQgY29ycmVjdGx5Cit3ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9zZWxlY3Rpb24v
NTM1NDQ1NS0xLmh0bWwgWyBGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RF
eHBlY3RhdGlvbnMKaW5kZXggMTAwOWUzNy4uYzA5ODRhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEyNjUsMjcgKzEyNjUsNiBAQCB3ZWJraXQub3Jn
L2IvODIxNDAgaW5zcGVjdG9yL2dlb2xvY2F0aW9uLWVycm9yLmh0bWwgWyBGYWlsdXJlIF0KIHdl
YmtpdC5vcmcvYi84MjE0MCBpbnNwZWN0b3IvZ2VvbG9jYXRpb24tc3VjY2Vzcy5odG1sIFsgRmFp
bHVyZSBdCiB3ZWJraXQub3JnL2IvODIxNDAgaW5zcGVjdG9yL2dlb2xvY2F0aW9uLXdhdGNoUG9z
aXRpb24uaHRtbCBbIEZhaWx1cmUgXQogCi0jIEVGTCdzIEV2ZW50U2VuZGVyIGRvZXMgbm90IGlt
cGxlbWVudCBjb250ZXh0Q2xpY2sgeWV0Ci13ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9wYXN0
ZWJvYXJkL2NvcHktc3RhbmRhbG9uZS1pbWFnZS1jcmFzaC5odG1sIFsgRmFpbHVyZSBdCi13ZWJr
aXQub3JnL2IvODYwOTEgZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0xLmh0bWwgWyBGYWlsdXJl
IF0KLXdlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3NlbGVjdGlvbi9idXR0b24tcmlnaHQtY2xp
Y2suaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc2VsZWN0aW9u
L2NvbnRleHQtbWVudS1vbi10ZXh0Lmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84NjA5
MSBlZGl0aW5nL3NlbGVjdGlvbi9jb250ZXh0LW1lbnUtdGV4dC1zZWxlY3Rpb24uaHRtbCBbIEZh
aWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc2VsZWN0aW9uL2VtcHR5LWNlbGwt
cmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcv
c3BlbGxpbmcvY29udGV4dC1tZW51LXN1Z2dlc3Rpb25zLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtp
dC5vcmcvYi84NjA5MSBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsY2hlY2staW5wdXQtc2VhcmNoLWNy
YXNoLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84NjA5MSBmYXN0L2V2ZW50cy9jb250
ZXh0LW9ubW91c2Vkb3duLWV2ZW50Lmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84NjA5
MSBmYXN0L2V2ZW50cy9jb250ZXh0bWVudS1zY3JvbGxlZC1wYWdlLXdpdGgtZnJhbWUuaHRtbCBb
IEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIGZhc3QvZXZlbnRzL3JpZ2h0LWNsaWNrLWZv
Y3VzLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84NjA5MSBmYXN0L2V2ZW50cy9zZWxl
Y3RzdGFydC1wcmV2ZW50LXNlbGVjdGlvbi1vbi1yaWdodC1jbGljay5odG1sIFsgRmFpbHVyZSBd
Ci13ZWJraXQub3JnL2IvODYwOTEgbWVkaWEvY29udGV4dC1tZW51LWFjdGlvbnMuaHRtbCBbIEZh
aWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIG1lZGlhL2NvbnRyb2xzLXJpZ2h0LWNsaWNrLW9u
LXRpbWViYXIuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc2hh
ZG93L3JpZ2h0Y2xpY2stb24tbWV0ZXItaW4tc2hhZG93LWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0K
LQotIyBFRkwncyBFdmVudFNlbmRlciBjb250ZXh0Q2xpY2ssIG5lZWRzIGJhc2VsaW5lcwotd2Vi
a2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc2VsZWN0aW9uLzUzNTQ0NTUtMi5odG1sIFsgTWlzc2lu
ZyBdCi13ZWJraXQub3JnL2IvODYwOTEgZmFzdC9ldmVudHMvY29udGV4dC1uby1kZXNlbGVjdC5o
dG1sIFsgTWlzc2luZyBdCi0KICMgSUVUQyBuYW1lc3BhY2UgZmFpbHVyZXMKIHdlYmtpdC5vcmcv
Yi84NjE0MiBpZXRlc3RjZW50ZXIvY3NzMy9uYW1lc3BhY2VzL3N5bnRheC0wMjEueG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9l
ZGl0aW5nL3NlbGVjdGlvbi81MzU0NDU1LTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZWZsL2VkaXRpbmcvc2VsZWN0aW9uLzUzNTQ0NTUtMi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzkzNTlhMQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9lZGl0aW5nL3NlbGVjdGlvbi81MzU0NDU1LTItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjMgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAor
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVy
IGF0ICg4LDgpIHNpemUgNjEyeDE0MgorICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXpl
IDYxMngxNDIgW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KKyAgICBSZW5kZXJCbG9jayB7
SDF9IGF0ICg2LDYpIHNpemUgNjAweDM3CisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSA0NTF4MzYKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNDUxOiAiV29y
ZCBzZWxlY3Rpb24gb24gcmlnaHQgY2xpY2sgdGVzdCIKKyAgICBSZW5kZXJCbG9jayAoYW5vbnlt
b3VzKSBhdCAoNiw2NCkgc2l6ZSA2MDB4NzIKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDU5N3gzNworICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA1OTc6ICJU
aGlzIHRlc3RzIHRvIG1ha2Ugc3VyZSB0aGF0IHJpZ2h0IGNsaWNraW5nIG5vbi1lZGl0YWJsZSBj
b250ZW50IG9ubHkgY3JlYXRlcyBhIHdvcmQgc2VsZWN0aW9uIGZvciIKKyAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMTgpIHdpZHRoIDEwMzogImNsaWNrcyBvdmVyIHRleHQuICIKKyAgICAgIFJlbmRl
cklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAxOHgxOQorICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDEwMywxOCkgc2l6ZSAxOHgxOQorICAgICAgICAgIHRleHQgcnVuIGF0ICgxMDMs
MTgpIHdpZHRoIDE4OiAiVG8iCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEyMSwxOCkg
c2l6ZSA1Nzd4NTUKKyAgICAgICAgdGV4dCBydW4gYXQgKDEyMSwxOCkgd2lkdGggNDExOiAiIHJ1
biBtYW51YWxseSwgcmlnaHQgY2xpY2sgb24gdGV4dCwgYW5kIGEgd29yZCBzaG91bGQgYmUgc2Vs
ZWN0ZWQuICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDUzMiwxOCkgd2lkdGggMzU6ICJSaWdodCIK
KyAgICAgICAgdGV4dCBydW4gYXQgKDAsMzYpIHdpZHRoIDU3NzogImNsaWNrIG9uIHRoZSBlbXB0
eSBzcGFjZSBvdXRzaWRlIGFuZCB0byB0aGUgcmlnaHQgb2YgdGhlIGJsYWNrIGJvcmRlciwgdGhl
IHNlbGVjdGlvbiBzaG91bGQgYmUiCisgICAgICAgIHRleHQgcnVuIGF0ICgwLDU0KSB3aWR0aCA1
OTogInJlbW92ZWQuIgorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgw
CitjYXJldDogcG9zaXRpb24gMCBvZiBjaGlsZCAwIHsjdGV4dH0gb2YgY2hpbGQgMSB7SDF9IG9m
IGJvZHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9mYXN0L2V2ZW50cy9j
b250ZXh0LW5vLWRlc2VsZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Vm
bC9mYXN0L2V2ZW50cy9jb250ZXh0LW5vLWRlc2VsZWN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYWJkN2I2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2Zhc3QvZXZlbnRzL2NvbnRleHQtbm8tZGVzZWxlY3QtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTQgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAor
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBS
ZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlclRleHRD
b250cm9sIHtJTlBVVH0gYXQgKDIsMikgc2l6ZSAxOTN4MjggW2JnY29sb3I9I0ZGRkZGRl0KKyAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCitsYXllciBhdCAoMTQsMTYpIHNpemUgMTg2eDE4
IHNjcm9sbEhlaWdodCAxOQorICBSZW5kZXJCbG9jayB7RElWfSBhdCAoNCw2KSBzaXplIDE4Nngx
OAorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDEyNHgxOQorICAgICAgdGV4
dCBydW4gYXQgKDAsMCkgd2lkdGggMTI0OiAic29tZSBzYW1wbGUgdGV4dCIKK3NlbGVjdGlvbiBz
dGFydDogcG9zaXRpb24gNSBvZiBjaGlsZCAwIHsjdGV4dH0gb2YgY2hpbGQgMCB7RElWfSBvZiB7
I3NoYWRvdy1yb290fSBvZiBjaGlsZCAxIHtJTlBVVH0gb2YgYm9keQorc2VsZWN0aW9uIGVuZDog
ICBwb3NpdGlvbiAxNSBvZiBjaGlsZCAwIHsjdGV4dH0gb2YgY2hpbGQgMCB7RElWfSBvZiB7I3No
YWRvdy1yb290fSBvZiBjaGlsZCAxIHtJTlBVVH0gb2YgYm9keQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDY2ZmY0
YzUuLjJmNGQ5ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMi0wOS0xNCAgV29q
Y2llY2ggQmllbGF3c2tpICA8dy5iaWVsYXdza2lAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW1dL
Ml1bV0tUUl0gV2ViS2l0VGVzdFJ1bm5lciBuZWVkcyBldmVudFNlbmRlci5jb250ZXh0Q2xpY2so
KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODY4ODEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbmplY3Rl
ZEJ1bmRsZSBBUEkgZXh0ZW5kZWQgdG8gcmV0cmlldmUgY29udGV4dE1lbnUgZW50cmllcyBuYW1l
cy4KKyAgICAgICAgV2ViQ29udGV4dE1lbnUgZXh0ZWRlZCB3aXRoIGZ1bmN0aW9uIHRvIHJldHJp
ZXZlIG1lbnUgaXRlbXMuCisgICAgICAgIFRoaXMgQVBJIGlzIHJlcXVpcmVkIGJ5IGxheW91dCB0
ZXN0cy4KKworICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5k
bGVQYWdlLmNwcDoKKyAgICAgICAgKFdLQnVuZGxlUGFnZUdldENvbnRleHRNZW51RW50cmllc05h
bWVzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxl
UGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHRNZW51OjppdGVtcyk6CisgICAgICAgIChXZWJL
aXQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5oOgorICAg
ICAgICAoV2ViQ29udGV4dE1lbnUpOgorCiAyMDEyLTEwLTE2ICBNaWtoYWlsIFBvemRueWFrb3Yg
IDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgogCiAgICAgICAgIFtXSzJdIFByb3ZpZGUg
V0tVUkwgQVBJIGZvciByZXNvbHZpbmcgdGhlIHJlbGF0aXZlIFVSTCB3aXRoIHRoZSBnaXZlbiBi
YXNlIFVSTApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCmluZGV4IDUzZGRmNjEuLmI5YTM5
MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
QVBJL2MvV0tCdW5kbGVQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAKQEAgLTMwLDEzICszMCwxOCBAQAog
I2luY2x1ZGUgIkluamVjdGVkQnVuZGxlQmFja0ZvcndhcmRMaXN0LmgiCiAjaW5jbHVkZSAiSW5q
ZWN0ZWRCdW5kbGVOb2RlSGFuZGxlLmgiCiAjaW5jbHVkZSAiV0tBUElDYXN0LmgiCisjaW5jbHVk
ZSAiV0tBcnJheS5oIgogI2luY2x1ZGUgIldLQnVuZGxlQVBJQ2FzdC5oIgorI2luY2x1ZGUgIldL
UmV0YWluUHRyLmgiCisjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnUuaCIKKyNpbmNsdWRlICJXZWJD
b250ZXh0TWVudUl0ZW0uaCIKICNpbmNsdWRlICJXZWJGcmFtZS5oIgogI2luY2x1ZGUgIldlYkZ1
bGxTY3JlZW5NYW5hZ2VyLmgiCiAjaW5jbHVkZSAiV2ViSW1hZ2UuaCIKICNpbmNsdWRlICJXZWJQ
YWdlLmgiCiAjaW5jbHVkZSAiV2ViUmVuZGVyTGF5ZXIuaCIKICNpbmNsdWRlICJXZWJSZW5kZXJP
YmplY3QuaCIKKyNpbmNsdWRlICJXZWJTdHJpbmcuaCIKICNpbmNsdWRlICJXZWJVUkwuaCIKICNp
bmNsdWRlICJXZWJVUkxSZXF1ZXN0LmgiCiAKQEAgLTE0NSw2ICsxNTAsMjQgQEAgV0tCdW5kbGVG
cmFtZVJlZiBXS0J1bmRsZVBhZ2VHZXRNYWluRnJhbWUoV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYp
CiAgICAgcmV0dXJuIHRvQVBJKHRvSW1wbChwYWdlUmVmKS0+bWFpbldlYkZyYW1lKCkpOwogfQog
CitXS0FycmF5UmVmIFdLQnVuZGxlUGFnZUNvcHlDb250ZXh0TWVudUVudHJpZXNOYW1lcyhXS0J1
bmRsZVBhZ2VSZWYgcGFnZVJlZikKK3sKKyNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKKyAgICBX
ZWJDb250ZXh0TWVudSogY29udGV4dE1lbnUgPSB0b0ltcGwocGFnZVJlZiktPmNvbnRleHRNZW51
KCk7CisgICAgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+IGl0ZW1zID0gY29udGV4dE1l
bnUtPml0ZW1zKCk7CisgICAgT3duQXJyYXlQdHI8V0tUeXBlUmVmPiBpdGVtTmFtZXMgPSBhZG9w
dEFycmF5UHRyKG5ldyBXS1R5cGVSZWZbaXRlbXMuc2l6ZSgpXSk7CisgICAgc2l6ZV90IGFycmF5
TGVuZ3RoID0gaXRlbXMuc2l6ZSgpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgYXJyYXlM
ZW5ndGg7ICsraSkgeworICAgICAgICBSZWZQdHI8V2ViU3RyaW5nPiBuYW1lID0gV2ViU3RyaW5n
OjpjcmVhdGUoaXRlbXNbaV0udGl0bGUoKSk7CisgICAgICAgIGl0ZW1OYW1lc1tpXSA9IHRvQVBJ
KG5hbWUucmVsZWFzZSgpLmxlYWtSZWYoKSk7CisgICAgfQorCisgICAgcmV0dXJuIFdLQXJyYXlD
cmVhdGUoaXRlbU5hbWVzLmdldCgpLCBhcnJheUxlbmd0aCk7CisjZWxzZQorICAgIHJldHVybiAw
OworI2VuZGlmCit9CisKIHZvaWQqIFdLQWNjZXNzaWJpbGl0eVJvb3RPYmplY3QoV0tCdW5kbGVQ
YWdlUmVmIHBhZ2VSZWYpCiB7CiAjaWYgSEFWRShBQ0NFU1NJQklMSVRZKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBh
Z2VQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS9jL1dLQnVuZGxlUGFnZVByaXZhdGUuaAppbmRleCAxMWIyMGRjLi5iNGUwZjMyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVu
ZGxlUGFnZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVByaXZhdGUuaApAQCAtNzcsNiArNzcsOCBAQCBXS19F
WFBPUlQgYm9vbCBXS0J1bmRsZVBhZ2VDYW5TaG93TUlNRVR5cGUoV0tCdW5kbGVQYWdlUmVmLCBX
S1N0cmluZ1JlZiBtaW1lVHlwZQogV0tfRVhQT1JUIHZvaWQqIFdLQWNjZXNzaWJpbGl0eVJvb3RP
YmplY3QoV0tCdW5kbGVQYWdlUmVmKTsKIFdLX0VYUE9SVCB2b2lkKiBXS0FjY2Vzc2liaWxpdHlG
b2N1c2VkT2JqZWN0KFdLQnVuZGxlUGFnZVJlZik7CiAKK1dLX0VYUE9SVCBXS0FycmF5UmVmIFdL
QnVuZGxlUGFnZUNvcHlDb250ZXh0TWVudUVudHJpZXNOYW1lcyhXS0J1bmRsZVBhZ2VSZWYgcGFn
ZVJlZik7CisKICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuY3BwIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmNwcAppbmRleCAzYTkx
ZDkwLi4zYzgxMGQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViQ29udGV4dE1lbnUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJDb250ZXh0TWVudS5jcHAKQEAgLTk1LDYgKzk1LDMyIEBAIHZvaWQgV2ViQ29udGV4
dE1lbnU6Oml0ZW1TZWxlY3RlZChjb25zdCBXZWJDb250ZXh0TWVudUl0ZW1EYXRhJiBpdGVtKQog
ICAgIG1fcGFnZS0+Y29yZVBhZ2UoKS0+Y29udGV4dE1lbnVDb250cm9sbGVyKCktPmNvbnRleHRN
ZW51SXRlbVNlbGVjdGVkKCZjb3JlSXRlbSk7CiB9CiAKK1ZlY3RvcjxXZWJDb250ZXh0TWVudUl0
ZW1EYXRhPiBXZWJDb250ZXh0TWVudTo6aXRlbXMoKSBjb25zdAoreworICAgIFZlY3RvcjxXZWJD
b250ZXh0TWVudUl0ZW1EYXRhPiBwcm9wb3NlZE1lbnU7CisgICAgQ29udGV4dE1lbnVDb250cm9s
bGVyKiBjb250cm9sbGVyID0gbV9wYWdlLT5jb3JlUGFnZSgpLT5jb250ZXh0TWVudUNvbnRyb2xs
ZXIoKTsKKyAgICBpZiAoIWNvbnRyb2xsZXIpCisgICAgICAgIHJldHVybiBwcm9wb3NlZE1lbnU7
CisgICAgQ29udGV4dE1lbnUqIG1lbnUgPSBjb250cm9sbGVyLT5jb250ZXh0TWVudSgpOworICAg
IGlmICghbWVudSkKKyAgICAgICAgcmV0dXJuIHByb3Bvc2VkTWVudTsKKworICAgIC8vIEdpdmUg
dGhlIGJ1bmRsZSBjbGllbnQgYSBjaGFuY2UgdG8gcHJvY2VzcyB0aGUgbWVudS4KKyNpZiBVU0Uo
Q1JPU1NfUExBVEZPUk1fQ09OVEVYVF9NRU5VUykKKyAgICBjb25zdCBWZWN0b3I8Q29udGV4dE1l
bnVJdGVtPiYgY29yZUl0ZW1zID0gbWVudS0+aXRlbXMoKTsKKyNlbHNlCisgICAgVmVjdG9yPENv
bnRleHRNZW51SXRlbT4gY29yZUl0ZW1zID0gY29udGV4dE1lbnVJdGVtVmVjdG9yKG1lbnUtPnBs
YXRmb3JtRGVzY3JpcHRpb24oKSk7CisjZW5kaWYKKyAgICBwcm9wb3NlZE1lbnUgPSBraXRJdGVt
cyhjb3JlSXRlbXMsIG1lbnUpOworICAgIFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiBu
ZXdNZW51OworICAgIFJlZlB0cjxBUElPYmplY3Q+IHVzZXJEYXRhOworICAgIFJlZlB0cjxJbmpl
Y3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQ+IGhpdFRlc3RSZXN1bHQgPSBJbmplY3RlZEJ1bmRsZUhp
dFRlc3RSZXN1bHQ6OmNyZWF0ZShjb250cm9sbGVyLT5oaXRUZXN0UmVzdWx0KCkpOworICAgIGlm
IChtX3BhZ2UtPmluamVjdGVkQnVuZGxlQ29udGV4dE1lbnVDbGllbnQoKS5nZXRDdXN0b21NZW51
RnJvbURlZmF1bHRJdGVtcyhtX3BhZ2UsIGhpdFRlc3RSZXN1bHQuZ2V0KCksIHByb3Bvc2VkTWVu
dSwgbmV3TWVudSwgdXNlckRhdGEpKQorICAgICAgICBwcm9wb3NlZE1lbnUgPSBuZXdNZW51Owor
CisgICAgcmV0dXJuIHByb3Bvc2VkTWVudTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAK
ICNlbmRpZiAvLyBFTkFCTEUoQ09OVEVYVF9NRU5VUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5oIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmgKaW5kZXggYzhhNWY1YS4uZGYwODNk
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRl
eHRNZW51LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRl
eHRNZW51LmgKQEAgLTQzLDYgKzQzLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBzaG93KCk7CiAg
ICAgdm9pZCBpdGVtU2VsZWN0ZWQoY29uc3QgV2ViQ29udGV4dE1lbnVJdGVtRGF0YSYpOworICAg
IFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiBpdGVtcygpIGNvbnN0OwogCiBwcml2YXRl
OgogICAgIFdlYkNvbnRleHRNZW51KFdlYlBhZ2UqKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5n
ZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiZGMyOGZmLi4xZmM3ZDJkIDEwMDY0NAotLS0g
YS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAK
KzIwMTItMDktMTQgIFdvamNpZWNoIEJpZWxhd3NraSAgPHcuYmllbGF3c2tpQHNhbXN1bmcuY29t
PgorCisgICAgICAgIFtXSzJdW1dLVFJdIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgZXZlbnRTZW5k
ZXIuY29udGV4dENsaWNrKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg2ODgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgZXZlbnRTZW5kZXIgb2JqZWN0IGV4dGVuZGVkIHdpdGggY29udGV4dENsaWNrKCkg
bWV0aG9kIGluIFdlYktpdFRlc3RSdW5uZXIuCisgICAgICAgIGNvbnRleHRDbGljaygpIG1ldGhv
ZCByZXR1cm5zIGFuIGFycmF5IG9mIG1lbnUgaXRlbXMgb2JqZWN0cyB3aXRoIGZpZWxkICd0aXRs
ZScgY29udGFpbmluZyB0aXRsZSBvZiBzaW5nbGUKKyAgICAgICAgY29udGV4dCBtZW51IGVudHJ5
LiBBY2NvcmRpbmcgdG8gc29tZSB0ZXN0cyBtZW51IGl0ZW1zIG9iamVjdHMgc2hhbGwgYWxzbyBz
dXBwb3J0ICdjbGljaygpJyBtZXRob2QsIGJ1dCBpdCdzIG5vdAorICAgICAgICBkZWxpdmVyZWQg
aW4gdGhpcyBwYXRjaC4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvQmluZGluZ3MvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5pZGw6CisgICAgICAgICogV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmNwcDoKKyAg
ICAgICAgKFdUUjo6RXZlbnRTZW5kaW5nQ29udHJvbGxlcjo6Y29udGV4dENsaWNrKToKKyAgICAg
ICAgKFdUUik6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVu
dFNlbmRpbmdDb250cm9sbGVyLmg6CisgICAgICAgIChFdmVudFNlbmRpbmdDb250cm9sbGVyKToK
KwogMjAxMi0xMC0xNiAgTWlraGFpbCBQb3pkbnlha292ICA8bWlraGFpbC5wb3pkbnlha292QGlu
dGVsLmNvbT4KIAogICAgICAgICBbV0syXSBQcm92aWRlIFdLVVJMIEFQSSBmb3IgcmVzb2x2aW5n
IHRoZSByZWxhdGl2ZSBVUkwgd2l0aCB0aGUgZ2l2ZW4gYmFzZSBVUkwKZGlmZiAtLWdpdCBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvRXZlbnRTZW5kaW5n
Q29udHJvbGxlci5pZGwgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Jp
bmRpbmdzL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaWRsCmluZGV4IDUyYTdhNWIuLjFkNjJjOWIg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGlu
Z3MvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5pZGwKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9FdmVudFNlbmRpbmdDb250cm9sbGVyLmlkbApAQCAt
MjksNiArMjksNyBAQCBpbnRlcmZhY2UgRXZlbnRTZW5kaW5nQ29udHJvbGxlciB7CiAgICAgdm9p
ZCBtb3VzZU1vdmVUbyhpbiBsb25nIHgsIGluIGxvbmcgeSk7CiAgICAgdm9pZCBtb3VzZVNjcm9s
bEJ5KGluIGxvbmcgeCwgaW4gbG9uZyB5KTsKICAgICB2b2lkIGNvbnRpbnVvdXNNb3VzZVNjcm9s
bEJ5KGluIGxvbmcgeCwgaW4gbG9uZyB5LCBpbiBbT3B0aW9uYWxdIGJvb2xlYW4gcGFnZWQpOwor
ICAgIG9iamVjdCBjb250ZXh0Q2xpY2soKTsKICAgICB2b2lkIHNjaGVkdWxlQXN5bmNocm9ub3Vz
Q2xpY2soKTsKIAogICAgIHZvaWQgbGVhcEZvcndhcmQoaW4gbG9uZyBtaWxsaXNlY29uZHMpOwpk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNl
bmRpbmdDb250cm9sbGVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5jcHAKaW5kZXggYmY2ZDliYy4uZWQ3OWFjNSAxMDA2
NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRp
bmdDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuY3BwCkBAIC0zMTksNiArMzE5LDM2IEBAIHZvaWQg
RXZlbnRTZW5kaW5nQ29udHJvbGxlcjo6Y29udGludW91c01vdXNlU2Nyb2xsQnkoaW50IHgsIGlu
dCB5LCBib29sIHBhZ2VkKQogICAgIFdLQnVuZGxlUG9zdFN5bmNocm9ub3VzTWVzc2FnZShJbmpl
Y3RlZEJ1bmRsZTo6c2hhcmVkKCkuYnVuZGxlKCksIEV2ZW50U2VuZGVyTWVzc2FnZU5hbWUuZ2V0
KCksIEV2ZW50U2VuZGVyTWVzc2FnZUJvZHkuZ2V0KCksIDApOwogfQogCitKU1ZhbHVlUmVmIEV2
ZW50U2VuZGluZ0NvbnRyb2xsZXI6OmNvbnRleHRDbGljaygpCit7CisgICAgV0tCdW5kbGVQYWdl
UmVmIHBhZ2UgPSBJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkucGFnZSgpLT5wYWdlKCk7CisgICAg
V0tCdW5kbGVGcmFtZVJlZiBtYWluRnJhbWUgPSBXS0J1bmRsZVBhZ2VHZXRNYWluRnJhbWUocGFn
ZSk7CisgICAgSlNDb250ZXh0UmVmIGNvbnRleHQgPSBXS0J1bmRsZUZyYW1lR2V0SmF2YVNjcmlw
dENvbnRleHQobWFpbkZyYW1lKTsKKyNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKKyAgICAvLyBE
byBtb3VzZSBjb250ZXh0IGNsaWNrLgorICAgIG1vdXNlRG93bigyLCAwKTsKKyAgICBtb3VzZVVw
KDIsIDApOworCisgICAgV0tSZXRhaW5QdHI8V0tBcnJheVJlZj4gZW50cmllc05hbWVzID0gYWRv
cHRXSyhXS0J1bmRsZVBhZ2VDb3B5Q29udGV4dE1lbnVFbnRyaWVzTmFtZXMocGFnZSkpOworICAg
IEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBqc1Byb3BlcnR5TmFtZShBZG9wdCwgSlNTdHJpbmdD
cmVhdGVXaXRoVVRGOENTdHJpbmcoInRpdGxlIikpOworICAgIHNpemVfdCBlbnRyaWVzU2l6ZSA9
IFdLQXJyYXlHZXRTaXplKGVudHJpZXNOYW1lcy5nZXQoKSk7CisgICAgT3duQXJyYXlQdHI8SlNW
YWx1ZVJlZj4ganNWYWx1ZXNBcnJheSA9IGFkb3B0QXJyYXlQdHIobmV3IEpTVmFsdWVSZWZbZW50
cmllc1NpemVdKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGVudHJpZXNTaXplOyArK2kp
IHsKKyAgICAgICAgQVNTRVJUKFdLR2V0VHlwZUlEKFdLQXJyYXlHZXRJdGVtQXRJbmRleChlbnRy
aWVzTmFtZXMuZ2V0KCksIGkpKSA9PSBXS1N0cmluZ0dldFR5cGVJRCgpKTsKKyAgICAgICAgV0tT
dHJpbmdSZWYgd2tFbnRyeU5hbWUgPSBzdGF0aWNfY2FzdDxXS1N0cmluZ1JlZj4oV0tBcnJheUdl
dEl0ZW1BdEluZGV4KGVudHJpZXNOYW1lcy5nZXQoKSwgaSkpOworICAgICAgICBKU09iamVjdFJl
ZiBqc0l0ZW1PYmplY3QgPSBKU09iamVjdE1ha2UoY29udGV4dCwgMCwgMCk7CisgICAgICAgIEpT
UmV0YWluUHRyPEpTU3RyaW5nUmVmPiBqc05hbWVDb3B5KEFkb3B0LCBXS1N0cmluZ0NvcHlKU1N0
cmluZyh3a0VudHJ5TmFtZSkpOworICAgICAgICBKU1ZhbHVlUmVmIGpzRW50cnlOYW1lID0gSlNW
YWx1ZU1ha2VTdHJpbmcoY29udGV4dCwganNOYW1lQ29weS5nZXQoKSk7CisgICAgICAgIEpTT2Jq
ZWN0U2V0UHJvcGVydHkoY29udGV4dCwganNJdGVtT2JqZWN0LCBqc1Byb3BlcnR5TmFtZS5nZXQo
KSwganNFbnRyeU5hbWUsIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHksIDApOworICAgICAg
ICBqc1ZhbHVlc0FycmF5W2ldID0ganNJdGVtT2JqZWN0OworICAgIH0KKworICAgIHJldHVybiBK
U09iamVjdE1ha2VBcnJheShjb250ZXh0LCBlbnRyaWVzU2l6ZSwganNWYWx1ZXNBcnJheS5nZXQo
KSwgMCk7CisjZWxzZQorICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsK
KyNlbmRpZgorfQorCiAjaWZkZWYgVVNFX1dFQlBST0NFU1NfRVZFTlRfU0lNVUxBVElPTgogdm9p
ZCBFdmVudFNlbmRpbmdDb250cm9sbGVyOjp1cGRhdGVDbGlja0NvdW50KFdLRXZlbnRNb3VzZUJ1
dHRvbiBidXR0b24pCiB7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5oCmluZGV4IDQxM2I5MWMu
LjY5YzU0ZjkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5oCkBAIC01Miw2ICs1Miw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIG1vdXNlTW92ZVRvKGludCB4LCBpbnQgeSk7CiAgICAgdm9pZCBt
b3VzZVNjcm9sbEJ5KGludCB4LCBpbnQgeSk7CiAgICAgdm9pZCBjb250aW51b3VzTW91c2VTY3Jv
bGxCeShpbnQgeCwgaW50IHksIGJvb2wgcGFnZWQpOworICAgIEpTVmFsdWVSZWYgY29udGV4dENs
aWNrKCk7CiAgICAgdm9pZCBsZWFwRm9yd2FyZChpbnQgbWlsbGlzZWNvbmRzKTsKICAgICB2b2lk
IHNjaGVkdWxlQXN5bmNocm9ub3VzQ2xpY2soKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170381</attachid>
            <date>2012-10-24 06:32:25 -0700</date>
            <delta_ts>2012-10-25 02:18:32 -0700</delta_ts>
            <desc>eventSender.contextClick() method partially implemented.</desc>
            <filename>contextClick.patch</filename>
            <type>text/plain</type>
            <size>25909</size>
            <attacher name="Wojciech Bielawski">w.bielawski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA5YmVmM2Q0Li44NTllYTMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDkt
MTQgIFdvamNpZWNoIEJpZWxhd3NraSAgPHcuYmllbGF3c2tpQHNhbXN1bmcuY29tPgorCisgICAg
ICAgIFtXSzJdW1dLVFJdIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgZXZlbnRTZW5kZXIuY29udGV4
dENsaWNrKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTg2ODgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgZXhwZWN0ZWQgcmVzdWx0cyBmb3IgdHdvIHRlc3RzIGZvciBFRkwgcGxhdGZvcm0uCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0yLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZWZsL2Zhc3QvZXZlbnRzL2NvbnRl
eHQtbm8tZGVzZWxlY3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAxMi0xMC0xNiAgS2Vpc2hp
IEhhdHRvcmkgIDxrZWlzaGlAd2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgdGVzdCB0aGF0IGNo
ZWNrcyB0aGF0IHJlbG9hZGluZyBhZnRlciBzZXR0aW5nIGEgdmFsdWUgZm9yIGFuIGlucHV0IGVs
ZW1lbnQgZnJvbSBhIHN1Z2dlc3Rpb24gcGlja2VyIHJlc2V0cyB0aGUgdmFsdWVzCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwtd2sxL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9lZmwtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNjUxNzE4Yi4u
NmViNzljYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsLXdrMS9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC13azEvVGVzdEV4cGVjdGF0
aW9ucwpAQCAtMjkwLDMgKzI5MCwyMyBAQCB3ZWJraXQub3JnL2IvODc5NzIgZmFzdC9lbmNvZGlu
Zy9tYWlsdG8tYWx3YXlzLXV0Zi04Lmh0bWwgWyBGYWlsdXJlIF0KIAogIyBGcmFtZSBkb2VzIG5v
dCBnZXQgZm9jdXMgYXMgZXhwZWN0ZWQKIHdlYmtpdC5vcmcvYi85NzA3NyBpbnNwZWN0b3IvZXh0
ZW5zaW9ucy9leHRlbnNpb25zLXBhbmVsLmh0bWwgWyBGYWlsdXJlIF0KKworIyBFRkwncyBFdmVu
dFNlbmRlciBkb2VzIG5vdCBpbXBsZW1lbnQgY29udGV4dENsaWNrIHlldAord2Via2l0Lm9yZy9i
Lzg2MDkxIGVkaXRpbmcvcGFzdGVib2FyZC9jb3B5LXN0YW5kYWxvbmUtaW1hZ2UtY3Jhc2guaHRt
bCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc2VsZWN0aW9uLzUzNTQ0
NTUtMS5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9zZWxlY3Rp
b24vNTM1NDQ1NS0yLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5n
L3NlbGVjdGlvbi9idXR0b24tcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9y
Zy9iLzg2MDkxIGVkaXRpbmcvc2VsZWN0aW9uL2NvbnRleHQtbWVudS1vbi10ZXh0Lmh0bWwgWyBG
YWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3NlbGVjdGlvbi9jb250ZXh0LW1l
bnUtdGV4dC1zZWxlY3Rpb24uaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzg2MDkxIGVk
aXRpbmcvc2VsZWN0aW9uL2VtcHR5LWNlbGwtcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1cmUgXQor
d2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc2hhZG93L3JpZ2h0Y2xpY2stb24tbWV0ZXItaW4t
c2hhZG93LWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5n
L3NwZWxsaW5nL2NvbnRleHQtbWVudS1zdWdnZXN0aW9ucy5odG1sIFsgRmFpbHVyZSBdCit3ZWJr
aXQub3JnL2IvODYwOTEgZWRpdGluZy9zcGVsbGluZy9zcGVsbGNoZWNrLWlucHV0LXNlYXJjaC1j
cmFzaC5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvODYwOTEgZmFzdC9ldmVudHMvY29u
dGV4dC1uby1kZXNlbGVjdC5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvODYwOTEgZmFz
dC9ldmVudHMvY29udGV4dC1vbm1vdXNlZG93bi1ldmVudC5odG1sIFsgRmFpbHVyZSBdCit3ZWJr
aXQub3JnL2IvODYwOTEgZmFzdC9ldmVudHMvY29udGV4dG1lbnUtc2Nyb2xsZWQtcGFnZS13aXRo
LWZyYW1lLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBmYXN0L2V2ZW50cy9y
aWdodC1jbGljay1mb2N1cy5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvODYwOTEgZmFz
dC9ldmVudHMvc2VsZWN0c3RhcnQtcHJldmVudC1zZWxlY3Rpb24tb24tcmlnaHQtY2xpY2suaHRt
bCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzg2MDkxIG1lZGlhL2NvbnRleHQtbWVudS1hY3Rp
b25zLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBtZWRpYS9jb250cm9scy1y
aWdodC1jbGljay1vbi10aW1lYmFyLmh0bWwgWyBGYWlsdXJlIF0KKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZWZsLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZWZsLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGFhY2FiZjAuLmNkZDMyYTcg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC13azIvVGVzdEV4cGVjdGF0aW9u
cworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAg
LTI1NiwzICsyNTYsMTMgQEAgd2Via2l0Lm9yZy9iLzk5MTUyIHBsdWdpbnMvaWZyYW1lLXBsdWdp
bi1iZ2NvbG9yLmh0bWwgWyBGYWlsdXJlIF0KIAogIyBGbGFreSBvbiBFRkwgcG9ydC4KIHdlYmtp
dC5vcmcvYi85NjY0MSBtZWRpYS92aWRlby1zZWVrLXBhc3QtZW5kLXBsYXlpbmcuaHRtbCBbIEZh
aWx1cmUgXQorCisjIEVGTCBJbXBsZW1lbnRhdGlvbiBvZiBzcGVsbGNoZWNraW5nIGZlYXR1cmUK
K3dlYmtpdC5vcmcvYi85MTg1NCBlZGl0aW5nL3NwZWxsaW5nL2NvbnRleHQtbWVudS1zdWdnZXN0
aW9ucy5odG1sIFsgRmFpbHVyZSBdCisKKyMgRUZMJ3MgRXZlbnRTZW5kZXIgY29udGV4dENsaWNr
IHNob3VsZCByZXR1cm4gb2JqZWN0cyB0aGF0IGltcGxlbWVudHMgY2xpY2soKSBtZXRob2QKK3dl
YmtpdC5vcmcvYi85ODQxMCBlZGl0aW5nL3Bhc3RlYm9hcmQvY29weS1zdGFuZGFsb25lLWltYWdl
LWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi85ODQxMCBtZWRpYS9jb250ZXh0
LW1lbnUtYWN0aW9ucy5odG1sIFsgRmFpbHVyZSBdCisKKyMgRUZMIFNlbGVjdGlvbiB0eXBlIGlz
IG5vdCBzZXQgY29ycmVjdGx5Cit3ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9zZWxlY3Rpb24v
NTM1NDQ1NS0xLmh0bWwgWyBGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RF
eHBlY3RhdGlvbnMKaW5kZXggMTAwOWUzNy4uYzA5ODRhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEyNjUsMjcgKzEyNjUsNiBAQCB3ZWJraXQub3Jn
L2IvODIxNDAgaW5zcGVjdG9yL2dlb2xvY2F0aW9uLWVycm9yLmh0bWwgWyBGYWlsdXJlIF0KIHdl
YmtpdC5vcmcvYi84MjE0MCBpbnNwZWN0b3IvZ2VvbG9jYXRpb24tc3VjY2Vzcy5odG1sIFsgRmFp
bHVyZSBdCiB3ZWJraXQub3JnL2IvODIxNDAgaW5zcGVjdG9yL2dlb2xvY2F0aW9uLXdhdGNoUG9z
aXRpb24uaHRtbCBbIEZhaWx1cmUgXQogCi0jIEVGTCdzIEV2ZW50U2VuZGVyIGRvZXMgbm90IGlt
cGxlbWVudCBjb250ZXh0Q2xpY2sgeWV0Ci13ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9wYXN0
ZWJvYXJkL2NvcHktc3RhbmRhbG9uZS1pbWFnZS1jcmFzaC5odG1sIFsgRmFpbHVyZSBdCi13ZWJr
aXQub3JnL2IvODYwOTEgZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0xLmh0bWwgWyBGYWlsdXJl
IF0KLXdlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3NlbGVjdGlvbi9idXR0b24tcmlnaHQtY2xp
Y2suaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc2VsZWN0aW9u
L2NvbnRleHQtbWVudS1vbi10ZXh0Lmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84NjA5
MSBlZGl0aW5nL3NlbGVjdGlvbi9jb250ZXh0LW1lbnUtdGV4dC1zZWxlY3Rpb24uaHRtbCBbIEZh
aWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc2VsZWN0aW9uL2VtcHR5LWNlbGwt
cmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcv
c3BlbGxpbmcvY29udGV4dC1tZW51LXN1Z2dlc3Rpb25zLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtp
dC5vcmcvYi84NjA5MSBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsY2hlY2staW5wdXQtc2VhcmNoLWNy
YXNoLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84NjA5MSBmYXN0L2V2ZW50cy9jb250
ZXh0LW9ubW91c2Vkb3duLWV2ZW50Lmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84NjA5
MSBmYXN0L2V2ZW50cy9jb250ZXh0bWVudS1zY3JvbGxlZC1wYWdlLXdpdGgtZnJhbWUuaHRtbCBb
IEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIGZhc3QvZXZlbnRzL3JpZ2h0LWNsaWNrLWZv
Y3VzLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84NjA5MSBmYXN0L2V2ZW50cy9zZWxl
Y3RzdGFydC1wcmV2ZW50LXNlbGVjdGlvbi1vbi1yaWdodC1jbGljay5odG1sIFsgRmFpbHVyZSBd
Ci13ZWJraXQub3JnL2IvODYwOTEgbWVkaWEvY29udGV4dC1tZW51LWFjdGlvbnMuaHRtbCBbIEZh
aWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIG1lZGlhL2NvbnRyb2xzLXJpZ2h0LWNsaWNrLW9u
LXRpbWViYXIuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc2hh
ZG93L3JpZ2h0Y2xpY2stb24tbWV0ZXItaW4tc2hhZG93LWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0K
LQotIyBFRkwncyBFdmVudFNlbmRlciBjb250ZXh0Q2xpY2ssIG5lZWRzIGJhc2VsaW5lcwotd2Vi
a2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc2VsZWN0aW9uLzUzNTQ0NTUtMi5odG1sIFsgTWlzc2lu
ZyBdCi13ZWJraXQub3JnL2IvODYwOTEgZmFzdC9ldmVudHMvY29udGV4dC1uby1kZXNlbGVjdC5o
dG1sIFsgTWlzc2luZyBdCi0KICMgSUVUQyBuYW1lc3BhY2UgZmFpbHVyZXMKIHdlYmtpdC5vcmcv
Yi84NjE0MiBpZXRlc3RjZW50ZXIvY3NzMy9uYW1lc3BhY2VzL3N5bnRheC0wMjEueG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9l
ZGl0aW5nL3NlbGVjdGlvbi81MzU0NDU1LTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZWZsL2VkaXRpbmcvc2VsZWN0aW9uLzUzNTQ0NTUtMi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzkzNTlhMQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9lZGl0aW5nL3NlbGVjdGlvbi81MzU0NDU1LTItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjMgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAor
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVy
IGF0ICg4LDgpIHNpemUgNjEyeDE0MgorICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXpl
IDYxMngxNDIgW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KKyAgICBSZW5kZXJCbG9jayB7
SDF9IGF0ICg2LDYpIHNpemUgNjAweDM3CisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSA0NTF4MzYKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNDUxOiAiV29y
ZCBzZWxlY3Rpb24gb24gcmlnaHQgY2xpY2sgdGVzdCIKKyAgICBSZW5kZXJCbG9jayAoYW5vbnlt
b3VzKSBhdCAoNiw2NCkgc2l6ZSA2MDB4NzIKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDU5N3gzNworICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA1OTc6ICJU
aGlzIHRlc3RzIHRvIG1ha2Ugc3VyZSB0aGF0IHJpZ2h0IGNsaWNraW5nIG5vbi1lZGl0YWJsZSBj
b250ZW50IG9ubHkgY3JlYXRlcyBhIHdvcmQgc2VsZWN0aW9uIGZvciIKKyAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMTgpIHdpZHRoIDEwMzogImNsaWNrcyBvdmVyIHRleHQuICIKKyAgICAgIFJlbmRl
cklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAxOHgxOQorICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDEwMywxOCkgc2l6ZSAxOHgxOQorICAgICAgICAgIHRleHQgcnVuIGF0ICgxMDMs
MTgpIHdpZHRoIDE4OiAiVG8iCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEyMSwxOCkg
c2l6ZSA1Nzd4NTUKKyAgICAgICAgdGV4dCBydW4gYXQgKDEyMSwxOCkgd2lkdGggNDExOiAiIHJ1
biBtYW51YWxseSwgcmlnaHQgY2xpY2sgb24gdGV4dCwgYW5kIGEgd29yZCBzaG91bGQgYmUgc2Vs
ZWN0ZWQuICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDUzMiwxOCkgd2lkdGggMzU6ICJSaWdodCIK
KyAgICAgICAgdGV4dCBydW4gYXQgKDAsMzYpIHdpZHRoIDU3NzogImNsaWNrIG9uIHRoZSBlbXB0
eSBzcGFjZSBvdXRzaWRlIGFuZCB0byB0aGUgcmlnaHQgb2YgdGhlIGJsYWNrIGJvcmRlciwgdGhl
IHNlbGVjdGlvbiBzaG91bGQgYmUiCisgICAgICAgIHRleHQgcnVuIGF0ICgwLDU0KSB3aWR0aCA1
OTogInJlbW92ZWQuIgorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgw
CitjYXJldDogcG9zaXRpb24gMCBvZiBjaGlsZCAwIHsjdGV4dH0gb2YgY2hpbGQgMSB7SDF9IG9m
IGJvZHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9mYXN0L2V2ZW50cy9j
b250ZXh0LW5vLWRlc2VsZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Vm
bC9mYXN0L2V2ZW50cy9jb250ZXh0LW5vLWRlc2VsZWN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYWJkN2I2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2Zhc3QvZXZlbnRzL2NvbnRleHQtbm8tZGVzZWxlY3QtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTQgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAor
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBS
ZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlclRleHRD
b250cm9sIHtJTlBVVH0gYXQgKDIsMikgc2l6ZSAxOTN4MjggW2JnY29sb3I9I0ZGRkZGRl0KKyAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCitsYXllciBhdCAoMTQsMTYpIHNpemUgMTg2eDE4
IHNjcm9sbEhlaWdodCAxOQorICBSZW5kZXJCbG9jayB7RElWfSBhdCAoNCw2KSBzaXplIDE4Nngx
OAorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDEyNHgxOQorICAgICAgdGV4
dCBydW4gYXQgKDAsMCkgd2lkdGggMTI0OiAic29tZSBzYW1wbGUgdGV4dCIKK3NlbGVjdGlvbiBz
dGFydDogcG9zaXRpb24gNSBvZiBjaGlsZCAwIHsjdGV4dH0gb2YgY2hpbGQgMCB7RElWfSBvZiB7
I3NoYWRvdy1yb290fSBvZiBjaGlsZCAxIHtJTlBVVH0gb2YgYm9keQorc2VsZWN0aW9uIGVuZDog
ICBwb3NpdGlvbiAxNSBvZiBjaGlsZCAwIHsjdGV4dH0gb2YgY2hpbGQgMCB7RElWfSBvZiB7I3No
YWRvdy1yb290fSBvZiBjaGlsZCAxIHtJTlBVVH0gb2YgYm9keQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGZkYzY5NTEuLjUxMWI5MDkgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay13azIvVGVzdEV4cGVjdGF0aW9ucwor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGstd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEz
MiwxOSArMTMyLDYgQEAgQnVnKEdUSykgZWRpdGluZy9zZWxlY3Rpb24vZXh0ZW5kLWFmdGVyLW1v
dXNlLXNlbGVjdGlvbi5odG1sIFsgRmFpbHVyZSBdCiAjIFdlYktpdDIgbmVlZHMgdGV4dElucHV0
Q29udHJvbGxlci5zZWxlY3RlZFJhbmdlCiBCdWcoR1RLKSBlZGl0aW5nL3NlbGVjdGlvbi9taXhl
ZC1lZGl0YWJpbGl0eS0xMC5odG1sIFsgRmFpbHVyZSBdCiAKLSMgSW1wbGVtZW50IGV2ZW50U2Vu
ZGVyLmNvbnRleHRDbGljawotQnVnKEdUSykgZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktc3RhbmRh
bG9uZS1pbWFnZS1jcmFzaC5odG1sIFsgRmFpbHVyZSBdCi1CdWcoR1RLKSBlZGl0aW5nL3NlbGVj
dGlvbi9lbXB0eS1jZWxsLXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhHVEspIGVk
aXRpbmcvc2VsZWN0aW9uL2J1dHRvbi1yaWdodC1jbGljay5odG1sIFsgRmFpbHVyZSBdCi1CdWco
R1RLKSBlZGl0aW5nL3NlbGVjdGlvbi9jb250ZXh0LW1lbnUtb24tdGV4dC5odG1sIFsgRmFpbHVy
ZSBdCi1CdWcoR1RLKSBlZGl0aW5nL3NlbGVjdGlvbi9lbXB0eS1jZWxsLXJpZ2h0LWNsaWNrLmh0
bWwgWyBGYWlsdXJlIF0KLUJ1ZyhHVEspIGZhc3QvZXZlbnRzL3NlbGVjdHN0YXJ0LXByZXZlbnQt
c2VsZWN0aW9uLW9uLXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhHVEspIGZhc3Qv
ZXZlbnRzL2NvbnRleHQtbm8tZGVzZWxlY3QuaHRtbCBbIEZhaWx1cmUgXQotQnVnKEdUSykgZmFz
dC9ldmVudHMvY29udGV4dG1lbnUtc2Nyb2xsZWQtcGFnZS13aXRoLWZyYW1lLmh0bWwgWyBGYWls
dXJlIF0KLUJ1ZyhHVEspIGZhc3QvZXZlbnRzL2NvbnRleHQtb25tb3VzZWRvd24tZXZlbnQuaHRt
bCBbIEZhaWx1cmUgXQotQnVnKEdUSykgbWVkaWEvY29udHJvbHMtcmlnaHQtY2xpY2stb24tdGlt
ZWJhci5odG1sIFsgRmFpbHVyZSBdCi1CdWcoR1RLKSBzdmcvY3VzdG9tL3VzZS1ldmVudHMtY3Jh
c2guc3ZnIFsgRmFpbHVyZSBdCi0KICMgSW1wbGVtZW50IFBhZ2VDbGllbnRJbXBsOjpyZWdpc3Rl
ckVkaXRDb21tYW5kIGFuZCBoYW5kbGluZyBjb21tYW5kcyBmdW5jdGlvbnMKIEJ1ZyhHVEspIGVk
aXRpbmcvZGVsZXRpbmcvZGVsZXRlLWJ5LXdvcmQtMDAyLmh0bWwgWyBGYWlsdXJlIF0KIEJ1ZyhH
VEspIGVkaXRpbmcvZGVsZXRpbmcvZGVsZXRlLWFuZC11bmRvLmh0bWwgWyBGYWlsdXJlIF0KQEAg
LTYyMCwzICs2MDcsMjUgQEAgd2Via2l0Lm9yZy9iLzk4NTI3IGh0dHAvdGVzdHMvbG9hZGluZy90
ZXh0LWNvbnRlbnQtdHlwZS13aXRoLWJpbmFyeS1leHRlbnNpb24uaHQKICMgRW5kIG9mIFRlc3Rz
IHdvcmtpbmcgaW4gV0syIGFuZCBmYWlsaW5nIGluIFdLMQogIy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8KIAorCisjIFNlbGVjdGlvbiBkb2Vzbid0IHdvcmsgcHJvcGVybHkuCitCdWco
R1RLKSBlZGl0aW5nL3NlbGVjdGlvbi9jb250ZXh0LW1lbnUtdGV4dC1zZWxlY3Rpb24uaHRtbCBb
IEZhaWx1cmUgUGFzcyBdCitCdWcoR1RLKSBlZGl0aW5nL3NlbGVjdGlvbi9lbXB0eS1jZWxsLXJp
Z2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0KK0J1ZyhHVEspIGVkaXRpbmcvc3BlbGxpbmcvY29u
dGV4dC1tZW51LXN1Z2dlc3Rpb25zLmh0bWwgWyBGYWlsdXJlIF0KKworIyBFRkwncyBFdmVudFNl
bmRlciBjb250ZXh0Q2xpY2sgc2hvdWxkIHJldHVybiBvYmplY3RzIHRoYXQgaW1wbGVtZW50cyBj
bGljaygpIG1ldGhvZAord2Via2l0Lm9yZy9iLzk4NDEwIGVkaXRpbmcvcGFzdGVib2FyZC9jb3B5
LXN0YW5kYWxvbmUtaW1hZ2UtY3Jhc2guaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzk4
NDEwIG1lZGlhL2NvbnRleHQtbWVudS1hY3Rpb25zLmh0bWwgWyBGYWlsdXJlIF0KKworIyBBbiBv
bmNvbnRleHRtZW51IGF0dHJpYnV0ZSBpcyBub3QgY2FsbGVkLgorQnVnKEdUSykgZWRpdGluZy9z
cGVsbGluZy9zcGVsbGNoZWNrLWlucHV0LXNlYXJjaC1jcmFzaC5odG1sIFsgRmFpbHVyZSBdCitC
dWcoR1RLKSBmYXN0L2V2ZW50cy9jb250ZXh0bWVudS1zY3JvbGxlZC1wYWdlLXdpdGgtZnJhbWUu
aHRtbCBbIEZhaWx1cmUgXQorCisjIEFuIG9ubW91c2Vkb3duIGF0dHJpYnV0ZSBpcyBub3QgY2Fs
bGVkLgorQnVnKEdUSykgZmFzdC9ldmVudHMvY29udGV4dC1vbm1vdXNlZG93bi1ldmVudC5odG1s
IFsgRmFpbHVyZSBdCisKKyMgQW4gb25zZWxlY3RzdGFydCBhdHRyaWJ1dGUgaXMgbm90IGNhbGxl
ZC4KK0J1ZyhHVEspIGZhc3QvZXZlbnRzL3NlbGVjdHN0YXJ0LXByZXZlbnQtc2VsZWN0aW9uLW9u
LXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0KKworIyBTdGFydCBvZiBtZWRpYSBwbGF5ZXIg
Y2F1c2VzIHRpbWVvdXQKK0J1ZyhHVEspIG1lZGlhL2NvbnRyb2xzLXJpZ2h0LWNsaWNrLW9uLXRp
bWViYXIuaHRtbCBbIEZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL2VkaXRpbmcvc2VsZWN0aW9uLzUzNTQ0NTUtMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ndGsvZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0yLWV4cGVjdGVkLnR4dApp
bmRleCAxOGU4MjA5Li44NDVlYTIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9n
dGsvZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0yLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0yLWV4cGVjdGVkLnR4
dApAQCAtMjAsNCArMjAsMyBAQCBsYXllciBhdCAoOCw4KSBzaXplIDYxMngxNDIKICAgICAgICAg
dGV4dCBydW4gYXQgKDAsMzYpIHdpZHRoIDU3NzogImNsaWNrIG9uIHRoZSBlbXB0eSBzcGFjZSBv
dXRzaWRlIGFuZCB0byB0aGUgcmlnaHQgb2YgdGhlIGJsYWNrIGJvcmRlciwgdGhlIHNlbGVjdGlv
biBzaG91bGQgYmUiCiAgICAgICAgIHRleHQgcnVuIGF0ICgwLDU0KSB3aWR0aCA1OTogInJlbW92
ZWQuIgogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi1jYXJldDog
cG9zaXRpb24gMTE4IG9mIGNoaWxkIDIgeyN0ZXh0fSBvZiBib2R5CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNjZm
ZjRjNS4uMmY0ZDlmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA5LTE0ICBX
b2pjaWVjaCBCaWVsYXdza2kgIDx3LmJpZWxhd3NraUBzYW1zdW5nLmNvbT4KKworICAgICAgICBb
V0syXVtXS1RSXSBXZWJLaXRUZXN0UnVubmVyIG5lZWRzIGV2ZW50U2VuZGVyLmNvbnRleHRDbGlj
aygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Njg4
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluamVj
dGVkQnVuZGxlIEFQSSBleHRlbmRlZCB0byByZXRyaWV2ZSBjb250ZXh0TWVudSBlbnRyaWVzIG5h
bWVzLgorICAgICAgICBXZWJDb250ZXh0TWVudSBleHRlZGVkIHdpdGggZnVuY3Rpb24gdG8gcmV0
cmlldmUgbWVudSBpdGVtcy4KKyAgICAgICAgVGhpcyBBUEkgaXMgcmVxdWlyZWQgYnkgbGF5b3V0
IHRlc3RzLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1
bmRsZVBhZ2UuY3BwOgorICAgICAgICAoV0tCdW5kbGVQYWdlR2V0Q29udGV4dE1lbnVFbnRyaWVz
TmFtZXMpOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5k
bGVQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dE1lbnU6Oml0ZW1zKToKKyAgICAgICAgKFdl
YktpdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51Lmg6Cisg
ICAgICAgIChXZWJDb250ZXh0TWVudSk6CisKIDIwMTItMTAtMTYgIE1pa2hhaWwgUG96ZG55YWtv
diAgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CiAKICAgICAgICAgW1dLMl0gUHJvdmlk
ZSBXS1VSTCBBUEkgZm9yIHJlc29sdmluZyB0aGUgcmVsYXRpdmUgVVJMIHdpdGggdGhlIGdpdmVu
IGJhc2UgVVJMCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAKaW5kZXggNTNkZGY2MS4uYjlh
MzkyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcApAQCAtMzAsMTMgKzMwLDE4IEBA
CiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVCYWNrRm9yd2FyZExpc3QuaCIKICNpbmNsdWRlICJJ
bmplY3RlZEJ1bmRsZU5vZGVIYW5kbGUuaCIKICNpbmNsdWRlICJXS0FQSUNhc3QuaCIKKyNpbmNs
dWRlICJXS0FycmF5LmgiCiAjaW5jbHVkZSAiV0tCdW5kbGVBUElDYXN0LmgiCisjaW5jbHVkZSAi
V0tSZXRhaW5QdHIuaCIKKyNpbmNsdWRlICJXZWJDb250ZXh0TWVudS5oIgorI2luY2x1ZGUgIldl
YkNvbnRleHRNZW51SXRlbS5oIgogI2luY2x1ZGUgIldlYkZyYW1lLmgiCiAjaW5jbHVkZSAiV2Vi
RnVsbFNjcmVlbk1hbmFnZXIuaCIKICNpbmNsdWRlICJXZWJJbWFnZS5oIgogI2luY2x1ZGUgIldl
YlBhZ2UuaCIKICNpbmNsdWRlICJXZWJSZW5kZXJMYXllci5oIgogI2luY2x1ZGUgIldlYlJlbmRl
ck9iamVjdC5oIgorI2luY2x1ZGUgIldlYlN0cmluZy5oIgogI2luY2x1ZGUgIldlYlVSTC5oIgog
I2luY2x1ZGUgIldlYlVSTFJlcXVlc3QuaCIKIApAQCAtMTQ1LDYgKzE1MCwyNCBAQCBXS0J1bmRs
ZUZyYW1lUmVmIFdLQnVuZGxlUGFnZUdldE1haW5GcmFtZShXS0J1bmRsZVBhZ2VSZWYgcGFnZVJl
ZikKICAgICByZXR1cm4gdG9BUEkodG9JbXBsKHBhZ2VSZWYpLT5tYWluV2ViRnJhbWUoKSk7CiB9
CiAKK1dLQXJyYXlSZWYgV0tCdW5kbGVQYWdlQ29weUNvbnRleHRNZW51RW50cmllc05hbWVzKFdL
QnVuZGxlUGFnZVJlZiBwYWdlUmVmKQoreworI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQorICAg
IFdlYkNvbnRleHRNZW51KiBjb250ZXh0TWVudSA9IHRvSW1wbChwYWdlUmVmKS0+Y29udGV4dE1l
bnUoKTsKKyAgICBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4gaXRlbXMgPSBjb250ZXh0
TWVudS0+aXRlbXMoKTsKKyAgICBPd25BcnJheVB0cjxXS1R5cGVSZWY+IGl0ZW1OYW1lcyA9IGFk
b3B0QXJyYXlQdHIobmV3IFdLVHlwZVJlZltpdGVtcy5zaXplKCldKTsKKyAgICBzaXplX3QgYXJy
YXlMZW5ndGggPSBpdGVtcy5zaXplKCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBhcnJh
eUxlbmd0aDsgKytpKSB7CisgICAgICAgIFJlZlB0cjxXZWJTdHJpbmc+IG5hbWUgPSBXZWJTdHJp
bmc6OmNyZWF0ZShpdGVtc1tpXS50aXRsZSgpKTsKKyAgICAgICAgaXRlbU5hbWVzW2ldID0gdG9B
UEkobmFtZS5yZWxlYXNlKCkubGVha1JlZigpKTsKKyAgICB9CisKKyAgICByZXR1cm4gV0tBcnJh
eUNyZWF0ZShpdGVtTmFtZXMuZ2V0KCksIGFycmF5TGVuZ3RoKTsKKyNlbHNlCisgICAgcmV0dXJu
IDA7CisjZW5kaWYKK30KKwogdm9pZCogV0tBY2Nlc3NpYmlsaXR5Um9vdE9iamVjdChXS0J1bmRs
ZVBhZ2VSZWYgcGFnZVJlZikKIHsKICNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxl
UGFnZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
QVBJL2MvV0tCdW5kbGVQYWdlUHJpdmF0ZS5oCmluZGV4IDExYjIwZGMuLmI0ZTBmMzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGVQYWdlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUHJpdmF0ZS5oCkBAIC03Nyw2ICs3Nyw4IEBAIFdL
X0VYUE9SVCBib29sIFdLQnVuZGxlUGFnZUNhblNob3dNSU1FVHlwZShXS0J1bmRsZVBhZ2VSZWYs
IFdLU3RyaW5nUmVmIG1pbWVUeXBlCiBXS19FWFBPUlQgdm9pZCogV0tBY2Nlc3NpYmlsaXR5Um9v
dE9iamVjdChXS0J1bmRsZVBhZ2VSZWYpOwogV0tfRVhQT1JUIHZvaWQqIFdLQWNjZXNzaWJpbGl0
eUZvY3VzZWRPYmplY3QoV0tCdW5kbGVQYWdlUmVmKTsKIAorV0tfRVhQT1JUIFdLQXJyYXlSZWYg
V0tCdW5kbGVQYWdlQ29weUNvbnRleHRNZW51RW50cmllc05hbWVzKFdLQnVuZGxlUGFnZVJlZiBw
YWdlUmVmKTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuY3BwCmluZGV4IDNh
OTFkOTAuLjNjODEwZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJDb250ZXh0TWVudS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYkNvbnRleHRNZW51LmNwcApAQCAtOTUsNiArOTUsMzIgQEAgdm9pZCBXZWJDb250
ZXh0TWVudTo6aXRlbVNlbGVjdGVkKGNvbnN0IFdlYkNvbnRleHRNZW51SXRlbURhdGEmIGl0ZW0p
CiAgICAgbV9wYWdlLT5jb3JlUGFnZSgpLT5jb250ZXh0TWVudUNvbnRyb2xsZXIoKS0+Y29udGV4
dE1lbnVJdGVtU2VsZWN0ZWQoJmNvcmVJdGVtKTsKIH0KIAorVmVjdG9yPFdlYkNvbnRleHRNZW51
SXRlbURhdGE+IFdlYkNvbnRleHRNZW51OjppdGVtcygpIGNvbnN0Cit7CisgICAgVmVjdG9yPFdl
YkNvbnRleHRNZW51SXRlbURhdGE+IHByb3Bvc2VkTWVudTsKKyAgICBDb250ZXh0TWVudUNvbnRy
b2xsZXIqIGNvbnRyb2xsZXIgPSBtX3BhZ2UtPmNvcmVQYWdlKCktPmNvbnRleHRNZW51Q29udHJv
bGxlcigpOworICAgIGlmICghY29udHJvbGxlcikKKyAgICAgICAgcmV0dXJuIHByb3Bvc2VkTWVu
dTsKKyAgICBDb250ZXh0TWVudSogbWVudSA9IGNvbnRyb2xsZXItPmNvbnRleHRNZW51KCk7Cisg
ICAgaWYgKCFtZW51KQorICAgICAgICByZXR1cm4gcHJvcG9zZWRNZW51OworCisgICAgLy8gR2l2
ZSB0aGUgYnVuZGxlIGNsaWVudCBhIGNoYW5jZSB0byBwcm9jZXNzIHRoZSBtZW51LgorI2lmIFVT
RShDUk9TU19QTEFURk9STV9DT05URVhUX01FTlVTKQorICAgIGNvbnN0IFZlY3RvcjxDb250ZXh0
TWVudUl0ZW0+JiBjb3JlSXRlbXMgPSBtZW51LT5pdGVtcygpOworI2Vsc2UKKyAgICBWZWN0b3I8
Q29udGV4dE1lbnVJdGVtPiBjb3JlSXRlbXMgPSBjb250ZXh0TWVudUl0ZW1WZWN0b3IobWVudS0+
cGxhdGZvcm1EZXNjcmlwdGlvbigpKTsKKyNlbmRpZgorICAgIHByb3Bvc2VkTWVudSA9IGtpdEl0
ZW1zKGNvcmVJdGVtcywgbWVudSk7CisgICAgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+
IG5ld01lbnU7CisgICAgUmVmUHRyPEFQSU9iamVjdD4gdXNlckRhdGE7CisgICAgUmVmUHRyPElu
amVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdD4gaGl0VGVzdFJlc3VsdCA9IEluamVjdGVkQnVuZGxl
SGl0VGVzdFJlc3VsdDo6Y3JlYXRlKGNvbnRyb2xsZXItPmhpdFRlc3RSZXN1bHQoKSk7CisgICAg
aWYgKG1fcGFnZS0+aW5qZWN0ZWRCdW5kbGVDb250ZXh0TWVudUNsaWVudCgpLmdldEN1c3RvbU1l
bnVGcm9tRGVmYXVsdEl0ZW1zKG1fcGFnZSwgaGl0VGVzdFJlc3VsdC5nZXQoKSwgcHJvcG9zZWRN
ZW51LCBuZXdNZW51LCB1c2VyRGF0YSkpCisgICAgICAgIHByb3Bvc2VkTWVudSA9IG5ld01lbnU7
CisKKyAgICByZXR1cm4gcHJvcG9zZWRNZW51OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
IAogI2VuZGlmIC8vIEVOQUJMRShDT05URVhUX01FTlVTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmggYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuaAppbmRleCBjOGE1ZjVhLi5kZjA4
M2Q5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29u
dGV4dE1lbnUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29u
dGV4dE1lbnUuaApAQCAtNDMsNiArNDMsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNob3coKTsK
ICAgICB2b2lkIGl0ZW1TZWxlY3RlZChjb25zdCBXZWJDb250ZXh0TWVudUl0ZW1EYXRhJik7Cisg
ICAgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+IGl0ZW1zKCkgY29uc3Q7CiAKIHByaXZh
dGU6CiAgICAgV2ViQ29udGV4dE1lbnUoV2ViUGFnZSopOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hh
bmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGJkYzI4ZmYuLjFmYzdkMmQgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBA
QAorMjAxMi0wOS0xNCAgV29qY2llY2ggQmllbGF3c2tpICA8dy5iaWVsYXdza2lAc2Ftc3VuZy5j
b20+CisKKyAgICAgICAgW1dLMl1bV0tUUl0gV2ViS2l0VGVzdFJ1bm5lciBuZWVkcyBldmVudFNl
bmRlci5jb250ZXh0Q2xpY2soKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODY4ODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBldmVudFNlbmRlciBvYmplY3QgZXh0ZW5kZWQgd2l0aCBjb250ZXh0Q2xpY2so
KSBtZXRob2QgaW4gV2ViS2l0VGVzdFJ1bm5lci4KKyAgICAgICAgY29udGV4dENsaWNrKCkgbWV0
aG9kIHJldHVybnMgYW4gYXJyYXkgb2YgbWVudSBpdGVtcyBvYmplY3RzIHdpdGggZmllbGQgJ3Rp
dGxlJyBjb250YWluaW5nIHRpdGxlIG9mIHNpbmdsZQorICAgICAgICBjb250ZXh0IG1lbnUgZW50
cnkuIEFjY29yZGluZyB0byBzb21lIHRlc3RzIG1lbnUgaXRlbXMgb2JqZWN0cyBzaGFsbCBhbHNv
IHN1cHBvcnQgJ2NsaWNrKCknIG1ldGhvZCwgYnV0IGl0J3Mgbm90CisgICAgICAgIGRlbGl2ZXJl
ZCBpbiB0aGlzIHBhdGNoLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9CaW5kaW5ncy9FdmVudFNlbmRpbmdDb250cm9sbGVyLmlkbDoKKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoV1RSOjpFdmVudFNlbmRpbmdDb250cm9sbGVyOjpjb250ZXh0Q2xpY2spOgorICAg
ICAgICAoV1RSKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2
ZW50U2VuZGluZ0NvbnRyb2xsZXIuaDoKKyAgICAgICAgKEV2ZW50U2VuZGluZ0NvbnRyb2xsZXIp
OgorCiAyMDEyLTEwLTE2ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZA
aW50ZWwuY29tPgogCiAgICAgICAgIFtXSzJdIFByb3ZpZGUgV0tVUkwgQVBJIGZvciByZXNvbHZp
bmcgdGhlIHJlbGF0aXZlIFVSTCB3aXRoIHRoZSBnaXZlbiBiYXNlIFVSTApkaWZmIC0tZ2l0IGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9FdmVudFNlbmRp
bmdDb250cm9sbGVyLmlkbCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
QmluZGluZ3MvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5pZGwKaW5kZXggNTJhN2E1Yi4uMWQ2MmM5
YiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5k
aW5ncy9FdmVudFNlbmRpbmdDb250cm9sbGVyLmlkbAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaWRsCkBA
IC0yOSw2ICsyOSw3IEBAIGludGVyZmFjZSBFdmVudFNlbmRpbmdDb250cm9sbGVyIHsKICAgICB2
b2lkIG1vdXNlTW92ZVRvKGluIGxvbmcgeCwgaW4gbG9uZyB5KTsKICAgICB2b2lkIG1vdXNlU2Ny
b2xsQnkoaW4gbG9uZyB4LCBpbiBsb25nIHkpOwogICAgIHZvaWQgY29udGludW91c01vdXNlU2Ny
b2xsQnkoaW4gbG9uZyB4LCBpbiBsb25nIHksIGluIFtPcHRpb25hbF0gYm9vbGVhbiBwYWdlZCk7
CisgICAgb2JqZWN0IGNvbnRleHRDbGljaygpOwogICAgIHZvaWQgc2NoZWR1bGVBc3luY2hyb25v
dXNDbGljaygpOwogCiAgICAgdm9pZCBsZWFwRm9yd2FyZChpbiBsb25nIG1pbGxpc2Vjb25kcyk7
CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2ZW50
U2VuZGluZ0NvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmNwcAppbmRleCBiZjZkOWJjLi5lZDc5YWM1IDEw
MDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2ZW50U2Vu
ZGluZ0NvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5jcHAKQEAgLTMxOSw2ICszMTksMzYgQEAgdm9p
ZCBFdmVudFNlbmRpbmdDb250cm9sbGVyOjpjb250aW51b3VzTW91c2VTY3JvbGxCeShpbnQgeCwg
aW50IHksIGJvb2wgcGFnZWQpCiAgICAgV0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKElu
amVjdGVkQnVuZGxlOjpzaGFyZWQoKS5idW5kbGUoKSwgRXZlbnRTZW5kZXJNZXNzYWdlTmFtZS5n
ZXQoKSwgRXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwgMCk7CiB9CiAKK0pTVmFsdWVSZWYg
RXZlbnRTZW5kaW5nQ29udHJvbGxlcjo6Y29udGV4dENsaWNrKCkKK3sKKyAgICBXS0J1bmRsZVBh
Z2VSZWYgcGFnZSA9IEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5wYWdlKCktPnBhZ2UoKTsKKyAg
ICBXS0J1bmRsZUZyYW1lUmVmIG1haW5GcmFtZSA9IFdLQnVuZGxlUGFnZUdldE1haW5GcmFtZShw
YWdlKTsKKyAgICBKU0NvbnRleHRSZWYgY29udGV4dCA9IFdLQnVuZGxlRnJhbWVHZXRKYXZhU2Ny
aXB0Q29udGV4dChtYWluRnJhbWUpOworI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQorICAgIC8v
IERvIG1vdXNlIGNvbnRleHQgY2xpY2suCisgICAgbW91c2VEb3duKDIsIDApOworICAgIG1vdXNl
VXAoMiwgMCk7CisKKyAgICBXS1JldGFpblB0cjxXS0FycmF5UmVmPiBlbnRyaWVzTmFtZXMgPSBh
ZG9wdFdLKFdLQnVuZGxlUGFnZUNvcHlDb250ZXh0TWVudUVudHJpZXNOYW1lcyhwYWdlKSk7Cisg
ICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IGpzUHJvcGVydHlOYW1lKEFkb3B0LCBKU1N0cmlu
Z0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygidGl0bGUiKSk7CisgICAgc2l6ZV90IGVudHJpZXNTaXpl
ID0gV0tBcnJheUdldFNpemUoZW50cmllc05hbWVzLmdldCgpKTsKKyAgICBPd25BcnJheVB0cjxK
U1ZhbHVlUmVmPiBqc1ZhbHVlc0FycmF5ID0gYWRvcHRBcnJheVB0cihuZXcgSlNWYWx1ZVJlZltl
bnRyaWVzU2l6ZV0pOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZW50cmllc1NpemU7ICsr
aSkgeworICAgICAgICBBU1NFUlQoV0tHZXRUeXBlSUQoV0tBcnJheUdldEl0ZW1BdEluZGV4KGVu
dHJpZXNOYW1lcy5nZXQoKSwgaSkpID09IFdLU3RyaW5nR2V0VHlwZUlEKCkpOworICAgICAgICBX
S1N0cmluZ1JlZiB3a0VudHJ5TmFtZSA9IHN0YXRpY19jYXN0PFdLU3RyaW5nUmVmPihXS0FycmF5
R2V0SXRlbUF0SW5kZXgoZW50cmllc05hbWVzLmdldCgpLCBpKSk7CisgICAgICAgIEpTT2JqZWN0
UmVmIGpzSXRlbU9iamVjdCA9IEpTT2JqZWN0TWFrZShjb250ZXh0LCAwLCAwKTsKKyAgICAgICAg
SlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IGpzTmFtZUNvcHkoQWRvcHQsIFdLU3RyaW5nQ29weUpT
U3RyaW5nKHdrRW50cnlOYW1lKSk7CisgICAgICAgIEpTVmFsdWVSZWYganNFbnRyeU5hbWUgPSBK
U1ZhbHVlTWFrZVN0cmluZyhjb250ZXh0LCBqc05hbWVDb3B5LmdldCgpKTsKKyAgICAgICAgSlNP
YmplY3RTZXRQcm9wZXJ0eShjb250ZXh0LCBqc0l0ZW1PYmplY3QsIGpzUHJvcGVydHlOYW1lLmdl
dCgpLCBqc0VudHJ5TmFtZSwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSwgMCk7CisgICAg
ICAgIGpzVmFsdWVzQXJyYXlbaV0gPSBqc0l0ZW1PYmplY3Q7CisgICAgfQorCisgICAgcmV0dXJu
IEpTT2JqZWN0TWFrZUFycmF5KGNvbnRleHQsIGVudHJpZXNTaXplLCBqc1ZhbHVlc0FycmF5Lmdl
dCgpLCAwKTsKKyNlbHNlCisgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQp
OworI2VuZGlmCit9CisKICNpZmRlZiBVU0VfV0VCUFJPQ0VTU19FVkVOVF9TSU1VTEFUSU9OCiB2
b2lkIEV2ZW50U2VuZGluZ0NvbnRyb2xsZXI6OnVwZGF0ZUNsaWNrQ291bnQoV0tFdmVudE1vdXNl
QnV0dG9uIGJ1dHRvbikKIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmgKaW5kZXggNDEzYjkx
Yy4uNjljNTRmOSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmgKQEAgLTUyLDYgKzUyLDcg
QEAgcHVibGljOgogICAgIHZvaWQgbW91c2VNb3ZlVG8oaW50IHgsIGludCB5KTsKICAgICB2b2lk
IG1vdXNlU2Nyb2xsQnkoaW50IHgsIGludCB5KTsKICAgICB2b2lkIGNvbnRpbnVvdXNNb3VzZVNj
cm9sbEJ5KGludCB4LCBpbnQgeSwgYm9vbCBwYWdlZCk7CisgICAgSlNWYWx1ZVJlZiBjb250ZXh0
Q2xpY2soKTsKICAgICB2b2lkIGxlYXBGb3J3YXJkKGludCBtaWxsaXNlY29uZHMpOwogICAgIHZv
aWQgc2NoZWR1bGVBc3luY2hyb25vdXNDbGljaygpOwogCmRpZmYgLS1naXQgYS9Ub29scy9lZmwv
amhidWlsZC5tb2R1bGVzIGIvVG9vbHMvZWZsL2poYnVpbGQubW9kdWxlcwppbmRleCBhM2MwZmQz
Li5lYjlhZTgwIDEwMDY0NAotLS0gYS9Ub29scy9lZmwvamhidWlsZC5tb2R1bGVzCisrKyBiL1Rv
b2xzL2VmbC9qaGJ1aWxkLm1vZHVsZXMKQEAgLTQ0LDYgKzQ0LDEwIEBACiAgICAgICBocmVmPSJm
dHA6Ly94bWxzb2Z0Lm9yZyIvPiAKICAgPHJlcG9zaXRvcnkgdHlwZT0idGFyYmFsbCIgbmFtZT0i
ZG93bmxvYWQuZW5saWdodGVubWVudC5vcmciCiAgICAgICBocmVmPSJodHRwOi8vZG93bmxvYWQu
ZW5saWdodGVubWVudC5vcmciLz4KKyAgPHJlcG9zaXRvcnkgdHlwZT0idGFyYmFsbCIgbmFtZT0i
Z251Lm9yZyIKKyAgICAgIGhyZWY9Imh0dHA6Ly9mdHAuZ251Lm9yZy8iLz4KKyAgPHJlcG9zaXRv
cnkgdHlwZT0idGFyYmFsbCIgbmFtZT0ibHlzYXRvci5saXUuc2UiCisgICAgICBocmVmPSJodHRw
Oi8vd3d3Lmx5c2F0b3IubGl1LnNlIi8+CiAKICAgPGF1dG90b29scyBpZD0iY2Fpcm8iIGF1dG9n
ZW4tc2g9ImNvbmZpZ3VyZSI+CiAgICAgPGRlcGVuZGVuY2llcz4KQEAgLTEyNSw2ICsxMjksNyBA
QAogCiAgIDxhdXRvdG9vbHMgaWQ9ImdsaWItbmV0d29ya2luZyI+CiAgICAgPGRlcGVuZGVuY2ll
cz4KKyAgICAgIDxkZXAgcGFja2FnZT0iZ251dGxzIi8+CiAgICAgICA8ZGVwIHBhY2thZ2U9Imds
aWIiLz4KICAgICA8L2RlcGVuZGVuY2llcz4KICAgICA8YnJhbmNoIG1vZHVsZT0iL3B1Yi9HTk9N
RS9zb3VyY2VzL2dsaWItbmV0d29ya2luZy8yLjMzL2dsaWItbmV0d29ya2luZy0yLjMzLjIudGFy
Lnh6IiB2ZXJzaW9uPSIyLjMzLjIiCkBAIC0xNDQsNiArMTQ5LDI1IEBACiAgICAgICAgICAgICBt
ZDVzdW09Ijg5NWVkMWUwYzk0OWEyY2U1MGFlYWViNTg2NjFiZmMzIi8+CiAgIDwvYXV0b3Rvb2xz
PgogCisgIDxhdXRvdG9vbHMgaWQ9ImdudXRscyIKKyAgICAgICAgICAgICBhdXRvZ2VuYXJncz0i
LS1lbmFibGUtbGQtdmVyc2lvbi1zY3JpcHQgLS1lbmFibGUtY3h4Ij4KKyAgICA8ZGVwZW5kZW5j
aWVzPgorICAgICAgPGRlcCBwYWNrYWdlPSJwMTEta2l0Ii8+CisgICAgICA8ZGVwIHBhY2thZ2U9
Im5ldHRsZSIvPgorICAgIDwvZGVwZW5kZW5jaWVzPgorICAgIDxicmFuY2ggbW9kdWxlPSIvZ251
L2dudXRscy9nbnV0bHMtMy4wLjIyLnRhci54eiIgdmVyc2lvbj0iMy4wLjIyIgorICAgICAgICAg
ICAgcmVwbz0iZ251Lm9yZyIKKyAgICAgICAgICAgIGhhc2g9InNoYTI1Njo5OWRkODY3ZGRlNjBm
MzEwN2I3ODhiMTRkNmI5NWJhY2E3NDM2ZDY1MWQwNTdjNDE2MzI1ZTIyM2FhMDNlOWRlIgorICAg
ICAgICAgICAgbWQ1c3VtPSI3YjNkYjkwOTM0YzJkNDEwYzU3M2UzN2VmY2UzZDU3OSIvPgorICA8
L2F1dG90b29scz4KKworICA8YXV0b3Rvb2xzIGlkPSJuZXR0bGUiPgorICAgIDxicmFuY2ggbW9k
dWxlPSIvfm5pc3NlL2FyY2hpdmUvbmV0dGxlLTIuNC50YXIuZ3oiIHZlcnNpb249IjIuNCIKKyAg
ICAgICAgICAgIHJlcG89Imx5c2F0b3IubGl1LnNlIgorICAgICAgICAgICAgaGFzaD0ic2hhMjU2
OmE2MDA5MjA4ZGY2ODgxZjc1YWExYTg3MDgxY2NmYjJjY2FjMTg4NGRhMTA2NzBjNTNkN2I3NjU5
NmY2NDljM2YiCisgICAgICAgICAgICBtZDVzdW09IjQ1MGJlOGM0ODg2ZDQ2YzA5ZjQ5ZjU2OGFk
NmZhMDEzIi8+CisgICA8L2F1dG90b29scz4KKwogICA8YXV0b3Rvb2xzIGlkPSJmb250Y29uZmln
IiBhdXRvZ2VuLXNoPSJjb25maWd1cmUiPgogICAgIDxicmFuY2ggbW9kdWxlPSJzb2Z0d2FyZS9m
b250Y29uZmlnL3JlbGVhc2UvZm9udGNvbmZpZy0yLjguMC50YXIuZ3oiIHZlcnNpb249IjIuOC4w
IgogICAgICAgICAgICAgcmVwbz0iZnJlZWRlc2t0b3Aub3JnIgpkaWZmIC0tZ2l0IGEvVG9vbHMv
Z3RrL2poYnVpbGQubW9kdWxlcyBiL1Rvb2xzL2d0ay9qaGJ1aWxkLm1vZHVsZXMKaW5kZXggZjZl
NDY4NC4uOTRhN2U3MiAxMDA2NDQKLS0tIGEvVG9vbHMvZ3RrL2poYnVpbGQubW9kdWxlcworKysg
Yi9Ub29scy9ndGsvamhidWlsZC5tb2R1bGVzCkBAIC0zOSw2ICszOSwxMiBAQAogICAgICAgaHJl
Zj0iaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmciLz4KICAgPHJlcG9zaXRvcnkgdHlwZT0idGFy
YmFsbCIgbmFtZT0ieG1sc29mdC5vcmciCiAgICAgICBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZyIv
PgorICA8cmVwb3NpdG9yeSB0eXBlPSJ0YXJiYWxsIiBuYW1lPSJseXNhdG9yLmxpdS5zZSIKKyAg
ICAgIGhyZWY9Imh0dHA6Ly93d3cubHlzYXRvci5saXUuc2UiLz4KKyAgPHJlcG9zaXRvcnkgdHlw
ZT0idGFyYmFsbCIgbmFtZT0icDExLWdsdWUuZnJlZWRlc2t0b3Aub3JnIgorICAgICAgaHJlZj0i
aHR0cDovL3AxMS1nbHVlLmZyZWVkZXNrdG9wLm9yZyIvPgorICA8cmVwb3NpdG9yeSB0eXBlPSJ0
YXJiYWxsIiBuYW1lPSJnbnVwZy5vcmciCisgICAgICBocmVmPSJmdHA6Ly9mdHAuZ251cGcub3Jn
Ii8+CiAKICAgPGF1dG90b29scyBpZD0ibWFrZSIgYXV0b2dlbi1zaD0iY29uZmlndXJlIj4KICAg
ICA8YnJhbmNoIHJlcG89ImZ0cC5nbnUub3JnIgpAQCAtMTU0LDYgKzE2MCw3IEBACiAKICAgPGF1
dG90b29scyBpZD0iZ2xpYi1uZXR3b3JraW5nIj4KICAgICA8ZGVwZW5kZW5jaWVzPgorICAgICAg
PGRlcCBwYWNrYWdlPSJnbnV0bHMiLz4KICAgICAgIDxkZXAgcGFja2FnZT0iZ2xpYiIvPgogICAg
IDwvZGVwZW5kZW5jaWVzPgogICAgIDxicmFuY2ggbW9kdWxlPSIvcHViL0dOT01FL3NvdXJjZXMv
Z2xpYi1uZXR3b3JraW5nLzIuMzMvZ2xpYi1uZXR3b3JraW5nLTIuMzMuMi50YXIueHoiIHZlcnNp
b249IjIuMzMuMiIKQEAgLTE3Miw2ICsxNzksMzIgQEAKICAgICAgICAgICAgIHRhZz0iTElCU09V
UF8yXzM5XzIiLz4KICAgPC9hdXRvdG9vbHM+CiAKKyAgPGF1dG90b29scyBpZD0icDExLWtpdCI+
CisgICAgPGJyYW5jaCBtb2R1bGU9Ii9yZWxlYXNlcy9wMTEta2l0LTAuMTIudGFyLmd6IiB2ZXJz
aW9uPSIwLjEyIgorICAgICAgICAgICAgIHJlcG89InAxMS1nbHVlLmZyZWVkZXNrdG9wLm9yZyIK
KyAgICAgICAgICAgICBoYXNoPSJzaGEyNTY6NGRiNzkyZGVmNTQ1YTNjOGFlMTJlN2U0ZWYxNjZk
NzYyMGNiNDQ1YzAwYTVhOTg0YWI3YzRhM2IzNWYwYmUwMCIKKyAgICAgICAgICAgICBtZDVzdW09
IjAyOWFhMmEzYTEwM2U3ZWI4MWI0YWE3MzFiOTM1MzllIi8+CisgIDwvYXV0b3Rvb2xzPgorCisg
IDxhdXRvdG9vbHMgaWQ9ImdudXRscyIKKyAgICAgICAgICAgICBhdXRvZ2VuYXJncz0iLS1lbmFi
bGUtbGQtdmVyc2lvbi1zY3JpcHQgLS1lbmFibGUtY3h4Ij4KKyAgICA8ZGVwZW5kZW5jaWVzPgor
ICAgICAgPGRlcCBwYWNrYWdlPSJwMTEta2l0Ii8+CisgICAgICA8ZGVwIHBhY2thZ2U9Im5ldHRs
ZSIvPgorICAgIDwvZGVwZW5kZW5jaWVzPgorICAgIDxicmFuY2ggbW9kdWxlPSJnbnV0bHMvZ251
dGxzLTMuMC4yMi50YXIueHoiIHZlcnNpb249IjMuMC4yMiIKKyAgICAgICAgICAgIHJlcG89ImZ0
cC5nbnUub3JnIgorICAgICAgICAgICAgaGFzaD0ic2hhMjU2Ojk5ZGQ4NjdkZGU2MGYzMTA3Yjc4
OGIxNGQ2Yjk1YmFjYTc0MzZkNjUxZDA1N2M0MTYzMjVlMjIzYWEwM2U5ZGUiCisgICAgICAgICAg
ICBtZDVzdW09IjdiM2RiOTA5MzRjMmQ0MTBjNTczZTM3ZWZjZTNkNTc5Ii8+CisgIDwvYXV0b3Rv
b2xzPgorCisgIDxhdXRvdG9vbHMgaWQ9Im5ldHRsZSI+CisgICAgPGJyYW5jaCBtb2R1bGU9Ii9+
bmlzc2UvYXJjaGl2ZS9uZXR0bGUtMi40LnRhci5neiIgdmVyc2lvbj0iMi40IgorICAgICAgICAg
ICAgcmVwbz0ibHlzYXRvci5saXUuc2UiCisgICAgICAgICAgICBoYXNoPSJzaGEyNTY6YTYwMDky
MDhkZjY4ODFmNzVhYTFhODcwODFjY2ZiMmNjYWMxODg0ZGExMDY3MGM1M2Q3Yjc2NTk2ZjY0OWMz
ZiIKKyAgICAgICAgICAgIG1kNXN1bT0iNDUwYmU4YzQ4ODZkNDZjMDlmNDlmNTY4YWQ2ZmEwMTMi
Lz4KKyAgIDwvYXV0b3Rvb2xzPgorCiAgIDxhdXRvdG9vbHMgaWQ9ImZvbnRjb25maWciIGF1dG9n
ZW4tc2g9ImNvbmZpZ3VyZSI+CiAgICAgPGJyYW5jaCBtb2R1bGU9InNvZnR3YXJlL2ZvbnRjb25m
aWcvcmVsZWFzZS9mb250Y29uZmlnLTIuOC4wLnRhci5neiIgdmVyc2lvbj0iMi44LjAiCiAgICAg
ICAgICAgICByZXBvPSJmcmVlZGVza3RvcC5vcmciCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170593</attachid>
            <date>2012-10-25 02:18:32 -0700</date>
            <delta_ts>2012-10-25 06:53:35 -0700</delta_ts>
            <desc>eventSender.contextClick() method partially implemented.</desc>
            <filename>contextClick.patch</filename>
            <type>text/plain</type>
            <size>21616</size>
            <attacher name="Wojciech Bielawski">w.bielawski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiZTk5MjZjLi42ODc1YmE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDkt
MTQgIFdvamNpZWNoIEJpZWxhd3NraSAgPHcuYmllbGF3c2tpQHNhbXN1bmcuY29tPgorCisgICAg
ICAgIFtXSzJdW1dLVFJdIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgZXZlbnRTZW5kZXIuY29udGV4
dENsaWNrKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTg2ODgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgZXhwZWN0ZWQgcmVzdWx0cyBmb3IgdHdvIHRlc3RzIGZvciBFRkwgcGxhdGZvcm0uCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0yLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZWZsL2Zhc3QvZXZlbnRzL2NvbnRl
eHQtbm8tZGVzZWxlY3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAxMi0xMC0yNSAgTmFuZG9y
IEh1c3prYSAgPGhuYW5kb3JAaW5mLnUtc3plZ2VkLmh1PgogCiAgICAgICAgIFtRdF0gVW5yZXZp
ZXdlZCBnYXJkZW5pbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwtd2sx
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwtd2sxL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggYjkyMmY4MC4uOWMwNTM3YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZWZsLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2VmbC13azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMzEzLDMgKzMxMywyMSBAQCB3ZWJraXQu
b3JnL2IvOTk4MjQgZmFzdC9saXN0cy93My1saXN0LXN0eWxlcy5odG1sIFsgRmFpbHVyZSBdCiB3
ZWJraXQub3JnL2IvMTAwMjQ2IGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZHluYW1pYy1zdHls
aW5nLmh0bWwgWyBGYWlsdXJlIF0gCiB3ZWJraXQub3JnL2IvMTAwMjQ2IGZhc3QvZG9tL3NoYWRv
dy9zdHlsZS1zY29wZWQtbm90LWVuYWJsZWQuaHRtbCBbIEZhaWx1cmUgXSAKIHdlYmtpdC5vcmcv
Yi8xMDAyNDYgZmFzdC9kb20vc2hhZG93L2F0aG9zdC1hdHJ1bGVzLmh0bWwgWyBDcmFzaCBdCisj
IEVGTCdzIEV2ZW50U2VuZGVyIGRvZXMgbm90IGltcGxlbWVudCBjb250ZXh0Q2xpY2sgeWV0Cit3
ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktc3RhbmRhbG9uZS1pbWFn
ZS1jcmFzaC5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9zZWxl
Y3Rpb24vNTM1NDQ1NS0xLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBlZGl0
aW5nL3NlbGVjdGlvbi81MzU0NDU1LTIuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzg2
MDkxIGVkaXRpbmcvc2VsZWN0aW9uL2J1dHRvbi1yaWdodC1jbGljay5odG1sIFsgRmFpbHVyZSBd
Cit3ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9zZWxlY3Rpb24vY29udGV4dC1tZW51LW9uLXRl
eHQuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc2VsZWN0aW9u
L2NvbnRleHQtbWVudS10ZXh0LXNlbGVjdGlvbi5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3Jn
L2IvODYwOTEgZWRpdGluZy9zZWxlY3Rpb24vZW1wdHktY2VsbC1yaWdodC1jbGljay5odG1sIFsg
RmFpbHVyZSBdCit3ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9zaGFkb3cvcmlnaHRjbGljay1v
bi1tZXRlci1pbi1zaGFkb3ctY3Jhc2guaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzg2
MDkxIGVkaXRpbmcvc3BlbGxpbmcvY29udGV4dC1tZW51LXN1Z2dlc3Rpb25zLmh0bWwgWyBGYWls
dXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsY2hlY2staW5w
dXQtc2VhcmNoLWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBmYXN0
L2V2ZW50cy9jb250ZXh0LW5vLWRlc2VsZWN0Lmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcv
Yi84NjA5MSBmYXN0L2V2ZW50cy9jb250ZXh0LW9ubW91c2Vkb3duLWV2ZW50Lmh0bWwgWyBGYWls
dXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBmYXN0L2V2ZW50cy9jb250ZXh0bWVudS1zY3JvbGxl
ZC1wYWdlLXdpdGgtZnJhbWUuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzg2MDkxIGZh
c3QvZXZlbnRzL3JpZ2h0LWNsaWNrLWZvY3VzLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcv
Yi84NjA5MSBmYXN0L2V2ZW50cy9zZWxlY3RzdGFydC1wcmV2ZW50LXNlbGVjdGlvbi1vbi1yaWdo
dC1jbGljay5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvODYwOTEgbWVkaWEvY29udGV4
dC1tZW51LWFjdGlvbnMuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzg2MDkxIG1lZGlh
L2NvbnRyb2xzLXJpZ2h0LWNsaWNrLW9uLXRpbWViYXIuaHRtbCBbIEZhaWx1cmUgXQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZWZsLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDNhMDIyNmEu
LjQyMzA1NGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC13azIvVGVzdEV4
cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwtd2syL1Rlc3RFeHBlY3Rh
dGlvbnMKQEAgLTI2OSwzICsyNjksMTEgQEAgd2Via2l0Lm9yZy9iLzEwMDI0OCBmYXN0L2Zvcm1z
L3NlbGVjdC1tdWx0aXBsZS1lbGVtZW50cy13aXRoLW1vdXNlLWRyYWcuaHRtbCBbIEYKIAogIyBT
cHVyaW91cyBvdXRwdXQgYWZ0ZXIgZml4aW5nIGZsYWtpbmVzcwogd2Via2l0Lm9yZy9iLzEwMDAx
MCBmYXN0L2V2ZW50cy9mcmFtZS10YWItZm9jdXMuaHRtbCBbIEZhaWx1cmUgXQorCisjIEVGTCdz
IEV2ZW50U2VuZGVyIGNvbnRleHRDbGljayBzaG91bGQgcmV0dXJuIG9iamVjdHMgdGhhdCBpbXBs
ZW1lbnRzIGNsaWNrKCkgbWV0Citob2R3ZWJraXQub3JnL2IvOTg0MTAgZWRpdGluZy9wYXN0ZWJv
YXJkL2NvcHktc3RhbmRhbG9uZS1pbWFnZS1jcmFzaC5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQu
b3JnL2IvOTg0MTAgbWVkaWEvY29udGV4dC1tZW51LWFjdGlvbnMuaHRtbCBbIEZhaWx1cmUgXQor
CisjIEVGTCBTZWxlY3Rpb24gdHlwZSBpcyBub3Qgc2V0IGNvcnJlY3RseQord2Via2l0Lm9yZy9i
Lzg2MDkxIGVkaXRpbmcvc2VsZWN0aW9uLzUzNTQ0NTUtMS5odG1sIFsgRmFpbHVyZSBdCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNmIxOTQ2YS4uOTcw
YWQ5MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlv
bnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE3
MTEsMjcgKzE3MTEsNiBAQCB3ZWJraXQub3JnL2IvODIxNDAgaW5zcGVjdG9yL2dlb2xvY2F0aW9u
LWVycm9yLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi84MjE0MCBpbnNwZWN0b3IvZ2Vv
bG9jYXRpb24tc3VjY2Vzcy5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvODIxNDAgaW5z
cGVjdG9yL2dlb2xvY2F0aW9uLXdhdGNoUG9zaXRpb24uaHRtbCBbIEZhaWx1cmUgXQogCi0jIEVG
TCdzIEV2ZW50U2VuZGVyIGRvZXMgbm90IGltcGxlbWVudCBjb250ZXh0Q2xpY2sgeWV0Ci13ZWJr
aXQub3JnL2IvODYwOTEgZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktc3RhbmRhbG9uZS1pbWFnZS1j
cmFzaC5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9zZWxlY3Rp
b24vNTM1NDQ1NS0xLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5n
L3NlbGVjdGlvbi9idXR0b24tcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9y
Zy9iLzg2MDkxIGVkaXRpbmcvc2VsZWN0aW9uL2NvbnRleHQtbWVudS1vbi10ZXh0Lmh0bWwgWyBG
YWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3NlbGVjdGlvbi9jb250ZXh0LW1l
bnUtdGV4dC1zZWxlY3Rpb24uaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIGVk
aXRpbmcvc2VsZWN0aW9uL2VtcHR5LWNlbGwtcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1cmUgXQot
d2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc3BlbGxpbmcvY29udGV4dC1tZW51LXN1Z2dlc3Rp
b25zLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3NwZWxsaW5n
L3NwZWxsY2hlY2staW5wdXQtc2VhcmNoLWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5v
cmcvYi84NjA5MSBmYXN0L2V2ZW50cy9jb250ZXh0LW9ubW91c2Vkb3duLWV2ZW50Lmh0bWwgWyBG
YWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84NjA5MSBmYXN0L2V2ZW50cy9jb250ZXh0bWVudS1zY3Jv
bGxlZC1wYWdlLXdpdGgtZnJhbWUuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkx
IGZhc3QvZXZlbnRzL3JpZ2h0LWNsaWNrLWZvY3VzLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5v
cmcvYi84NjA5MSBmYXN0L2V2ZW50cy9zZWxlY3RzdGFydC1wcmV2ZW50LXNlbGVjdGlvbi1vbi1y
aWdodC1jbGljay5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODYwOTEgbWVkaWEvY29u
dGV4dC1tZW51LWFjdGlvbnMuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIG1l
ZGlhL2NvbnRyb2xzLXJpZ2h0LWNsaWNrLW9uLXRpbWViYXIuaHRtbCBbIEZhaWx1cmUgXQotd2Vi
a2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc2hhZG93L3JpZ2h0Y2xpY2stb24tbWV0ZXItaW4tc2hh
ZG93LWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KLQotIyBFRkwncyBFdmVudFNlbmRlciBjb250ZXh0
Q2xpY2ssIG5lZWRzIGJhc2VsaW5lcwotd2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc2VsZWN0
aW9uLzUzNTQ0NTUtMi5odG1sIFsgTWlzc2luZyBdCi13ZWJraXQub3JnL2IvODYwOTEgZmFzdC9l
dmVudHMvY29udGV4dC1uby1kZXNlbGVjdC5odG1sIFsgTWlzc2luZyBdCi0KICMgSUVUQyBuYW1l
c3BhY2UgZmFpbHVyZXMKIHdlYmtpdC5vcmcvYi84NjE0MiBpZXRlc3RjZW50ZXIvY3NzMy9uYW1l
c3BhY2VzL3N5bnRheC0wMjEueG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9lZGl0aW5nL3NlbGVjdGlvbi81MzU0NDU1LTItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2VkaXRpbmcvc2VsZWN0aW9uLzUz
NTQ0NTUtMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
YzkzNTlhMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9lZGl0
aW5nL3NlbGVjdGlvbi81MzU0NDU1LTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjMgQEAKK2xh
eWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAw
eDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICg4LDgpIHNpemUgNjEyeDE0MgorICBSZW5k
ZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDYxMngxNDIgW2JvcmRlcjogKDFweCBzb2xpZCAj
MDAwMDAwKV0KKyAgICBSZW5kZXJCbG9jayB7SDF9IGF0ICg2LDYpIHNpemUgNjAweDM3CisgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA0NTF4MzYKKyAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMCkgd2lkdGggNDUxOiAiV29yZCBzZWxlY3Rpb24gb24gcmlnaHQgY2xpY2sgdGVz
dCIKKyAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoNiw2NCkgc2l6ZSA2MDB4NzIKKyAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDU5N3gzNworICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwwKSB3aWR0aCA1OTc6ICJUaGlzIHRlc3RzIHRvIG1ha2Ugc3VyZSB0aGF0IHJp
Z2h0IGNsaWNraW5nIG5vbi1lZGl0YWJsZSBjb250ZW50IG9ubHkgY3JlYXRlcyBhIHdvcmQgc2Vs
ZWN0aW9uIGZvciIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDEwMzogImNsaWNr
cyBvdmVyIHRleHQuICIKKyAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAx
OHgxOQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEwMywxOCkgc2l6ZSAxOHgxOQor
ICAgICAgICAgIHRleHQgcnVuIGF0ICgxMDMsMTgpIHdpZHRoIDE4OiAiVG8iCisgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDEyMSwxOCkgc2l6ZSA1Nzd4NTUKKyAgICAgICAgdGV4dCBydW4g
YXQgKDEyMSwxOCkgd2lkdGggNDExOiAiIHJ1biBtYW51YWxseSwgcmlnaHQgY2xpY2sgb24gdGV4
dCwgYW5kIGEgd29yZCBzaG91bGQgYmUgc2VsZWN0ZWQuICIKKyAgICAgICAgdGV4dCBydW4gYXQg
KDUzMiwxOCkgd2lkdGggMzU6ICJSaWdodCIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsMzYpIHdp
ZHRoIDU3NzogImNsaWNrIG9uIHRoZSBlbXB0eSBzcGFjZSBvdXRzaWRlIGFuZCB0byB0aGUgcmln
aHQgb2YgdGhlIGJsYWNrIGJvcmRlciwgdGhlIHNlbGVjdGlvbiBzaG91bGQgYmUiCisgICAgICAg
IHRleHQgcnVuIGF0ICgwLDU0KSB3aWR0aCA1OTogInJlbW92ZWQuIgorICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCitjYXJldDogcG9zaXRpb24gMCBvZiBjaGlsZCAw
IHsjdGV4dH0gb2YgY2hpbGQgMSB7SDF9IG9mIGJvZHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2VmbC9mYXN0L2V2ZW50cy9jb250ZXh0LW5vLWRlc2VsZWN0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9mYXN0L2V2ZW50cy9jb250ZXh0LW5vLWRlc2Vs
ZWN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYWJk
N2I2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2Zhc3QvZXZl
bnRzL2NvbnRleHQtbm8tZGVzZWxlY3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTQgQEAKK2xh
eWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAw
eDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXpl
IDc4NHg1ODQKKyAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQgKDIsMikgc2l6ZSAx
OTN4MjggW2JnY29sb3I9I0ZGRkZGRl0KKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDB4MAorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCits
YXllciBhdCAoMTQsMTYpIHNpemUgMTg2eDE4IHNjcm9sbEhlaWdodCAxOQorICBSZW5kZXJCbG9j
ayB7RElWfSBhdCAoNCw2KSBzaXplIDE4NngxOAorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDEyNHgxOQorICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTI0OiAic29t
ZSBzYW1wbGUgdGV4dCIKK3NlbGVjdGlvbiBzdGFydDogcG9zaXRpb24gNSBvZiBjaGlsZCAwIHsj
dGV4dH0gb2YgY2hpbGQgMCB7RElWfSBvZiB7I3NoYWRvdy1yb290fSBvZiBjaGlsZCAxIHtJTlBV
VH0gb2YgYm9keQorc2VsZWN0aW9uIGVuZDogICBwb3NpdGlvbiAxNSBvZiBjaGlsZCAwIHsjdGV4
dH0gb2YgY2hpbGQgMCB7RElWfSBvZiB7I3NoYWRvdy1yb290fSBvZiBjaGlsZCAxIHtJTlBVVH0g
b2YgYm9keQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrLXdrMi9UZXN0RXhw
ZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrLXdrMi9UZXN0RXhwZWN0YXRpb25z
CmluZGV4IGZiNjVhMjEuLjVkNThlMWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGst
d2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEzMiwxOSArMTMyLDYgQEAgQnVnKEdUSykgZWRpdGlu
Zy9zZWxlY3Rpb24vZXh0ZW5kLWFmdGVyLW1vdXNlLXNlbGVjdGlvbi5odG1sIFsgRmFpbHVyZSBd
CiAjIFdlYktpdDIgbmVlZHMgdGV4dElucHV0Q29udHJvbGxlci5zZWxlY3RlZFJhbmdlCiBCdWco
R1RLKSBlZGl0aW5nL3NlbGVjdGlvbi9taXhlZC1lZGl0YWJpbGl0eS0xMC5odG1sIFsgRmFpbHVy
ZSBdCiAKLSMgSW1wbGVtZW50IGV2ZW50U2VuZGVyLmNvbnRleHRDbGljawotQnVnKEdUSykgZWRp
dGluZy9wYXN0ZWJvYXJkL2NvcHktc3RhbmRhbG9uZS1pbWFnZS1jcmFzaC5odG1sIFsgRmFpbHVy
ZSBdCi1CdWcoR1RLKSBlZGl0aW5nL3NlbGVjdGlvbi9lbXB0eS1jZWxsLXJpZ2h0LWNsaWNrLmh0
bWwgWyBGYWlsdXJlIF0KLUJ1ZyhHVEspIGVkaXRpbmcvc2VsZWN0aW9uL2J1dHRvbi1yaWdodC1j
bGljay5odG1sIFsgRmFpbHVyZSBdCi1CdWcoR1RLKSBlZGl0aW5nL3NlbGVjdGlvbi9jb250ZXh0
LW1lbnUtb24tdGV4dC5odG1sIFsgRmFpbHVyZSBdCi1CdWcoR1RLKSBlZGl0aW5nL3NlbGVjdGlv
bi9lbXB0eS1jZWxsLXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhHVEspIGZhc3Qv
ZXZlbnRzL3NlbGVjdHN0YXJ0LXByZXZlbnQtc2VsZWN0aW9uLW9uLXJpZ2h0LWNsaWNrLmh0bWwg
WyBGYWlsdXJlIF0KLUJ1ZyhHVEspIGZhc3QvZXZlbnRzL2NvbnRleHQtbm8tZGVzZWxlY3QuaHRt
bCBbIEZhaWx1cmUgXQotQnVnKEdUSykgZmFzdC9ldmVudHMvY29udGV4dG1lbnUtc2Nyb2xsZWQt
cGFnZS13aXRoLWZyYW1lLmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhHVEspIGZhc3QvZXZlbnRzL2Nv
bnRleHQtb25tb3VzZWRvd24tZXZlbnQuaHRtbCBbIEZhaWx1cmUgXQotQnVnKEdUSykgbWVkaWEv
Y29udHJvbHMtcmlnaHQtY2xpY2stb24tdGltZWJhci5odG1sIFsgRmFpbHVyZSBdCi1CdWcoR1RL
KSBzdmcvY3VzdG9tL3VzZS1ldmVudHMtY3Jhc2guc3ZnIFsgRmFpbHVyZSBdCi0KICMgSW1wbGVt
ZW50IFBhZ2VDbGllbnRJbXBsOjpyZWdpc3RlckVkaXRDb21tYW5kIGFuZCBoYW5kbGluZyBjb21t
YW5kcyBmdW5jdGlvbnMKIEJ1ZyhHVEspIGVkaXRpbmcvZGVsZXRpbmcvZGVsZXRlLWJ5LXdvcmQt
MDAyLmh0bWwgWyBGYWlsdXJlIF0KIEJ1ZyhHVEspIGVkaXRpbmcvZGVsZXRpbmcvZGVsZXRlLWFu
ZC11bmRvLmh0bWwgWyBGYWlsdXJlIF0KQEAgLTU4OSwzICs1NzYsMjUgQEAgd2Via2l0Lm9yZy9i
Lzk4NTI3IGh0dHAvdGVzdHMvbG9hZGluZy90ZXh0LWNvbnRlbnQtdHlwZS13aXRoLWJpbmFyeS1l
eHRlbnNpb24uaHQKICMgRW5kIG9mIFRlc3RzIHdvcmtpbmcgaW4gV0syIGFuZCBmYWlsaW5nIGlu
IFdLMQogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KIAorCisjIFNlbGVjdGlvbiBk
b2Vzbid0IHdvcmsgcHJvcGVybHkuCitCdWcoR1RLKSBlZGl0aW5nL3NlbGVjdGlvbi9jb250ZXh0
LW1lbnUtdGV4dC1zZWxlY3Rpb24uaHRtbCBbIEZhaWx1cmUgUGFzcyBdCitCdWcoR1RLKSBlZGl0
aW5nL3NlbGVjdGlvbi9lbXB0eS1jZWxsLXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0KK0J1
ZyhHVEspIGVkaXRpbmcvc3BlbGxpbmcvY29udGV4dC1tZW51LXN1Z2dlc3Rpb25zLmh0bWwgWyBG
YWlsdXJlIF0KKworIyBFRkwncyBFdmVudFNlbmRlciBjb250ZXh0Q2xpY2sgc2hvdWxkIHJldHVy
biBvYmplY3RzIHRoYXQgaW1wbGVtZW50cyBjbGljaygpIG1ldGhvZAord2Via2l0Lm9yZy9iLzk4
NDEwIGVkaXRpbmcvcGFzdGVib2FyZC9jb3B5LXN0YW5kYWxvbmUtaW1hZ2UtY3Jhc2guaHRtbCBb
IEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzk4NDEwIG1lZGlhL2NvbnRleHQtbWVudS1hY3Rpb25z
Lmh0bWwgWyBGYWlsdXJlIF0KKworIyBBbiBvbmNvbnRleHRtZW51IGF0dHJpYnV0ZSBpcyBub3Qg
Y2FsbGVkLgorQnVnKEdUSykgZWRpdGluZy9zcGVsbGluZy9zcGVsbGNoZWNrLWlucHV0LXNlYXJj
aC1jcmFzaC5odG1sIFsgRmFpbHVyZSBdCitCdWcoR1RLKSBmYXN0L2V2ZW50cy9jb250ZXh0bWVu
dS1zY3JvbGxlZC1wYWdlLXdpdGgtZnJhbWUuaHRtbCBbIEZhaWx1cmUgXQorCisjIEFuIG9ubW91
c2Vkb3duIGF0dHJpYnV0ZSBpcyBub3QgY2FsbGVkLgorQnVnKEdUSykgZmFzdC9ldmVudHMvY29u
dGV4dC1vbm1vdXNlZG93bi1ldmVudC5odG1sIFsgRmFpbHVyZSBdCisKKyMgQW4gb25zZWxlY3Rz
dGFydCBhdHRyaWJ1dGUgaXMgbm90IGNhbGxlZC4KK0J1ZyhHVEspIGZhc3QvZXZlbnRzL3NlbGVj
dHN0YXJ0LXByZXZlbnQtc2VsZWN0aW9uLW9uLXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0K
KworIyBTdGFydCBvZiBtZWRpYSBwbGF5ZXIgY2F1c2VzIHRpbWVvdXQKK0J1ZyhHVEspIG1lZGlh
L2NvbnRyb2xzLXJpZ2h0LWNsaWNrLW9uLXRpbWViYXIuaHRtbCBbIEZhaWx1cmUgXQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2VkaXRpbmcvc2VsZWN0aW9uLzUzNTQ0NTUt
Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvZWRpdGluZy9zZWxlY3Rp
b24vNTM1NDQ1NS0yLWV4cGVjdGVkLnR4dAppbmRleCAxOGU4MjA5Li44NDVlYTIxIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0y
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvZWRpdGluZy9zZWxl
Y3Rpb24vNTM1NDQ1NS0yLWV4cGVjdGVkLnR4dApAQCAtMjAsNCArMjAsMyBAQCBsYXllciBhdCAo
OCw4KSBzaXplIDYxMngxNDIKICAgICAgICAgdGV4dCBydW4gYXQgKDAsMzYpIHdpZHRoIDU3Nzog
ImNsaWNrIG9uIHRoZSBlbXB0eSBzcGFjZSBvdXRzaWRlIGFuZCB0byB0aGUgcmlnaHQgb2YgdGhl
IGJsYWNrIGJvcmRlciwgdGhlIHNlbGVjdGlvbiBzaG91bGQgYmUiCiAgICAgICAgIHRleHQgcnVu
IGF0ICgwLDU0KSB3aWR0aCA1OTogInJlbW92ZWQuIgogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgMHgwCi1jYXJldDogcG9zaXRpb24gMTE4IG9mIGNoaWxkIDIgeyN0ZXh0
fSBvZiBib2R5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZmFiZWQ3Ny4uZjg1NzVkMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIzIEBACisyMDEyLTA5LTE0ICBXb2pjaWVjaCBCaWVsYXdza2kgIDx3LmJpZWxhd3Nr
aUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbV0syXVtXS1RSXSBXZWJLaXRUZXN0UnVubmVyIG5l
ZWRzIGV2ZW50U2VuZGVyLmNvbnRleHRDbGljaygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Njg4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEluamVjdGVkQnVuZGxlIEFQSSBleHRlbmRlZCB0byByZXRy
aWV2ZSBjb250ZXh0TWVudSBlbnRyaWVzIG5hbWVzLgorICAgICAgICBXZWJDb250ZXh0TWVudSBl
eHRlZGVkIHdpdGggZnVuY3Rpb24gdG8gcmV0cmlldmUgbWVudSBpdGVtcy4KKyAgICAgICAgVGhp
cyBBUEkgaXMgcmVxdWlyZWQgYnkgbGF5b3V0IHRlc3RzLgorCisgICAgICAgICogV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwOgorICAgICAgICAoV0tCdW5k
bGVQYWdlR2V0Q29udGV4dE1lbnVFbnRyaWVzTmFtZXMpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4
dE1lbnU6Oml0ZW1zKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYkNvbnRleHRNZW51Lmg6CisgICAgICAgIChXZWJDb250ZXh0TWVudSk6CisKIDIw
MTItMTAtMjQgIEpvb25lIEh1ciAgPGpvb25lLmh1ckBpbnRlbC5jb20+CiAKICAgICAgICAgW0VG
TF1bQUNdIFVucmV2aWV3ZWQsIGZpeCBidWlsZCBicmVhayB3aGVuIEFDIGlzIGVuYWJsZWQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2Mv
V0tCdW5kbGVQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcAppbmRleCA1M2RkZjYxLi5iOWEzOTIxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVu
ZGxlUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCkBAIC0zMCwxMyArMzAsMTggQEAKICNpbmNsdWRlICJJ
bmplY3RlZEJ1bmRsZUJhY2tGb3J3YXJkTGlzdC5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxl
Tm9kZUhhbmRsZS5oIgogI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgorI2luY2x1ZGUgIldLQXJyYXku
aCIKICNpbmNsdWRlICJXS0J1bmRsZUFQSUNhc3QuaCIKKyNpbmNsdWRlICJXS1JldGFpblB0ci5o
IgorI2luY2x1ZGUgIldlYkNvbnRleHRNZW51LmgiCisjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJ
dGVtLmgiCiAjaW5jbHVkZSAiV2ViRnJhbWUuaCIKICNpbmNsdWRlICJXZWJGdWxsU2NyZWVuTWFu
YWdlci5oIgogI2luY2x1ZGUgIldlYkltYWdlLmgiCiAjaW5jbHVkZSAiV2ViUGFnZS5oIgogI2lu
Y2x1ZGUgIldlYlJlbmRlckxheWVyLmgiCiAjaW5jbHVkZSAiV2ViUmVuZGVyT2JqZWN0LmgiCisj
aW5jbHVkZSAiV2ViU3RyaW5nLmgiCiAjaW5jbHVkZSAiV2ViVVJMLmgiCiAjaW5jbHVkZSAiV2Vi
VVJMUmVxdWVzdC5oIgogCkBAIC0xNDUsNiArMTUwLDI0IEBAIFdLQnVuZGxlRnJhbWVSZWYgV0tC
dW5kbGVQYWdlR2V0TWFpbkZyYW1lKFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVmKQogICAgIHJldHVy
biB0b0FQSSh0b0ltcGwocGFnZVJlZiktPm1haW5XZWJGcmFtZSgpKTsKIH0KIAorV0tBcnJheVJl
ZiBXS0J1bmRsZVBhZ2VDb3B5Q29udGV4dE1lbnVFbnRyaWVzTmFtZXMoV0tCdW5kbGVQYWdlUmVm
IHBhZ2VSZWYpCit7CisjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCisgICAgV2ViQ29udGV4dE1l
bnUqIGNvbnRleHRNZW51ID0gdG9JbXBsKHBhZ2VSZWYpLT5jb250ZXh0TWVudSgpOworICAgIFZl
Y3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiBpdGVtcyA9IGNvbnRleHRNZW51LT5pdGVtcygp
OworICAgIE93bkFycmF5UHRyPFdLVHlwZVJlZj4gaXRlbU5hbWVzID0gYWRvcHRBcnJheVB0cihu
ZXcgV0tUeXBlUmVmW2l0ZW1zLnNpemUoKV0pOworICAgIHNpemVfdCBhcnJheUxlbmd0aCA9IGl0
ZW1zLnNpemUoKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGFycmF5TGVuZ3RoOyArK2kp
IHsKKyAgICAgICAgUmVmUHRyPFdlYlN0cmluZz4gbmFtZSA9IFdlYlN0cmluZzo6Y3JlYXRlKGl0
ZW1zW2ldLnRpdGxlKCkpOworICAgICAgICBpdGVtTmFtZXNbaV0gPSB0b0FQSShuYW1lLnJlbGVh
c2UoKS5sZWFrUmVmKCkpOworICAgIH0KKworICAgIHJldHVybiBXS0FycmF5Q3JlYXRlKGl0ZW1O
YW1lcy5nZXQoKSwgYXJyYXlMZW5ndGgpOworI2Vsc2UKKyAgICByZXR1cm4gMDsKKyNlbmRpZgor
fQorCiB2b2lkKiBXS0FjY2Vzc2liaWxpdHlSb290T2JqZWN0KFdLQnVuZGxlUGFnZVJlZiBwYWdl
UmVmKQogewogI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUHJpdmF0ZS5o
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRs
ZVBhZ2VQcml2YXRlLmgKaW5kZXggMTFiMjBkYy4uYjRlMGYzMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VQcml2
YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Yy9XS0J1bmRsZVBhZ2VQcml2YXRlLmgKQEAgLTc3LDYgKzc3LDggQEAgV0tfRVhQT1JUIGJvb2wg
V0tCdW5kbGVQYWdlQ2FuU2hvd01JTUVUeXBlKFdLQnVuZGxlUGFnZVJlZiwgV0tTdHJpbmdSZWYg
bWltZVR5cGUKIFdLX0VYUE9SVCB2b2lkKiBXS0FjY2Vzc2liaWxpdHlSb290T2JqZWN0KFdLQnVu
ZGxlUGFnZVJlZik7CiBXS19FWFBPUlQgdm9pZCogV0tBY2Nlc3NpYmlsaXR5Rm9jdXNlZE9iamVj
dChXS0J1bmRsZVBhZ2VSZWYpOwogCitXS19FWFBPUlQgV0tBcnJheVJlZiBXS0J1bmRsZVBhZ2VD
b3B5Q29udGV4dE1lbnVFbnRyaWVzTmFtZXMoV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYpOworCiAj
aWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5jcHAKaW5kZXggM2E5MWQ5MC4uM2M4MTBk
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRl
eHRNZW51LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29u
dGV4dE1lbnUuY3BwCkBAIC05NSw2ICs5NSwzMiBAQCB2b2lkIFdlYkNvbnRleHRNZW51OjppdGVt
U2VsZWN0ZWQoY29uc3QgV2ViQ29udGV4dE1lbnVJdGVtRGF0YSYgaXRlbSkKICAgICBtX3BhZ2Ut
PmNvcmVQYWdlKCktPmNvbnRleHRNZW51Q29udHJvbGxlcigpLT5jb250ZXh0TWVudUl0ZW1TZWxl
Y3RlZCgmY29yZUl0ZW0pOwogfQogCitWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4gV2Vi
Q29udGV4dE1lbnU6Oml0ZW1zKCkgY29uc3QKK3sKKyAgICBWZWN0b3I8V2ViQ29udGV4dE1lbnVJ
dGVtRGF0YT4gcHJvcG9zZWRNZW51OworICAgIENvbnRleHRNZW51Q29udHJvbGxlciogY29udHJv
bGxlciA9IG1fcGFnZS0+Y29yZVBhZ2UoKS0+Y29udGV4dE1lbnVDb250cm9sbGVyKCk7CisgICAg
aWYgKCFjb250cm9sbGVyKQorICAgICAgICByZXR1cm4gcHJvcG9zZWRNZW51OworICAgIENvbnRl
eHRNZW51KiBtZW51ID0gY29udHJvbGxlci0+Y29udGV4dE1lbnUoKTsKKyAgICBpZiAoIW1lbnUp
CisgICAgICAgIHJldHVybiBwcm9wb3NlZE1lbnU7CisKKyAgICAvLyBHaXZlIHRoZSBidW5kbGUg
Y2xpZW50IGEgY2hhbmNlIHRvIHByb2Nlc3MgdGhlIG1lbnUuCisjaWYgVVNFKENST1NTX1BMQVRG
T1JNX0NPTlRFWFRfTUVOVVMpCisgICAgY29uc3QgVmVjdG9yPENvbnRleHRNZW51SXRlbT4mIGNv
cmVJdGVtcyA9IG1lbnUtPml0ZW1zKCk7CisjZWxzZQorICAgIFZlY3RvcjxDb250ZXh0TWVudUl0
ZW0+IGNvcmVJdGVtcyA9IGNvbnRleHRNZW51SXRlbVZlY3RvcihtZW51LT5wbGF0Zm9ybURlc2Ny
aXB0aW9uKCkpOworI2VuZGlmCisgICAgcHJvcG9zZWRNZW51ID0ga2l0SXRlbXMoY29yZUl0ZW1z
LCBtZW51KTsKKyAgICBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4gbmV3TWVudTsKKyAg
ICBSZWZQdHI8QVBJT2JqZWN0PiB1c2VyRGF0YTsKKyAgICBSZWZQdHI8SW5qZWN0ZWRCdW5kbGVI
aXRUZXN0UmVzdWx0PiBoaXRUZXN0UmVzdWx0ID0gSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0
OjpjcmVhdGUoY29udHJvbGxlci0+aGl0VGVzdFJlc3VsdCgpKTsKKyAgICBpZiAobV9wYWdlLT5p
bmplY3RlZEJ1bmRsZUNvbnRleHRNZW51Q2xpZW50KCkuZ2V0Q3VzdG9tTWVudUZyb21EZWZhdWx0
SXRlbXMobV9wYWdlLCBoaXRUZXN0UmVzdWx0LmdldCgpLCBwcm9wb3NlZE1lbnUsIG5ld01lbnUs
IHVzZXJEYXRhKSkKKyAgICAgICAgcHJvcG9zZWRNZW51ID0gbmV3TWVudTsKKworICAgIHJldHVy
biBwcm9wb3NlZE1lbnU7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8g
RU5BQkxFKENPTlRFWFRfTUVOVVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJDb250ZXh0TWVudS5oCmluZGV4IGM4YTVmNWEuLmRmMDgzZDkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5oCkBA
IC00Myw2ICs0Myw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2hvdygpOwogICAgIHZvaWQgaXRl
bVNlbGVjdGVkKGNvbnN0IFdlYkNvbnRleHRNZW51SXRlbURhdGEmKTsKKyAgICBWZWN0b3I8V2Vi
Q29udGV4dE1lbnVJdGVtRGF0YT4gaXRlbXMoKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBXZWJD
b250ZXh0TWVudShXZWJQYWdlKik7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29s
cy9DaGFuZ2VMb2cKaW5kZXggNjYxNjliNi4uYzhhZWFkYiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA5LTE0
ICBXb2pjaWVjaCBCaWVsYXdza2kgIDx3LmJpZWxhd3NraUBzYW1zdW5nLmNvbT4KKworICAgICAg
ICBbV0syXVtXS1RSXSBXZWJLaXRUZXN0UnVubmVyIG5lZWRzIGV2ZW50U2VuZGVyLmNvbnRleHRD
bGljaygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
Njg4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGV2
ZW50U2VuZGVyIG9iamVjdCBleHRlbmRlZCB3aXRoIGNvbnRleHRDbGljaygpIG1ldGhvZCBpbiBX
ZWJLaXRUZXN0UnVubmVyLgorICAgICAgICBjb250ZXh0Q2xpY2soKSBtZXRob2QgcmV0dXJucyBh
biBhcnJheSBvZiBtZW51IGl0ZW1zIG9iamVjdHMgd2l0aCBmaWVsZCAndGl0bGUnIGNvbnRhaW5p
bmcgdGl0bGUgb2Ygc2luZ2xlCisgICAgICAgIGNvbnRleHQgbWVudSBlbnRyeS4gQWNjb3JkaW5n
IHRvIHNvbWUgdGVzdHMgbWVudSBpdGVtcyBvYmplY3RzIHNoYWxsIGFsc28gc3VwcG9ydCAnY2xp
Y2soKScgbWV0aG9kLCBidXQgaXQncyBub3QKKyAgICAgICAgZGVsaXZlcmVkIGluIHRoaXMgcGF0
Y2guCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdz
L0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaWRsOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXVFI6
OkV2ZW50U2VuZGluZ0NvbnRyb2xsZXI6OmNvbnRleHRDbGljayk6CisgICAgICAgIChXVFIpOgor
ICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29u
dHJvbGxlci5oOgorICAgICAgICAoRXZlbnRTZW5kaW5nQ29udHJvbGxlcik6CisKIDIwMTItMTAt
MjUgIEV1Z2VuZSBLbHl1Y2huaWtvdiAgPGV1c3Rhcy5idWdAZ21haWwuY29tPgogCiAgICAgICAg
IFdlYiBJbnNwZWN0b3I6IEZpeCAiY2hlY2staW5zcGVjdG9yLXN0cmluZ3MiIHNjcmlwdCBhbmQg
Zml4IGxvY2FsaXplZCBzdHJpbmdzLgpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9FdmVudFNlbmRpbmdDb250cm9sbGVyLmlkbCBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvRXZlbnRTZW5kaW5n
Q29udHJvbGxlci5pZGwKaW5kZXggNTJhN2E1Yi4uMWQ2MmM5YiAxMDA2NDQKLS0tIGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9FdmVudFNlbmRpbmdDb250
cm9sbGVyLmlkbAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Jp
bmRpbmdzL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaWRsCkBAIC0yOSw2ICsyOSw3IEBAIGludGVy
ZmFjZSBFdmVudFNlbmRpbmdDb250cm9sbGVyIHsKICAgICB2b2lkIG1vdXNlTW92ZVRvKGluIGxv
bmcgeCwgaW4gbG9uZyB5KTsKICAgICB2b2lkIG1vdXNlU2Nyb2xsQnkoaW4gbG9uZyB4LCBpbiBs
b25nIHkpOwogICAgIHZvaWQgY29udGludW91c01vdXNlU2Nyb2xsQnkoaW4gbG9uZyB4LCBpbiBs
b25nIHksIGluIFtPcHRpb25hbF0gYm9vbGVhbiBwYWdlZCk7CisgICAgb2JqZWN0IGNvbnRleHRD
bGljaygpOwogICAgIHZvaWQgc2NoZWR1bGVBc3luY2hyb25vdXNDbGljaygpOwogCiAgICAgdm9p
ZCBsZWFwRm9yd2FyZChpbiBsb25nIG1pbGxpc2Vjb25kcyk7CmRpZmYgLS1naXQgYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuY3Bw
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250
cm9sbGVyLmNwcAppbmRleCBiZjZkOWJjLi5lZDc5YWM1IDEwMDY0NAotLS0gYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuY3BwCisr
KyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29u
dHJvbGxlci5jcHAKQEAgLTMxOSw2ICszMTksMzYgQEAgdm9pZCBFdmVudFNlbmRpbmdDb250cm9s
bGVyOjpjb250aW51b3VzTW91c2VTY3JvbGxCeShpbnQgeCwgaW50IHksIGJvb2wgcGFnZWQpCiAg
ICAgV0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaGFyZWQo
KS5idW5kbGUoKSwgRXZlbnRTZW5kZXJNZXNzYWdlTmFtZS5nZXQoKSwgRXZlbnRTZW5kZXJNZXNz
YWdlQm9keS5nZXQoKSwgMCk7CiB9CiAKK0pTVmFsdWVSZWYgRXZlbnRTZW5kaW5nQ29udHJvbGxl
cjo6Y29udGV4dENsaWNrKCkKK3sKKyAgICBXS0J1bmRsZVBhZ2VSZWYgcGFnZSA9IEluamVjdGVk
QnVuZGxlOjpzaGFyZWQoKS5wYWdlKCktPnBhZ2UoKTsKKyAgICBXS0J1bmRsZUZyYW1lUmVmIG1h
aW5GcmFtZSA9IFdLQnVuZGxlUGFnZUdldE1haW5GcmFtZShwYWdlKTsKKyAgICBKU0NvbnRleHRS
ZWYgY29udGV4dCA9IFdLQnVuZGxlRnJhbWVHZXRKYXZhU2NyaXB0Q29udGV4dChtYWluRnJhbWUp
OworI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQorICAgIC8vIERvIG1vdXNlIGNvbnRleHQgY2xp
Y2suCisgICAgbW91c2VEb3duKDIsIDApOworICAgIG1vdXNlVXAoMiwgMCk7CisKKyAgICBXS1Jl
dGFpblB0cjxXS0FycmF5UmVmPiBlbnRyaWVzTmFtZXMgPSBhZG9wdFdLKFdLQnVuZGxlUGFnZUNv
cHlDb250ZXh0TWVudUVudHJpZXNOYW1lcyhwYWdlKSk7CisgICAgSlNSZXRhaW5QdHI8SlNTdHJp
bmdSZWY+IGpzUHJvcGVydHlOYW1lKEFkb3B0LCBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmlu
ZygidGl0bGUiKSk7CisgICAgc2l6ZV90IGVudHJpZXNTaXplID0gV0tBcnJheUdldFNpemUoZW50
cmllc05hbWVzLmdldCgpKTsKKyAgICBPd25BcnJheVB0cjxKU1ZhbHVlUmVmPiBqc1ZhbHVlc0Fy
cmF5ID0gYWRvcHRBcnJheVB0cihuZXcgSlNWYWx1ZVJlZltlbnRyaWVzU2l6ZV0pOworICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgZW50cmllc1NpemU7ICsraSkgeworICAgICAgICBBU1NFUlQo
V0tHZXRUeXBlSUQoV0tBcnJheUdldEl0ZW1BdEluZGV4KGVudHJpZXNOYW1lcy5nZXQoKSwgaSkp
ID09IFdLU3RyaW5nR2V0VHlwZUlEKCkpOworICAgICAgICBXS1N0cmluZ1JlZiB3a0VudHJ5TmFt
ZSA9IHN0YXRpY19jYXN0PFdLU3RyaW5nUmVmPihXS0FycmF5R2V0SXRlbUF0SW5kZXgoZW50cmll
c05hbWVzLmdldCgpLCBpKSk7CisgICAgICAgIEpTT2JqZWN0UmVmIGpzSXRlbU9iamVjdCA9IEpT
T2JqZWN0TWFrZShjb250ZXh0LCAwLCAwKTsKKyAgICAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdS
ZWY+IGpzTmFtZUNvcHkoQWRvcHQsIFdLU3RyaW5nQ29weUpTU3RyaW5nKHdrRW50cnlOYW1lKSk7
CisgICAgICAgIEpTVmFsdWVSZWYganNFbnRyeU5hbWUgPSBKU1ZhbHVlTWFrZVN0cmluZyhjb250
ZXh0LCBqc05hbWVDb3B5LmdldCgpKTsKKyAgICAgICAgSlNPYmplY3RTZXRQcm9wZXJ0eShjb250
ZXh0LCBqc0l0ZW1PYmplY3QsIGpzUHJvcGVydHlOYW1lLmdldCgpLCBqc0VudHJ5TmFtZSwga0pT
UHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSwgMCk7CisgICAgICAgIGpzVmFsdWVzQXJyYXlbaV0g
PSBqc0l0ZW1PYmplY3Q7CisgICAgfQorCisgICAgcmV0dXJuIEpTT2JqZWN0TWFrZUFycmF5KGNv
bnRleHQsIGVudHJpZXNTaXplLCBqc1ZhbHVlc0FycmF5LmdldCgpLCAwKTsKKyNlbHNlCisgICAg
cmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworI2VuZGlmCit9CisKICNpZmRl
ZiBVU0VfV0VCUFJPQ0VTU19FVkVOVF9TSU1VTEFUSU9OCiB2b2lkIEV2ZW50U2VuZGluZ0NvbnRy
b2xsZXI6OnVwZGF0ZUNsaWNrQ291bnQoV0tFdmVudE1vdXNlQnV0dG9uIGJ1dHRvbikKIHsKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5k
aW5nQ29udHJvbGxlci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9F
dmVudFNlbmRpbmdDb250cm9sbGVyLmgKaW5kZXggNDEzYjkxYy4uNjljNTRmOSAxMDA2NDQKLS0t
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250
cm9sbGVyLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVu
dFNlbmRpbmdDb250cm9sbGVyLmgKQEAgLTUyLDYgKzUyLDcgQEAgcHVibGljOgogICAgIHZvaWQg
bW91c2VNb3ZlVG8oaW50IHgsIGludCB5KTsKICAgICB2b2lkIG1vdXNlU2Nyb2xsQnkoaW50IHgs
IGludCB5KTsKICAgICB2b2lkIGNvbnRpbnVvdXNNb3VzZVNjcm9sbEJ5KGludCB4LCBpbnQgeSwg
Ym9vbCBwYWdlZCk7CisgICAgSlNWYWx1ZVJlZiBjb250ZXh0Q2xpY2soKTsKICAgICB2b2lkIGxl
YXBGb3J3YXJkKGludCBtaWxsaXNlY29uZHMpOwogICAgIHZvaWQgc2NoZWR1bGVBc3luY2hyb25v
dXNDbGljaygpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170634</attachid>
            <date>2012-10-25 06:53:35 -0700</date>
            <delta_ts>2012-10-26 01:14:48 -0700</delta_ts>
            <desc>eventSender.contextClick() method partially implemented.</desc>
            <filename>contextClick.patch</filename>
            <type>text/plain</type>
            <size>21601</size>
            <attacher name="Wojciech Bielawski">w.bielawski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhYTg5ZWY4Li40ZmVhOWExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDkt
MTQgIFdvamNpZWNoIEJpZWxhd3NraSAgPHcuYmllbGF3c2tpQHNhbXN1bmcuY29tPgorCisgICAg
ICAgIFtXSzJdW1dLVFJdIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgZXZlbnRTZW5kZXIuY29udGV4
dENsaWNrKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTg2ODgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgZXhwZWN0ZWQgcmVzdWx0cyBmb3IgdHdvIHRlc3RzIGZvciBFRkwgcGxhdGZvcm0uCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0yLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZWZsL2Zhc3QvZXZlbnRzL2NvbnRl
eHQtbm8tZGVzZWxlY3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAxMi0xMC0yMiAgTWlraGFp
bCBOYWdhbm92ICA8bW5hZ2Fub3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0g
QWRkIHN1cHBvcnRNdWx0aXBsZVdpbmRvd3Mgc2V0dGluZywgbmVlZGVkIGZvciBBbmRyb2lkCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwtd2sxL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZjVm
MjI1NC4uMTM1M2UyOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsLXdrMS9U
ZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC13azEvVGVzdEV4
cGVjdGF0aW9ucwpAQCAtMzEyLDMgKzMxMiwyMiBAQCB3ZWJraXQub3JnL2IvOTk4MjQgZmFzdC9s
aXN0cy93My1saXN0LXN0eWxlcy5odG1sIFsgRmFpbHVyZSBdCiAjIEZhaWxpbmcgYWZ0ZXIgcjEz
MjMwMwogd2Via2l0Lm9yZy9iLzEwMDI0NiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWR5bmFt
aWMtc3R5bGluZy5odG1sIFsgRmFpbHVyZSBdIAogd2Via2l0Lm9yZy9iLzEwMDI0NiBmYXN0L2Rv
bS9zaGFkb3cvc3R5bGUtc2NvcGVkLW5vdC1lbmFibGVkLmh0bWwgWyBGYWlsdXJlIF0gCisKKyMg
RUZMJ3MgRXZlbnRTZW5kZXIgZG9lcyBub3QgaW1wbGVtZW50IGNvbnRleHRDbGljayB5ZXQKK3dl
YmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3Bhc3RlYm9hcmQvY29weS1zdGFuZGFsb25lLWltYWdl
LWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3NlbGVj
dGlvbi81MzU0NDU1LTEuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRp
bmcvc2VsZWN0aW9uLzUzNTQ0NTUtMi5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvODYw
OTEgZWRpdGluZy9zZWxlY3Rpb24vYnV0dG9uLXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0K
K3dlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3NlbGVjdGlvbi9jb250ZXh0LW1lbnUtb24tdGV4
dC5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9zZWxlY3Rpb24v
Y29udGV4dC1tZW51LXRleHQtc2VsZWN0aW9uLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcv
Yi84NjA5MSBlZGl0aW5nL3NlbGVjdGlvbi9lbXB0eS1jZWxsLXJpZ2h0LWNsaWNrLmh0bWwgWyBG
YWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3NoYWRvdy9yaWdodGNsaWNrLW9u
LW1ldGVyLWluLXNoYWRvdy1jcmFzaC5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvODYw
OTEgZWRpdGluZy9zcGVsbGluZy9jb250ZXh0LW1lbnUtc3VnZ2VzdGlvbnMuaHRtbCBbIEZhaWx1
cmUgXQord2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxjaGVjay1pbnB1
dC1zZWFyY2gtY3Jhc2guaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzg2MDkxIGZhc3Qv
ZXZlbnRzL2NvbnRleHQtbm8tZGVzZWxlY3QuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9i
Lzg2MDkxIGZhc3QvZXZlbnRzL2NvbnRleHQtb25tb3VzZWRvd24tZXZlbnQuaHRtbCBbIEZhaWx1
cmUgXQord2Via2l0Lm9yZy9iLzg2MDkxIGZhc3QvZXZlbnRzL2NvbnRleHRtZW51LXNjcm9sbGVk
LXBhZ2Utd2l0aC1mcmFtZS5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvODYwOTEgZmFz
dC9ldmVudHMvcmlnaHQtY2xpY2stZm9jdXMuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9i
Lzg2MDkxIGZhc3QvZXZlbnRzL3NlbGVjdHN0YXJ0LXByZXZlbnQtc2VsZWN0aW9uLW9uLXJpZ2h0
LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBtZWRpYS9jb250ZXh0
LW1lbnUtYWN0aW9ucy5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvODYwOTEgbWVkaWEv
Y29udHJvbHMtcmlnaHQtY2xpY2stb24tdGltZWJhci5odG1sIFsgRmFpbHVyZSBdCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9lZmwtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNThjZTY5OC4u
NGU1NWRjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsLXdrMi9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC13azIvVGVzdEV4cGVjdGF0
aW9ucwpAQCAtMjc4LDMgKzI3OCwxMSBAQCB3ZWJraXQub3JnL2IvMTAwMjQ4IGZhc3QvZm9ybXMv
c2VsZWN0LW11bHRpcGxlLWVsZW1lbnRzLXdpdGgtbW91c2UtZHJhZy5odG1sIFsgRgogCiAjIFNw
dXJpb3VzIG91dHB1dCBhZnRlciBmaXhpbmcgZmxha2luZXNzCiB3ZWJraXQub3JnL2IvMTAwMDEw
IGZhc3QvZXZlbnRzL2ZyYW1lLXRhYi1mb2N1cy5odG1sIFsgRmFpbHVyZSBdCisKKyMgRUZMJ3Mg
RXZlbnRTZW5kZXIgY29udGV4dENsaWNrIHNob3VsZCByZXR1cm4gb2JqZWN0cyB0aGF0IGltcGxl
bWVudHMgY2xpY2soKSBtZXRob2QKK3dlYmtpdC5vcmcvYi85ODQxMCBlZGl0aW5nL3Bhc3RlYm9h
cmQvY29weS1zdGFuZGFsb25lLWltYWdlLWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5v
cmcvYi85ODQxMCBtZWRpYS9jb250ZXh0LW1lbnUtYWN0aW9ucy5odG1sIFsgRmFpbHVyZSBdCisK
KyMgRUZMIFNlbGVjdGlvbiB0eXBlIGlzIG5vdCBzZXQgY29ycmVjdGx5Cit3ZWJraXQub3JnL2Iv
ODYwOTEgZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0xLmh0bWwgWyBGYWlsdXJlIF0KKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA4ZjY2MWM4Li4zZGFi
NjBlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9u
cworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTcx
MiwyNyArMTcxMiw2IEBAIHdlYmtpdC5vcmcvYi84MjE0MCBpbnNwZWN0b3IvZ2VvbG9jYXRpb24t
ZXJyb3IuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzgyMTQwIGluc3BlY3Rvci9nZW9s
b2NhdGlvbi1zdWNjZXNzLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi84MjE0MCBpbnNw
ZWN0b3IvZ2VvbG9jYXRpb24td2F0Y2hQb3NpdGlvbi5odG1sIFsgRmFpbHVyZSBdCiAKLSMgRUZM
J3MgRXZlbnRTZW5kZXIgZG9lcyBub3QgaW1wbGVtZW50IGNvbnRleHRDbGljayB5ZXQKLXdlYmtp
dC5vcmcvYi84NjA5MSBlZGl0aW5nL3Bhc3RlYm9hcmQvY29weS1zdGFuZGFsb25lLWltYWdlLWNy
YXNoLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3NlbGVjdGlv
bi81MzU0NDU1LTEuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcv
c2VsZWN0aW9uL2J1dHRvbi1yaWdodC1jbGljay5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3Jn
L2IvODYwOTEgZWRpdGluZy9zZWxlY3Rpb24vY29udGV4dC1tZW51LW9uLXRleHQuaHRtbCBbIEZh
aWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc2VsZWN0aW9uL2NvbnRleHQtbWVu
dS10ZXh0LXNlbGVjdGlvbi5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODYwOTEgZWRp
dGluZy9zZWxlY3Rpb24vZW1wdHktY2VsbC1yaWdodC1jbGljay5odG1sIFsgRmFpbHVyZSBdCi13
ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9zcGVsbGluZy9jb250ZXh0LW1lbnUtc3VnZ2VzdGlv
bnMuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc3BlbGxpbmcv
c3BlbGxjaGVjay1pbnB1dC1zZWFyY2gtY3Jhc2guaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9y
Zy9iLzg2MDkxIGZhc3QvZXZlbnRzL2NvbnRleHQtb25tb3VzZWRvd24tZXZlbnQuaHRtbCBbIEZh
aWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIGZhc3QvZXZlbnRzL2NvbnRleHRtZW51LXNjcm9s
bGVkLXBhZ2Utd2l0aC1mcmFtZS5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODYwOTEg
ZmFzdC9ldmVudHMvcmlnaHQtY2xpY2stZm9jdXMuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9y
Zy9iLzg2MDkxIGZhc3QvZXZlbnRzL3NlbGVjdHN0YXJ0LXByZXZlbnQtc2VsZWN0aW9uLW9uLXJp
Z2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84NjA5MSBtZWRpYS9jb250
ZXh0LW1lbnUtYWN0aW9ucy5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODYwOTEgbWVk
aWEvY29udHJvbHMtcmlnaHQtY2xpY2stb24tdGltZWJhci5odG1sIFsgRmFpbHVyZSBdCi13ZWJr
aXQub3JnL2IvODYwOTEgZWRpdGluZy9zaGFkb3cvcmlnaHRjbGljay1vbi1tZXRlci1pbi1zaGFk
b3ctY3Jhc2guaHRtbCBbIEZhaWx1cmUgXQotCi0jIEVGTCdzIEV2ZW50U2VuZGVyIGNvbnRleHRD
bGljaywgbmVlZHMgYmFzZWxpbmVzCi13ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9zZWxlY3Rp
b24vNTM1NDQ1NS0yLmh0bWwgWyBNaXNzaW5nIF0KLXdlYmtpdC5vcmcvYi84NjA5MSBmYXN0L2V2
ZW50cy9jb250ZXh0LW5vLWRlc2VsZWN0Lmh0bWwgWyBNaXNzaW5nIF0KLQogIyBJRVRDIG5hbWVz
cGFjZSBmYWlsdXJlcwogd2Via2l0Lm9yZy9iLzg2MTQyIGlldGVzdGNlbnRlci9jc3MzL25hbWVz
cGFjZXMvc3ludGF4LTAyMS54bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2VkaXRpbmcvc2VsZWN0aW9uLzUzNTQ0NTUtMi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvZWRpdGluZy9zZWxlY3Rpb24vNTM1
NDQ1NS0yLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5j
OTM1OWExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2VkaXRp
bmcvc2VsZWN0aW9uLzUzNTQ0NTUtMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMyBAQAorbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0
ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDgsOCkgc2l6ZSA2MTJ4MTQyCisgIFJlbmRl
ckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNjEyeDE0MiBbYm9yZGVyOiAoMXB4IHNvbGlkICMw
MDAwMDApXQorICAgIFJlbmRlckJsb2NrIHtIMX0gYXQgKDYsNikgc2l6ZSA2MDB4MzcKKyAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQ1MXgzNgorICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwwKSB3aWR0aCA0NTE6ICJXb3JkIHNlbGVjdGlvbiBvbiByaWdodCBjbGljayB0ZXN0
IgorICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg2LDY0KSBzaXplIDYwMHg3MgorICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNTk3eDM3CisgICAgICAgIHRleHQg
cnVuIGF0ICgwLDApIHdpZHRoIDU5NzogIlRoaXMgdGVzdHMgdG8gbWFrZSBzdXJlIHRoYXQgcmln
aHQgY2xpY2tpbmcgbm9uLWVkaXRhYmxlIGNvbnRlbnQgb25seSBjcmVhdGVzIGEgd29yZCBzZWxl
Y3Rpb24gZm9yIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggMTAzOiAiY2xpY2tz
IG92ZXIgdGV4dC4gIgorICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDE4
eDE5CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTAzLDE4KSBzaXplIDE4eDE5Cisg
ICAgICAgICAgdGV4dCBydW4gYXQgKDEwMywxOCkgd2lkdGggMTg6ICJUbyIKKyAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMTIxLDE4KSBzaXplIDU3N3g1NQorICAgICAgICB0ZXh0IHJ1biBh
dCAoMTIxLDE4KSB3aWR0aCA0MTE6ICIgcnVuIG1hbnVhbGx5LCByaWdodCBjbGljayBvbiB0ZXh0
LCBhbmQgYSB3b3JkIHNob3VsZCBiZSBzZWxlY3RlZC4gIgorICAgICAgICB0ZXh0IHJ1biBhdCAo
NTMyLDE4KSB3aWR0aCAzNTogIlJpZ2h0IgorICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzNikgd2lk
dGggNTc3OiAiY2xpY2sgb24gdGhlIGVtcHR5IHNwYWNlIG91dHNpZGUgYW5kIHRvIHRoZSByaWdo
dCBvZiB0aGUgYmxhY2sgYm9yZGVyLCB0aGUgc2VsZWN0aW9uIHNob3VsZCBiZSIKKyAgICAgICAg
dGV4dCBydW4gYXQgKDAsNTQpIHdpZHRoIDU5OiAicmVtb3ZlZC4iCisgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKK2NhcmV0OiBwb3NpdGlvbiAwIG9mIGNoaWxkIDAg
eyN0ZXh0fSBvZiBjaGlsZCAxIHtIMX0gb2YgYm9keQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZWZsL2Zhc3QvZXZlbnRzL2NvbnRleHQtbm8tZGVzZWxlY3QtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2Zhc3QvZXZlbnRzL2NvbnRleHQtbm8tZGVzZWxl
Y3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhYmQ3
YjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvZmFzdC9ldmVu
dHMvY29udGV4dC1uby1kZXNlbGVjdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNCBAQAorbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0
ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUg
Nzg0eDU4NAorICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMiwyKSBzaXplIDE5
M3gyOCBbYmdjb2xvcj0jRkZGRkZGXQorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMHgwCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKK2xh
eWVyIGF0ICgxNCwxNikgc2l6ZSAxODZ4MTggc2Nyb2xsSGVpZ2h0IDE5CisgIFJlbmRlckJsb2Nr
IHtESVZ9IGF0ICg0LDYpIHNpemUgMTg2eDE4CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgMTI0eDE5CisgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxMjQ6ICJzb21l
IHNhbXBsZSB0ZXh0Igorc2VsZWN0aW9uIHN0YXJ0OiBwb3NpdGlvbiA1IG9mIGNoaWxkIDAgeyN0
ZXh0fSBvZiBjaGlsZCAwIHtESVZ9IG9mIHsjc2hhZG93LXJvb3R9IG9mIGNoaWxkIDEge0lOUFVU
fSBvZiBib2R5CitzZWxlY3Rpb24gZW5kOiAgIHBvc2l0aW9uIDE1IG9mIGNoaWxkIDAgeyN0ZXh0
fSBvZiBjaGlsZCAwIHtESVZ9IG9mIHsjc2hhZG93LXJvb3R9IG9mIGNoaWxkIDEge0lOUFVUfSBv
ZiBib2R5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGstd2syL1Rlc3RFeHBl
Y3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGstd2syL1Rlc3RFeHBlY3RhdGlvbnMK
aW5kZXggZmI2NWEyMS4uNWQ1OGUxZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay13
azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTMyLDE5ICsxMzIsNiBAQCBCdWcoR1RLKSBlZGl0aW5n
L3NlbGVjdGlvbi9leHRlbmQtYWZ0ZXItbW91c2Utc2VsZWN0aW9uLmh0bWwgWyBGYWlsdXJlIF0K
ICMgV2ViS2l0MiBuZWVkcyB0ZXh0SW5wdXRDb250cm9sbGVyLnNlbGVjdGVkUmFuZ2UKIEJ1ZyhH
VEspIGVkaXRpbmcvc2VsZWN0aW9uL21peGVkLWVkaXRhYmlsaXR5LTEwLmh0bWwgWyBGYWlsdXJl
IF0KIAotIyBJbXBsZW1lbnQgZXZlbnRTZW5kZXIuY29udGV4dENsaWNrCi1CdWcoR1RLKSBlZGl0
aW5nL3Bhc3RlYm9hcmQvY29weS1zdGFuZGFsb25lLWltYWdlLWNyYXNoLmh0bWwgWyBGYWlsdXJl
IF0KLUJ1ZyhHVEspIGVkaXRpbmcvc2VsZWN0aW9uL2VtcHR5LWNlbGwtcmlnaHQtY2xpY2suaHRt
bCBbIEZhaWx1cmUgXQotQnVnKEdUSykgZWRpdGluZy9zZWxlY3Rpb24vYnV0dG9uLXJpZ2h0LWNs
aWNrLmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhHVEspIGVkaXRpbmcvc2VsZWN0aW9uL2NvbnRleHQt
bWVudS1vbi10ZXh0Lmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhHVEspIGVkaXRpbmcvc2VsZWN0aW9u
L2VtcHR5LWNlbGwtcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1cmUgXQotQnVnKEdUSykgZmFzdC9l
dmVudHMvc2VsZWN0c3RhcnQtcHJldmVudC1zZWxlY3Rpb24tb24tcmlnaHQtY2xpY2suaHRtbCBb
IEZhaWx1cmUgXQotQnVnKEdUSykgZmFzdC9ldmVudHMvY29udGV4dC1uby1kZXNlbGVjdC5odG1s
IFsgRmFpbHVyZSBdCi1CdWcoR1RLKSBmYXN0L2V2ZW50cy9jb250ZXh0bWVudS1zY3JvbGxlZC1w
YWdlLXdpdGgtZnJhbWUuaHRtbCBbIEZhaWx1cmUgXQotQnVnKEdUSykgZmFzdC9ldmVudHMvY29u
dGV4dC1vbm1vdXNlZG93bi1ldmVudC5odG1sIFsgRmFpbHVyZSBdCi1CdWcoR1RLKSBtZWRpYS9j
b250cm9scy1yaWdodC1jbGljay1vbi10aW1lYmFyLmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhHVEsp
IHN2Zy9jdXN0b20vdXNlLWV2ZW50cy1jcmFzaC5zdmcgWyBGYWlsdXJlIF0KLQogIyBJbXBsZW1l
bnQgUGFnZUNsaWVudEltcGw6OnJlZ2lzdGVyRWRpdENvbW1hbmQgYW5kIGhhbmRsaW5nIGNvbW1h
bmRzIGZ1bmN0aW9ucwogQnVnKEdUSykgZWRpdGluZy9kZWxldGluZy9kZWxldGUtYnktd29yZC0w
MDIuaHRtbCBbIEZhaWx1cmUgXQogQnVnKEdUSykgZWRpdGluZy9kZWxldGluZy9kZWxldGUtYW5k
LXVuZG8uaHRtbCBbIEZhaWx1cmUgXQpAQCAtNTg5LDMgKzU3NiwyNSBAQCB3ZWJraXQub3JnL2Iv
OTg1MjcgaHR0cC90ZXN0cy9sb2FkaW5nL3RleHQtY29udGVudC10eXBlLXdpdGgtYmluYXJ5LWV4
dGVuc2lvbi5odAogIyBFbmQgb2YgVGVzdHMgd29ya2luZyBpbiBXSzIgYW5kIGZhaWxpbmcgaW4g
V0sxCiAjLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogCisKKyMgU2VsZWN0aW9uIGRv
ZXNuJ3Qgd29yayBwcm9wZXJseS4KK0J1ZyhHVEspIGVkaXRpbmcvc2VsZWN0aW9uL2NvbnRleHQt
bWVudS10ZXh0LXNlbGVjdGlvbi5odG1sIFsgRmFpbHVyZSBQYXNzIF0KK0J1ZyhHVEspIGVkaXRp
bmcvc2VsZWN0aW9uL2VtcHR5LWNlbGwtcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1cmUgXQorQnVn
KEdUSykgZWRpdGluZy9zcGVsbGluZy9jb250ZXh0LW1lbnUtc3VnZ2VzdGlvbnMuaHRtbCBbIEZh
aWx1cmUgXQorCisjIEVGTCdzIEV2ZW50U2VuZGVyIGNvbnRleHRDbGljayBzaG91bGQgcmV0dXJu
IG9iamVjdHMgdGhhdCBpbXBsZW1lbnRzIGNsaWNrKCkgbWV0aG9kCit3ZWJraXQub3JnL2IvOTg0
MTAgZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktc3RhbmRhbG9uZS1pbWFnZS1jcmFzaC5odG1sIFsg
RmFpbHVyZSBdCit3ZWJraXQub3JnL2IvOTg0MTAgbWVkaWEvY29udGV4dC1tZW51LWFjdGlvbnMu
aHRtbCBbIEZhaWx1cmUgXQorCisjIEFuIG9uY29udGV4dG1lbnUgYXR0cmlidXRlIGlzIG5vdCBj
YWxsZWQuCitCdWcoR1RLKSBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsY2hlY2staW5wdXQtc2VhcmNo
LWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KK0J1ZyhHVEspIGZhc3QvZXZlbnRzL2NvbnRleHRtZW51
LXNjcm9sbGVkLXBhZ2Utd2l0aC1mcmFtZS5odG1sIFsgRmFpbHVyZSBdCisKKyMgQW4gb25tb3Vz
ZWRvd24gYXR0cmlidXRlIGlzIG5vdCBjYWxsZWQuCitCdWcoR1RLKSBmYXN0L2V2ZW50cy9jb250
ZXh0LW9ubW91c2Vkb3duLWV2ZW50Lmh0bWwgWyBGYWlsdXJlIF0KKworIyBBbiBvbnNlbGVjdHN0
YXJ0IGF0dHJpYnV0ZSBpcyBub3QgY2FsbGVkLgorQnVnKEdUSykgZmFzdC9ldmVudHMvc2VsZWN0
c3RhcnQtcHJldmVudC1zZWxlY3Rpb24tb24tcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1cmUgXQor
CisjIFN0YXJ0IG9mIG1lZGlhIHBsYXllciBjYXVzZXMgdGltZW91dAorQnVnKEdUSykgbWVkaWEv
Y29udHJvbHMtcmlnaHQtY2xpY2stb24tdGltZWJhci5odG1sIFsgRmFpbHVyZSBdCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0y
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9lZGl0aW5nL3NlbGVjdGlv
bi81MzU0NDU1LTItZXhwZWN0ZWQudHh0CmluZGV4IDE4ZTgyMDkuLjg0NWVhMjEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9lZGl0aW5nL3NlbGVjdGlvbi81MzU0NDU1LTIt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9lZGl0aW5nL3NlbGVj
dGlvbi81MzU0NDU1LTItZXhwZWN0ZWQudHh0CkBAIC0yMCw0ICsyMCwzIEBAIGxheWVyIGF0ICg4
LDgpIHNpemUgNjEyeDE0MgogICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzNikgd2lkdGggNTc3OiAi
Y2xpY2sgb24gdGhlIGVtcHR5IHNwYWNlIG91dHNpZGUgYW5kIHRvIHRoZSByaWdodCBvZiB0aGUg
YmxhY2sgYm9yZGVyLCB0aGUgc2VsZWN0aW9uIHNob3VsZCBiZSIKICAgICAgICAgdGV4dCBydW4g
YXQgKDAsNTQpIHdpZHRoIDU5OiAicmVtb3ZlZC4iCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsMCkgc2l6ZSAweDAKLWNhcmV0OiBwb3NpdGlvbiAxMTggb2YgY2hpbGQgMiB7I3RleHR9
IG9mIGJvZHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwppbmRleCBlY2Q2YzBkLi44ZjFjNjhhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjMgQEAKKzIwMTItMDktMTQgIFdvamNpZWNoIEJpZWxhd3NraSAgPHcuYmllbGF3c2tp
QHNhbXN1bmcuY29tPgorCisgICAgICAgIFtXSzJdW1dLVFJdIFdlYktpdFRlc3RSdW5uZXIgbmVl
ZHMgZXZlbnRTZW5kZXIuY29udGV4dENsaWNrKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTg2ODgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgSW5qZWN0ZWRCdW5kbGUgQVBJIGV4dGVuZGVkIHRvIHJldHJp
ZXZlIGNvbnRleHRNZW51IGVudHJpZXMgbmFtZXMuCisgICAgICAgIFdlYkNvbnRleHRNZW51IGV4
dGVkZWQgd2l0aCBmdW5jdGlvbiB0byByZXRyaWV2ZSBtZW51IGl0ZW1zLgorICAgICAgICBUaGlz
IEFQSSBpcyByZXF1aXJlZCBieSBsYXlvdXQgdGVzdHMuCisKKyAgICAgICAgKiBXZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHA6CisgICAgICAgIChXS0J1bmRs
ZVBhZ2VHZXRDb250ZXh0TWVudUVudHJpZXNOYW1lcyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0
TWVudTo6aXRlbXMpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViQ29udGV4dE1lbnUuaDoKKyAgICAgICAgKFdlYkNvbnRleHRNZW51KToKKwogMjAx
Mi0xMC0yNSAgS3l1bmdUYWUgS2ltICA8a3RmLmtpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBb
V0syXVtFRkxdIEFkZCBld2tfdmlld19wYWdpbmF0aW9uX21vZGVfc2V0L2dldCgpIEFQSXMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2Mv
V0tCdW5kbGVQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcAppbmRleCA1M2RkZjYxLi5iOWEzOTIxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVu
ZGxlUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCkBAIC0zMCwxMyArMzAsMTggQEAKICNpbmNsdWRlICJJ
bmplY3RlZEJ1bmRsZUJhY2tGb3J3YXJkTGlzdC5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxl
Tm9kZUhhbmRsZS5oIgogI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgorI2luY2x1ZGUgIldLQXJyYXku
aCIKICNpbmNsdWRlICJXS0J1bmRsZUFQSUNhc3QuaCIKKyNpbmNsdWRlICJXS1JldGFpblB0ci5o
IgorI2luY2x1ZGUgIldlYkNvbnRleHRNZW51LmgiCisjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJ
dGVtLmgiCiAjaW5jbHVkZSAiV2ViRnJhbWUuaCIKICNpbmNsdWRlICJXZWJGdWxsU2NyZWVuTWFu
YWdlci5oIgogI2luY2x1ZGUgIldlYkltYWdlLmgiCiAjaW5jbHVkZSAiV2ViUGFnZS5oIgogI2lu
Y2x1ZGUgIldlYlJlbmRlckxheWVyLmgiCiAjaW5jbHVkZSAiV2ViUmVuZGVyT2JqZWN0LmgiCisj
aW5jbHVkZSAiV2ViU3RyaW5nLmgiCiAjaW5jbHVkZSAiV2ViVVJMLmgiCiAjaW5jbHVkZSAiV2Vi
VVJMUmVxdWVzdC5oIgogCkBAIC0xNDUsNiArMTUwLDI0IEBAIFdLQnVuZGxlRnJhbWVSZWYgV0tC
dW5kbGVQYWdlR2V0TWFpbkZyYW1lKFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVmKQogICAgIHJldHVy
biB0b0FQSSh0b0ltcGwocGFnZVJlZiktPm1haW5XZWJGcmFtZSgpKTsKIH0KIAorV0tBcnJheVJl
ZiBXS0J1bmRsZVBhZ2VDb3B5Q29udGV4dE1lbnVFbnRyaWVzTmFtZXMoV0tCdW5kbGVQYWdlUmVm
IHBhZ2VSZWYpCit7CisjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCisgICAgV2ViQ29udGV4dE1l
bnUqIGNvbnRleHRNZW51ID0gdG9JbXBsKHBhZ2VSZWYpLT5jb250ZXh0TWVudSgpOworICAgIFZl
Y3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiBpdGVtcyA9IGNvbnRleHRNZW51LT5pdGVtcygp
OworICAgIE93bkFycmF5UHRyPFdLVHlwZVJlZj4gaXRlbU5hbWVzID0gYWRvcHRBcnJheVB0cihu
ZXcgV0tUeXBlUmVmW2l0ZW1zLnNpemUoKV0pOworICAgIHNpemVfdCBhcnJheUxlbmd0aCA9IGl0
ZW1zLnNpemUoKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGFycmF5TGVuZ3RoOyArK2kp
IHsKKyAgICAgICAgUmVmUHRyPFdlYlN0cmluZz4gbmFtZSA9IFdlYlN0cmluZzo6Y3JlYXRlKGl0
ZW1zW2ldLnRpdGxlKCkpOworICAgICAgICBpdGVtTmFtZXNbaV0gPSB0b0FQSShuYW1lLnJlbGVh
c2UoKS5sZWFrUmVmKCkpOworICAgIH0KKworICAgIHJldHVybiBXS0FycmF5Q3JlYXRlKGl0ZW1O
YW1lcy5nZXQoKSwgYXJyYXlMZW5ndGgpOworI2Vsc2UKKyAgICByZXR1cm4gMDsKKyNlbmRpZgor
fQorCiB2b2lkKiBXS0FjY2Vzc2liaWxpdHlSb290T2JqZWN0KFdLQnVuZGxlUGFnZVJlZiBwYWdl
UmVmKQogewogI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUHJpdmF0ZS5o
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRs
ZVBhZ2VQcml2YXRlLmgKaW5kZXggMTFiMjBkYy4uYjRlMGYzMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VQcml2
YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Yy9XS0J1bmRsZVBhZ2VQcml2YXRlLmgKQEAgLTc3LDYgKzc3LDggQEAgV0tfRVhQT1JUIGJvb2wg
V0tCdW5kbGVQYWdlQ2FuU2hvd01JTUVUeXBlKFdLQnVuZGxlUGFnZVJlZiwgV0tTdHJpbmdSZWYg
bWltZVR5cGUKIFdLX0VYUE9SVCB2b2lkKiBXS0FjY2Vzc2liaWxpdHlSb290T2JqZWN0KFdLQnVu
ZGxlUGFnZVJlZik7CiBXS19FWFBPUlQgdm9pZCogV0tBY2Nlc3NpYmlsaXR5Rm9jdXNlZE9iamVj
dChXS0J1bmRsZVBhZ2VSZWYpOwogCitXS19FWFBPUlQgV0tBcnJheVJlZiBXS0J1bmRsZVBhZ2VD
b3B5Q29udGV4dE1lbnVFbnRyaWVzTmFtZXMoV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYpOworCiAj
aWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5jcHAKaW5kZXggM2E5MWQ5MC4uM2M4MTBk
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRl
eHRNZW51LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29u
dGV4dE1lbnUuY3BwCkBAIC05NSw2ICs5NSwzMiBAQCB2b2lkIFdlYkNvbnRleHRNZW51OjppdGVt
U2VsZWN0ZWQoY29uc3QgV2ViQ29udGV4dE1lbnVJdGVtRGF0YSYgaXRlbSkKICAgICBtX3BhZ2Ut
PmNvcmVQYWdlKCktPmNvbnRleHRNZW51Q29udHJvbGxlcigpLT5jb250ZXh0TWVudUl0ZW1TZWxl
Y3RlZCgmY29yZUl0ZW0pOwogfQogCitWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4gV2Vi
Q29udGV4dE1lbnU6Oml0ZW1zKCkgY29uc3QKK3sKKyAgICBWZWN0b3I8V2ViQ29udGV4dE1lbnVJ
dGVtRGF0YT4gcHJvcG9zZWRNZW51OworICAgIENvbnRleHRNZW51Q29udHJvbGxlciogY29udHJv
bGxlciA9IG1fcGFnZS0+Y29yZVBhZ2UoKS0+Y29udGV4dE1lbnVDb250cm9sbGVyKCk7CisgICAg
aWYgKCFjb250cm9sbGVyKQorICAgICAgICByZXR1cm4gcHJvcG9zZWRNZW51OworICAgIENvbnRl
eHRNZW51KiBtZW51ID0gY29udHJvbGxlci0+Y29udGV4dE1lbnUoKTsKKyAgICBpZiAoIW1lbnUp
CisgICAgICAgIHJldHVybiBwcm9wb3NlZE1lbnU7CisKKyAgICAvLyBHaXZlIHRoZSBidW5kbGUg
Y2xpZW50IGEgY2hhbmNlIHRvIHByb2Nlc3MgdGhlIG1lbnUuCisjaWYgVVNFKENST1NTX1BMQVRG
T1JNX0NPTlRFWFRfTUVOVVMpCisgICAgY29uc3QgVmVjdG9yPENvbnRleHRNZW51SXRlbT4mIGNv
cmVJdGVtcyA9IG1lbnUtPml0ZW1zKCk7CisjZWxzZQorICAgIFZlY3RvcjxDb250ZXh0TWVudUl0
ZW0+IGNvcmVJdGVtcyA9IGNvbnRleHRNZW51SXRlbVZlY3RvcihtZW51LT5wbGF0Zm9ybURlc2Ny
aXB0aW9uKCkpOworI2VuZGlmCisgICAgcHJvcG9zZWRNZW51ID0ga2l0SXRlbXMoY29yZUl0ZW1z
LCBtZW51KTsKKyAgICBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4gbmV3TWVudTsKKyAg
ICBSZWZQdHI8QVBJT2JqZWN0PiB1c2VyRGF0YTsKKyAgICBSZWZQdHI8SW5qZWN0ZWRCdW5kbGVI
aXRUZXN0UmVzdWx0PiBoaXRUZXN0UmVzdWx0ID0gSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0
OjpjcmVhdGUoY29udHJvbGxlci0+aGl0VGVzdFJlc3VsdCgpKTsKKyAgICBpZiAobV9wYWdlLT5p
bmplY3RlZEJ1bmRsZUNvbnRleHRNZW51Q2xpZW50KCkuZ2V0Q3VzdG9tTWVudUZyb21EZWZhdWx0
SXRlbXMobV9wYWdlLCBoaXRUZXN0UmVzdWx0LmdldCgpLCBwcm9wb3NlZE1lbnUsIG5ld01lbnUs
IHVzZXJEYXRhKSkKKyAgICAgICAgcHJvcG9zZWRNZW51ID0gbmV3TWVudTsKKworICAgIHJldHVy
biBwcm9wb3NlZE1lbnU7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8g
RU5BQkxFKENPTlRFWFRfTUVOVVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJDb250ZXh0TWVudS5oCmluZGV4IGM4YTVmNWEuLmRmMDgzZDkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5oCkBA
IC00Myw2ICs0Myw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2hvdygpOwogICAgIHZvaWQgaXRl
bVNlbGVjdGVkKGNvbnN0IFdlYkNvbnRleHRNZW51SXRlbURhdGEmKTsKKyAgICBWZWN0b3I8V2Vi
Q29udGV4dE1lbnVJdGVtRGF0YT4gaXRlbXMoKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBXZWJD
b250ZXh0TWVudShXZWJQYWdlKik7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29s
cy9DaGFuZ2VMb2cKaW5kZXggOGM5MzZmMC4uY2JhOWIwYiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA5LTE0
ICBXb2pjaWVjaCBCaWVsYXdza2kgIDx3LmJpZWxhd3NraUBzYW1zdW5nLmNvbT4KKworICAgICAg
ICBbV0syXVtXS1RSXSBXZWJLaXRUZXN0UnVubmVyIG5lZWRzIGV2ZW50U2VuZGVyLmNvbnRleHRD
bGljaygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
Njg4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGV2
ZW50U2VuZGVyIG9iamVjdCBleHRlbmRlZCB3aXRoIGNvbnRleHRDbGljaygpIG1ldGhvZCBpbiBX
ZWJLaXRUZXN0UnVubmVyLgorICAgICAgICBjb250ZXh0Q2xpY2soKSBtZXRob2QgcmV0dXJucyBh
biBhcnJheSBvZiBtZW51IGl0ZW1zIG9iamVjdHMgd2l0aCBmaWVsZCAndGl0bGUnIGNvbnRhaW5p
bmcgdGl0bGUgb2Ygc2luZ2xlCisgICAgICAgIGNvbnRleHQgbWVudSBlbnRyeS4gQWNjb3JkaW5n
IHRvIHNvbWUgdGVzdHMgbWVudSBpdGVtcyBvYmplY3RzIHNoYWxsIGFsc28gc3VwcG9ydCAnY2xp
Y2soKScgbWV0aG9kLCBidXQgaXQncyBub3QKKyAgICAgICAgZGVsaXZlcmVkIGluIHRoaXMgcGF0
Y2guCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdz
L0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaWRsOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXVFI6
OkV2ZW50U2VuZGluZ0NvbnRyb2xsZXI6OmNvbnRleHRDbGljayk6CisgICAgICAgIChXVFIpOgor
ICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29u
dHJvbGxlci5oOgorICAgICAgICAoRXZlbnRTZW5kaW5nQ29udHJvbGxlcik6CisKIDIwMTItMTAt
MjIgIE1pa2hhaWwgTmFnYW5vdiAgPG1uYWdhbm92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBb
Q2hyb21pdW1dIEFkZCBzdXBwb3J0TXVsdGlwbGVXaW5kb3dzIHNldHRpbmcsIG5lZWRlZCBmb3Ig
QW5kcm9pZApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9CaW5kaW5ncy9FdmVudFNlbmRpbmdDb250cm9sbGVyLmlkbCBiL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5pZGwK
aW5kZXggNTJhN2E1Yi4uMWQ2MmM5YiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9FdmVudFNlbmRpbmdDb250cm9sbGVyLmlkbAorKysg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0V2ZW50U2Vu
ZGluZ0NvbnRyb2xsZXIuaWRsCkBAIC0yOSw2ICsyOSw3IEBAIGludGVyZmFjZSBFdmVudFNlbmRp
bmdDb250cm9sbGVyIHsKICAgICB2b2lkIG1vdXNlTW92ZVRvKGluIGxvbmcgeCwgaW4gbG9uZyB5
KTsKICAgICB2b2lkIG1vdXNlU2Nyb2xsQnkoaW4gbG9uZyB4LCBpbiBsb25nIHkpOwogICAgIHZv
aWQgY29udGludW91c01vdXNlU2Nyb2xsQnkoaW4gbG9uZyB4LCBpbiBsb25nIHksIGluIFtPcHRp
b25hbF0gYm9vbGVhbiBwYWdlZCk7CisgICAgb2JqZWN0IGNvbnRleHRDbGljaygpOwogICAgIHZv
aWQgc2NoZWR1bGVBc3luY2hyb25vdXNDbGljaygpOwogCiAgICAgdm9pZCBsZWFwRm9yd2FyZChp
biBsb25nIG1pbGxpc2Vjb25kcyk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmNwcAppbmRl
eCBiZjZkOWJjLi5lZDc5YWM1IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5jcHAKQEAg
LTMxOSw2ICszMTksMzYgQEAgdm9pZCBFdmVudFNlbmRpbmdDb250cm9sbGVyOjpjb250aW51b3Vz
TW91c2VTY3JvbGxCeShpbnQgeCwgaW50IHksIGJvb2wgcGFnZWQpCiAgICAgV0tCdW5kbGVQb3N0
U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5idW5kbGUoKSwgRXZl
bnRTZW5kZXJNZXNzYWdlTmFtZS5nZXQoKSwgRXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwg
MCk7CiB9CiAKK0pTVmFsdWVSZWYgRXZlbnRTZW5kaW5nQ29udHJvbGxlcjo6Y29udGV4dENsaWNr
KCkKK3sKKyAgICBXS0J1bmRsZVBhZ2VSZWYgcGFnZSA9IEluamVjdGVkQnVuZGxlOjpzaGFyZWQo
KS5wYWdlKCktPnBhZ2UoKTsKKyAgICBXS0J1bmRsZUZyYW1lUmVmIG1haW5GcmFtZSA9IFdLQnVu
ZGxlUGFnZUdldE1haW5GcmFtZShwYWdlKTsKKyAgICBKU0NvbnRleHRSZWYgY29udGV4dCA9IFdL
QnVuZGxlRnJhbWVHZXRKYXZhU2NyaXB0Q29udGV4dChtYWluRnJhbWUpOworI2lmIEVOQUJMRShD
T05URVhUX01FTlVTKQorICAgIC8vIERvIG1vdXNlIGNvbnRleHQgY2xpY2suCisgICAgbW91c2VE
b3duKDIsIDApOworICAgIG1vdXNlVXAoMiwgMCk7CisKKyAgICBXS1JldGFpblB0cjxXS0FycmF5
UmVmPiBlbnRyaWVzTmFtZXMgPSBhZG9wdFdLKFdLQnVuZGxlUGFnZUNvcHlDb250ZXh0TWVudUVu
dHJpZXNOYW1lcyhwYWdlKSk7CisgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IGpzUHJvcGVy
dHlOYW1lKEFkb3B0LCBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygidGl0bGUiKSk7Cisg
ICAgc2l6ZV90IGVudHJpZXNTaXplID0gV0tBcnJheUdldFNpemUoZW50cmllc05hbWVzLmdldCgp
KTsKKyAgICBPd25BcnJheVB0cjxKU1ZhbHVlUmVmPiBqc1ZhbHVlc0FycmF5ID0gYWRvcHRBcnJh
eVB0cihuZXcgSlNWYWx1ZVJlZltlbnRyaWVzU2l6ZV0pOworICAgIGZvciAoc2l6ZV90IGkgPSAw
OyBpIDwgZW50cmllc1NpemU7ICsraSkgeworICAgICAgICBBU1NFUlQoV0tHZXRUeXBlSUQoV0tB
cnJheUdldEl0ZW1BdEluZGV4KGVudHJpZXNOYW1lcy5nZXQoKSwgaSkpID09IFdLU3RyaW5nR2V0
VHlwZUlEKCkpOworICAgICAgICBXS1N0cmluZ1JlZiB3a0VudHJ5TmFtZSA9IHN0YXRpY19jYXN0
PFdLU3RyaW5nUmVmPihXS0FycmF5R2V0SXRlbUF0SW5kZXgoZW50cmllc05hbWVzLmdldCgpLCBp
KSk7CisgICAgICAgIEpTT2JqZWN0UmVmIGpzSXRlbU9iamVjdCA9IEpTT2JqZWN0TWFrZShjb250
ZXh0LCAwLCAwKTsKKyAgICAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IGpzTmFtZUNvcHko
QWRvcHQsIFdLU3RyaW5nQ29weUpTU3RyaW5nKHdrRW50cnlOYW1lKSk7CisgICAgICAgIEpTVmFs
dWVSZWYganNFbnRyeU5hbWUgPSBKU1ZhbHVlTWFrZVN0cmluZyhjb250ZXh0LCBqc05hbWVDb3B5
LmdldCgpKTsKKyAgICAgICAgSlNPYmplY3RTZXRQcm9wZXJ0eShjb250ZXh0LCBqc0l0ZW1PYmpl
Y3QsIGpzUHJvcGVydHlOYW1lLmdldCgpLCBqc0VudHJ5TmFtZSwga0pTUHJvcGVydHlBdHRyaWJ1
dGVSZWFkT25seSwgMCk7CisgICAgICAgIGpzVmFsdWVzQXJyYXlbaV0gPSBqc0l0ZW1PYmplY3Q7
CisgICAgfQorCisgICAgcmV0dXJuIEpTT2JqZWN0TWFrZUFycmF5KGNvbnRleHQsIGVudHJpZXNT
aXplLCBqc1ZhbHVlc0FycmF5LmdldCgpLCAwKTsKKyNlbHNlCisgICAgcmV0dXJuIEpTVmFsdWVN
YWtlVW5kZWZpbmVkKGNvbnRleHQpOworI2VuZGlmCit9CisKICNpZmRlZiBVU0VfV0VCUFJPQ0VT
U19FVkVOVF9TSU1VTEFUSU9OCiB2b2lkIEV2ZW50U2VuZGluZ0NvbnRyb2xsZXI6OnVwZGF0ZUNs
aWNrQ291bnQoV0tFdmVudE1vdXNlQnV0dG9uIGJ1dHRvbikKIHsKZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5o
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250
cm9sbGVyLmgKaW5kZXggNDEzYjkxYy4uNjljNTRmOSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmgKKysrIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9s
bGVyLmgKQEAgLTUyLDYgKzUyLDcgQEAgcHVibGljOgogICAgIHZvaWQgbW91c2VNb3ZlVG8oaW50
IHgsIGludCB5KTsKICAgICB2b2lkIG1vdXNlU2Nyb2xsQnkoaW50IHgsIGludCB5KTsKICAgICB2
b2lkIGNvbnRpbnVvdXNNb3VzZVNjcm9sbEJ5KGludCB4LCBpbnQgeSwgYm9vbCBwYWdlZCk7Cisg
ICAgSlNWYWx1ZVJlZiBjb250ZXh0Q2xpY2soKTsKICAgICB2b2lkIGxlYXBGb3J3YXJkKGludCBt
aWxsaXNlY29uZHMpOwogICAgIHZvaWQgc2NoZWR1bGVBc3luY2hyb25vdXNDbGljaygpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170844</attachid>
            <date>2012-10-26 01:14:48 -0700</date>
            <delta_ts>2012-10-30 07:31:22 -0700</delta_ts>
            <desc>eventSender.contextClick() method partially implemented.</desc>
            <filename>contextClick.patch</filename>
            <type>text/plain</type>
            <size>21916</size>
            <attacher name="Wojciech Bielawski">w.bielawski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhYTg5ZWY4Li4zNTAwYWY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMDkt
MTQgIFdvamNpZWNoIEJpZWxhd3NraSAgPHcuYmllbGF3c2tpQHNhbXN1bmcuY29tPgorCisgICAg
ICAgIFtXSzJdW1dLVFJdIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgZXZlbnRTZW5kZXIuY29udGV4
dENsaWNrKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTg2ODgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgZXhwZWN0ZWQgcmVzdWx0cyBmb3IgdHdvIHRlc3RzIGZvciBFRkwgcGxhdGZvcm0uIFRl
c3QgZXhwZWN0YXRpb25zIGNoYW5nZWQKKyAgICAgICAgZm9yIEVGTCBXSzEvV0syIGFuZCBHVEsg
cGxhdHJvZm1zCisKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9uczoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9lZmwtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxh
dGZvcm0vZWZsLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL2drdC13
azIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvZWRpdGluZy9zZWxl
Y3Rpb24vNTM1NDQ1NS0yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvZWRp
dGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vZWZsL2Zhc3QvZXZlbnRzL2NvbnRleHQtbm8tZGVzZWxlY3QtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKwogMjAxMi0xMC0yMiAgTWlraGFpbCBOYWdhbm92ICA8bW5hZ2Fub3ZAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gQWRkIHN1cHBvcnRNdWx0aXBsZVdpbmRvd3Mg
c2V0dGluZywgbmVlZGVkIGZvciBBbmRyb2lkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9lZmwtd2sxL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwt
d2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZjVmMjI1NC4uMTM1M2UyOCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2VmbC13azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMzEyLDMgKzMxMiwy
MiBAQCB3ZWJraXQub3JnL2IvOTk4MjQgZmFzdC9saXN0cy93My1saXN0LXN0eWxlcy5odG1sIFsg
RmFpbHVyZSBdCiAjIEZhaWxpbmcgYWZ0ZXIgcjEzMjMwMwogd2Via2l0Lm9yZy9iLzEwMDI0NiBm
YXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWR5bmFtaWMtc3R5bGluZy5odG1sIFsgRmFpbHVyZSBd
IAogd2Via2l0Lm9yZy9iLzEwMDI0NiBmYXN0L2RvbS9zaGFkb3cvc3R5bGUtc2NvcGVkLW5vdC1l
bmFibGVkLmh0bWwgWyBGYWlsdXJlIF0gCisKKyMgRUZMJ3MgRXZlbnRTZW5kZXIgZG9lcyBub3Qg
aW1wbGVtZW50IGNvbnRleHRDbGljayB5ZXQKK3dlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3Bh
c3RlYm9hcmQvY29weS1zdGFuZGFsb25lLWltYWdlLWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KK3dl
YmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3NlbGVjdGlvbi81MzU0NDU1LTEuaHRtbCBbIEZhaWx1
cmUgXQord2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc2VsZWN0aW9uLzUzNTQ0NTUtMi5odG1s
IFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9zZWxlY3Rpb24vYnV0dG9u
LXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5n
L3NlbGVjdGlvbi9jb250ZXh0LW1lbnUtb24tdGV4dC5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQu
b3JnL2IvODYwOTEgZWRpdGluZy9zZWxlY3Rpb24vY29udGV4dC1tZW51LXRleHQtc2VsZWN0aW9u
Lmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3NlbGVjdGlvbi9l
bXB0eS1jZWxsLXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5
MSBlZGl0aW5nL3NoYWRvdy9yaWdodGNsaWNrLW9uLW1ldGVyLWluLXNoYWRvdy1jcmFzaC5odG1s
IFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9zcGVsbGluZy9jb250ZXh0
LW1lbnUtc3VnZ2VzdGlvbnMuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzg2MDkxIGVk
aXRpbmcvc3BlbGxpbmcvc3BlbGxjaGVjay1pbnB1dC1zZWFyY2gtY3Jhc2guaHRtbCBbIEZhaWx1
cmUgXQord2Via2l0Lm9yZy9iLzg2MDkxIGZhc3QvZXZlbnRzL2NvbnRleHQtbm8tZGVzZWxlY3Qu
aHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzg2MDkxIGZhc3QvZXZlbnRzL2NvbnRleHQt
b25tb3VzZWRvd24tZXZlbnQuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzg2MDkxIGZh
c3QvZXZlbnRzL2NvbnRleHRtZW51LXNjcm9sbGVkLXBhZ2Utd2l0aC1mcmFtZS5odG1sIFsgRmFp
bHVyZSBdCit3ZWJraXQub3JnL2IvODYwOTEgZmFzdC9ldmVudHMvcmlnaHQtY2xpY2stZm9jdXMu
aHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzg2MDkxIGZhc3QvZXZlbnRzL3NlbGVjdHN0
YXJ0LXByZXZlbnQtc2VsZWN0aW9uLW9uLXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0KK3dl
YmtpdC5vcmcvYi84NjA5MSBtZWRpYS9jb250ZXh0LW1lbnUtYWN0aW9ucy5odG1sIFsgRmFpbHVy
ZSBdCit3ZWJraXQub3JnL2IvODYwOTEgbWVkaWEvY29udHJvbHMtcmlnaHQtY2xpY2stb24tdGlt
ZWJhci5odG1sIFsgRmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9l
Zmwtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwtd2syL1Rl
c3RFeHBlY3RhdGlvbnMKaW5kZXggNThjZTY5OC4uNGU1NWRjYiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZWZsLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2VmbC13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjc4LDMgKzI3OCwxMSBAQCB3
ZWJraXQub3JnL2IvMTAwMjQ4IGZhc3QvZm9ybXMvc2VsZWN0LW11bHRpcGxlLWVsZW1lbnRzLXdp
dGgtbW91c2UtZHJhZy5odG1sIFsgRgogCiAjIFNwdXJpb3VzIG91dHB1dCBhZnRlciBmaXhpbmcg
Zmxha2luZXNzCiB3ZWJraXQub3JnL2IvMTAwMDEwIGZhc3QvZXZlbnRzL2ZyYW1lLXRhYi1mb2N1
cy5odG1sIFsgRmFpbHVyZSBdCisKKyMgRUZMJ3MgRXZlbnRTZW5kZXIgY29udGV4dENsaWNrIHNo
b3VsZCByZXR1cm4gb2JqZWN0cyB0aGF0IGltcGxlbWVudHMgY2xpY2soKSBtZXRob2QKK3dlYmtp
dC5vcmcvYi85ODQxMCBlZGl0aW5nL3Bhc3RlYm9hcmQvY29weS1zdGFuZGFsb25lLWltYWdlLWNy
YXNoLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi85ODQxMCBtZWRpYS9jb250ZXh0LW1l
bnUtYWN0aW9ucy5odG1sIFsgRmFpbHVyZSBdCisKKyMgRUZMIFNlbGVjdGlvbiB0eXBlIGlzIG5v
dCBzZXQgY29ycmVjdGx5Cit3ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9zZWxlY3Rpb24vNTM1
NDQ1NS0xLmh0bWwgWyBGYWlsdXJlIF0KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4
cGVjdGF0aW9ucwppbmRleCA4ZjY2MWM4Li4zZGFiNjBlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9lZmwvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTcxMiwyNyArMTcxMiw2IEBAIHdlYmtpdC5vcmcv
Yi84MjE0MCBpbnNwZWN0b3IvZ2VvbG9jYXRpb24tZXJyb3IuaHRtbCBbIEZhaWx1cmUgXQogd2Vi
a2l0Lm9yZy9iLzgyMTQwIGluc3BlY3Rvci9nZW9sb2NhdGlvbi1zdWNjZXNzLmh0bWwgWyBGYWls
dXJlIF0KIHdlYmtpdC5vcmcvYi84MjE0MCBpbnNwZWN0b3IvZ2VvbG9jYXRpb24td2F0Y2hQb3Np
dGlvbi5odG1sIFsgRmFpbHVyZSBdCiAKLSMgRUZMJ3MgRXZlbnRTZW5kZXIgZG9lcyBub3QgaW1w
bGVtZW50IGNvbnRleHRDbGljayB5ZXQKLXdlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvY29weS1zdGFuZGFsb25lLWltYWdlLWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtp
dC5vcmcvYi84NjA5MSBlZGl0aW5nL3NlbGVjdGlvbi81MzU0NDU1LTEuaHRtbCBbIEZhaWx1cmUg
XQotd2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc2VsZWN0aW9uL2J1dHRvbi1yaWdodC1jbGlj
ay5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9zZWxlY3Rpb24v
Y29udGV4dC1tZW51LW9uLXRleHQuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkx
IGVkaXRpbmcvc2VsZWN0aW9uL2NvbnRleHQtbWVudS10ZXh0LXNlbGVjdGlvbi5odG1sIFsgRmFp
bHVyZSBdCi13ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9zZWxlY3Rpb24vZW1wdHktY2VsbC1y
aWdodC1jbGljay5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9z
cGVsbGluZy9jb250ZXh0LW1lbnUtc3VnZ2VzdGlvbnMuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0
Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxjaGVjay1pbnB1dC1zZWFyY2gtY3Jh
c2guaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIGZhc3QvZXZlbnRzL2NvbnRl
eHQtb25tb3VzZWRvd24tZXZlbnQuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkx
IGZhc3QvZXZlbnRzL2NvbnRleHRtZW51LXNjcm9sbGVkLXBhZ2Utd2l0aC1mcmFtZS5odG1sIFsg
RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODYwOTEgZmFzdC9ldmVudHMvcmlnaHQtY2xpY2stZm9j
dXMuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIGZhc3QvZXZlbnRzL3NlbGVj
dHN0YXJ0LXByZXZlbnQtc2VsZWN0aW9uLW9uLXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0K
LXdlYmtpdC5vcmcvYi84NjA5MSBtZWRpYS9jb250ZXh0LW1lbnUtYWN0aW9ucy5odG1sIFsgRmFp
bHVyZSBdCi13ZWJraXQub3JnL2IvODYwOTEgbWVkaWEvY29udHJvbHMtcmlnaHQtY2xpY2stb24t
dGltZWJhci5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9zaGFk
b3cvcmlnaHRjbGljay1vbi1tZXRlci1pbi1zaGFkb3ctY3Jhc2guaHRtbCBbIEZhaWx1cmUgXQot
Ci0jIEVGTCdzIEV2ZW50U2VuZGVyIGNvbnRleHRDbGljaywgbmVlZHMgYmFzZWxpbmVzCi13ZWJr
aXQub3JnL2IvODYwOTEgZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0yLmh0bWwgWyBNaXNzaW5n
IF0KLXdlYmtpdC5vcmcvYi84NjA5MSBmYXN0L2V2ZW50cy9jb250ZXh0LW5vLWRlc2VsZWN0Lmh0
bWwgWyBNaXNzaW5nIF0KLQogIyBJRVRDIG5hbWVzcGFjZSBmYWlsdXJlcwogd2Via2l0Lm9yZy9i
Lzg2MTQyIGlldGVzdGNlbnRlci9jc3MzL25hbWVzcGFjZXMvc3ludGF4LTAyMS54bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2Vk
aXRpbmcvc2VsZWN0aW9uLzUzNTQ0NTUtMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9lZmwvZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0yLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOTM1OWExCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2VkaXRpbmcvc2VsZWN0aW9uLzUzNTQ0NTUtMi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwyMyBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisg
IFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIg
YXQgKDgsOCkgc2l6ZSA2MTJ4MTQyCisgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUg
NjEyeDE0MiBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQorICAgIFJlbmRlckJsb2NrIHtI
MX0gYXQgKDYsNikgc2l6ZSA2MDB4MzcKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDQ1MXgzNgorICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA0NTE6ICJXb3Jk
IHNlbGVjdGlvbiBvbiByaWdodCBjbGljayB0ZXN0IgorICAgIFJlbmRlckJsb2NrIChhbm9ueW1v
dXMpIGF0ICg2LDY0KSBzaXplIDYwMHg3MgorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgNTk3eDM3CisgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDU5NzogIlRo
aXMgdGVzdHMgdG8gbWFrZSBzdXJlIHRoYXQgcmlnaHQgY2xpY2tpbmcgbm9uLWVkaXRhYmxlIGNv
bnRlbnQgb25seSBjcmVhdGVzIGEgd29yZCBzZWxlY3Rpb24gZm9yIgorICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwxOCkgd2lkdGggMTAzOiAiY2xpY2tzIG92ZXIgdGV4dC4gIgorICAgICAgUmVuZGVy
SW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDE4eDE5CisgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMTAzLDE4KSBzaXplIDE4eDE5CisgICAgICAgICAgdGV4dCBydW4gYXQgKDEwMywx
OCkgd2lkdGggMTg6ICJUbyIKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTIxLDE4KSBz
aXplIDU3N3g1NQorICAgICAgICB0ZXh0IHJ1biBhdCAoMTIxLDE4KSB3aWR0aCA0MTE6ICIgcnVu
IG1hbnVhbGx5LCByaWdodCBjbGljayBvbiB0ZXh0LCBhbmQgYSB3b3JkIHNob3VsZCBiZSBzZWxl
Y3RlZC4gIgorICAgICAgICB0ZXh0IHJ1biBhdCAoNTMyLDE4KSB3aWR0aCAzNTogIlJpZ2h0Igor
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzNikgd2lkdGggNTc3OiAiY2xpY2sgb24gdGhlIGVtcHR5
IHNwYWNlIG91dHNpZGUgYW5kIHRvIHRoZSByaWdodCBvZiB0aGUgYmxhY2sgYm9yZGVyLCB0aGUg
c2VsZWN0aW9uIHNob3VsZCBiZSIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsNTQpIHdpZHRoIDU5
OiAicmVtb3ZlZC4iCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAK
K2NhcmV0OiBwb3NpdGlvbiAwIG9mIGNoaWxkIDAgeyN0ZXh0fSBvZiBjaGlsZCAxIHtIMX0gb2Yg
Ym9keQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2Zhc3QvZXZlbnRzL2Nv
bnRleHQtbm8tZGVzZWxlY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZs
L2Zhc3QvZXZlbnRzL2NvbnRleHQtbm8tZGVzZWxlY3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhYmQ3YjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9lZmwvZmFzdC9ldmVudHMvY29udGV4dC1uby1kZXNlbGVjdC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxNCBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisg
IFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJl
bmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVyVGV4dENv
bnRyb2wge0lOUFVUfSBhdCAoMiwyKSBzaXplIDE5M3gyOCBbYmdjb2xvcj0jRkZGRkZGXQorICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKK2xheWVyIGF0ICgxNCwxNikgc2l6ZSAxODZ4MTgg
c2Nyb2xsSGVpZ2h0IDE5CisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICg0LDYpIHNpemUgMTg2eDE4
CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTI0eDE5CisgICAgICB0ZXh0
IHJ1biBhdCAoMCwwKSB3aWR0aCAxMjQ6ICJzb21lIHNhbXBsZSB0ZXh0Igorc2VsZWN0aW9uIHN0
YXJ0OiBwb3NpdGlvbiA1IG9mIGNoaWxkIDAgeyN0ZXh0fSBvZiBjaGlsZCAwIHtESVZ9IG9mIHsj
c2hhZG93LXJvb3R9IG9mIGNoaWxkIDEge0lOUFVUfSBvZiBib2R5CitzZWxlY3Rpb24gZW5kOiAg
IHBvc2l0aW9uIDE1IG9mIGNoaWxkIDAgeyN0ZXh0fSBvZiBjaGlsZCAwIHtESVZ9IG9mIHsjc2hh
ZG93LXJvb3R9IG9mIGNoaWxkIDEge0lOUFVUfSBvZiBib2R5CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGstd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGstd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZmI2NWEyMS4uNWQ1OGUxZSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrLXdrMi9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTMy
LDE5ICsxMzIsNiBAQCBCdWcoR1RLKSBlZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtYWZ0ZXItbW91
c2Utc2VsZWN0aW9uLmh0bWwgWyBGYWlsdXJlIF0KICMgV2ViS2l0MiBuZWVkcyB0ZXh0SW5wdXRD
b250cm9sbGVyLnNlbGVjdGVkUmFuZ2UKIEJ1ZyhHVEspIGVkaXRpbmcvc2VsZWN0aW9uL21peGVk
LWVkaXRhYmlsaXR5LTEwLmh0bWwgWyBGYWlsdXJlIF0KIAotIyBJbXBsZW1lbnQgZXZlbnRTZW5k
ZXIuY29udGV4dENsaWNrCi1CdWcoR1RLKSBlZGl0aW5nL3Bhc3RlYm9hcmQvY29weS1zdGFuZGFs
b25lLWltYWdlLWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhHVEspIGVkaXRpbmcvc2VsZWN0
aW9uL2VtcHR5LWNlbGwtcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1cmUgXQotQnVnKEdUSykgZWRp
dGluZy9zZWxlY3Rpb24vYnV0dG9uLXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhH
VEspIGVkaXRpbmcvc2VsZWN0aW9uL2NvbnRleHQtbWVudS1vbi10ZXh0Lmh0bWwgWyBGYWlsdXJl
IF0KLUJ1ZyhHVEspIGVkaXRpbmcvc2VsZWN0aW9uL2VtcHR5LWNlbGwtcmlnaHQtY2xpY2suaHRt
bCBbIEZhaWx1cmUgXQotQnVnKEdUSykgZmFzdC9ldmVudHMvc2VsZWN0c3RhcnQtcHJldmVudC1z
ZWxlY3Rpb24tb24tcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1cmUgXQotQnVnKEdUSykgZmFzdC9l
dmVudHMvY29udGV4dC1uby1kZXNlbGVjdC5odG1sIFsgRmFpbHVyZSBdCi1CdWcoR1RLKSBmYXN0
L2V2ZW50cy9jb250ZXh0bWVudS1zY3JvbGxlZC1wYWdlLXdpdGgtZnJhbWUuaHRtbCBbIEZhaWx1
cmUgXQotQnVnKEdUSykgZmFzdC9ldmVudHMvY29udGV4dC1vbm1vdXNlZG93bi1ldmVudC5odG1s
IFsgRmFpbHVyZSBdCi1CdWcoR1RLKSBtZWRpYS9jb250cm9scy1yaWdodC1jbGljay1vbi10aW1l
YmFyLmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhHVEspIHN2Zy9jdXN0b20vdXNlLWV2ZW50cy1jcmFz
aC5zdmcgWyBGYWlsdXJlIF0KLQogIyBJbXBsZW1lbnQgUGFnZUNsaWVudEltcGw6OnJlZ2lzdGVy
RWRpdENvbW1hbmQgYW5kIGhhbmRsaW5nIGNvbW1hbmRzIGZ1bmN0aW9ucwogQnVnKEdUSykgZWRp
dGluZy9kZWxldGluZy9kZWxldGUtYnktd29yZC0wMDIuaHRtbCBbIEZhaWx1cmUgXQogQnVnKEdU
SykgZWRpdGluZy9kZWxldGluZy9kZWxldGUtYW5kLXVuZG8uaHRtbCBbIEZhaWx1cmUgXQpAQCAt
NTg5LDMgKzU3NiwyNSBAQCB3ZWJraXQub3JnL2IvOTg1MjcgaHR0cC90ZXN0cy9sb2FkaW5nL3Rl
eHQtY29udGVudC10eXBlLXdpdGgtYmluYXJ5LWV4dGVuc2lvbi5odAogIyBFbmQgb2YgVGVzdHMg
d29ya2luZyBpbiBXSzIgYW5kIGZhaWxpbmcgaW4gV0sxCiAjLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLwogCisKKyMgU2VsZWN0aW9uIGRvZXNuJ3Qgd29yayBwcm9wZXJseS4KK0J1ZyhH
VEspIGVkaXRpbmcvc2VsZWN0aW9uL2NvbnRleHQtbWVudS10ZXh0LXNlbGVjdGlvbi5odG1sIFsg
RmFpbHVyZSBQYXNzIF0KK0J1ZyhHVEspIGVkaXRpbmcvc2VsZWN0aW9uL2VtcHR5LWNlbGwtcmln
aHQtY2xpY2suaHRtbCBbIEZhaWx1cmUgXQorQnVnKEdUSykgZWRpdGluZy9zcGVsbGluZy9jb250
ZXh0LW1lbnUtc3VnZ2VzdGlvbnMuaHRtbCBbIEZhaWx1cmUgXQorCisjIEVGTCdzIEV2ZW50U2Vu
ZGVyIGNvbnRleHRDbGljayBzaG91bGQgcmV0dXJuIG9iamVjdHMgdGhhdCBpbXBsZW1lbnRzIGNs
aWNrKCkgbWV0aG9kCit3ZWJraXQub3JnL2IvOTg0MTAgZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHkt
c3RhbmRhbG9uZS1pbWFnZS1jcmFzaC5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvOTg0
MTAgbWVkaWEvY29udGV4dC1tZW51LWFjdGlvbnMuaHRtbCBbIEZhaWx1cmUgXQorCisjIEFuIG9u
Y29udGV4dG1lbnUgYXR0cmlidXRlIGlzIG5vdCBjYWxsZWQuCitCdWcoR1RLKSBlZGl0aW5nL3Nw
ZWxsaW5nL3NwZWxsY2hlY2staW5wdXQtc2VhcmNoLWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KK0J1
ZyhHVEspIGZhc3QvZXZlbnRzL2NvbnRleHRtZW51LXNjcm9sbGVkLXBhZ2Utd2l0aC1mcmFtZS5o
dG1sIFsgRmFpbHVyZSBdCisKKyMgQW4gb25tb3VzZWRvd24gYXR0cmlidXRlIGlzIG5vdCBjYWxs
ZWQuCitCdWcoR1RLKSBmYXN0L2V2ZW50cy9jb250ZXh0LW9ubW91c2Vkb3duLWV2ZW50Lmh0bWwg
WyBGYWlsdXJlIF0KKworIyBBbiBvbnNlbGVjdHN0YXJ0IGF0dHJpYnV0ZSBpcyBub3QgY2FsbGVk
LgorQnVnKEdUSykgZmFzdC9ldmVudHMvc2VsZWN0c3RhcnQtcHJldmVudC1zZWxlY3Rpb24tb24t
cmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1cmUgXQorCisjIFN0YXJ0IG9mIG1lZGlhIHBsYXllciBj
YXVzZXMgdGltZW91dAorQnVnKEdUSykgbWVkaWEvY29udHJvbHMtcmlnaHQtY2xpY2stb24tdGlt
ZWJhci5odG1sIFsgRmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9n
dGsvZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9lZGl0aW5nL3NlbGVjdGlvbi81MzU0NDU1LTItZXhwZWN0ZWQudHh0Cmlu
ZGV4IDE4ZTgyMDkuLjg0NWVhMjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9lZGl0aW5nL3NlbGVjdGlvbi81MzU0NDU1LTItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9lZGl0aW5nL3NlbGVjdGlvbi81MzU0NDU1LTItZXhwZWN0ZWQudHh0
CkBAIC0yMCw0ICsyMCwzIEBAIGxheWVyIGF0ICg4LDgpIHNpemUgNjEyeDE0MgogICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwzNikgd2lkdGggNTc3OiAiY2xpY2sgb24gdGhlIGVtcHR5IHNwYWNlIG91
dHNpZGUgYW5kIHRvIHRoZSByaWdodCBvZiB0aGUgYmxhY2sgYm9yZGVyLCB0aGUgc2VsZWN0aW9u
IHNob3VsZCBiZSIKICAgICAgICAgdGV4dCBydW4gYXQgKDAsNTQpIHdpZHRoIDU5OiAicmVtb3Zl
ZC4iCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKLWNhcmV0OiBw
b3NpdGlvbiAxMTggb2YgY2hpbGQgMiB7I3RleHR9IG9mIGJvZHkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBlY2Q2
YzBkLi44ZjFjNjhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTItMDktMTQgIFdv
amNpZWNoIEJpZWxhd3NraSAgPHcuYmllbGF3c2tpQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtX
SzJdW1dLVFJdIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgZXZlbnRTZW5kZXIuY29udGV4dENsaWNr
KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2ODgx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5qZWN0
ZWRCdW5kbGUgQVBJIGV4dGVuZGVkIHRvIHJldHJpZXZlIGNvbnRleHRNZW51IGVudHJpZXMgbmFt
ZXMuCisgICAgICAgIFdlYkNvbnRleHRNZW51IGV4dGVkZWQgd2l0aCBmdW5jdGlvbiB0byByZXRy
aWV2ZSBtZW51IGl0ZW1zLgorICAgICAgICBUaGlzIEFQSSBpcyByZXF1aXJlZCBieSBsYXlvdXQg
dGVzdHMuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVu
ZGxlUGFnZS5jcHA6CisgICAgICAgIChXS0J1bmRsZVBhZ2VHZXRDb250ZXh0TWVudUVudHJpZXNO
YW1lcyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRs
ZVBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0TWVudTo6aXRlbXMpOgorICAgICAgICAoV2Vi
S2l0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuaDoKKyAg
ICAgICAgKFdlYkNvbnRleHRNZW51KToKKwogMjAxMi0xMC0yNSAgS3l1bmdUYWUgS2ltICA8a3Rm
LmtpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbV0syXVtFRkxdIEFkZCBld2tfdmlld19wYWdp
bmF0aW9uX21vZGVfc2V0L2dldCgpIEFQSXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcApp
bmRleCA1M2RkZjYxLi5iOWEzOTIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCkBA
IC0zMCwxMyArMzAsMTggQEAKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZUJhY2tGb3J3YXJkTGlz
dC5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlTm9kZUhhbmRsZS5oIgogI2luY2x1ZGUgIldL
QVBJQ2FzdC5oIgorI2luY2x1ZGUgIldLQXJyYXkuaCIKICNpbmNsdWRlICJXS0J1bmRsZUFQSUNh
c3QuaCIKKyNpbmNsdWRlICJXS1JldGFpblB0ci5oIgorI2luY2x1ZGUgIldlYkNvbnRleHRNZW51
LmgiCisjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJdGVtLmgiCiAjaW5jbHVkZSAiV2ViRnJhbWUu
aCIKICNpbmNsdWRlICJXZWJGdWxsU2NyZWVuTWFuYWdlci5oIgogI2luY2x1ZGUgIldlYkltYWdl
LmgiCiAjaW5jbHVkZSAiV2ViUGFnZS5oIgogI2luY2x1ZGUgIldlYlJlbmRlckxheWVyLmgiCiAj
aW5jbHVkZSAiV2ViUmVuZGVyT2JqZWN0LmgiCisjaW5jbHVkZSAiV2ViU3RyaW5nLmgiCiAjaW5j
bHVkZSAiV2ViVVJMLmgiCiAjaW5jbHVkZSAiV2ViVVJMUmVxdWVzdC5oIgogCkBAIC0xNDUsNiAr
MTUwLDI0IEBAIFdLQnVuZGxlRnJhbWVSZWYgV0tCdW5kbGVQYWdlR2V0TWFpbkZyYW1lKFdLQnVu
ZGxlUGFnZVJlZiBwYWdlUmVmKQogICAgIHJldHVybiB0b0FQSSh0b0ltcGwocGFnZVJlZiktPm1h
aW5XZWJGcmFtZSgpKTsKIH0KIAorV0tBcnJheVJlZiBXS0J1bmRsZVBhZ2VDb3B5Q29udGV4dE1l
bnVFbnRyaWVzTmFtZXMoV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYpCit7CisjaWYgRU5BQkxFKENP
TlRFWFRfTUVOVVMpCisgICAgV2ViQ29udGV4dE1lbnUqIGNvbnRleHRNZW51ID0gdG9JbXBsKHBh
Z2VSZWYpLT5jb250ZXh0TWVudSgpOworICAgIFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRh
PiBpdGVtcyA9IGNvbnRleHRNZW51LT5pdGVtcygpOworICAgIE93bkFycmF5UHRyPFdLVHlwZVJl
Zj4gaXRlbU5hbWVzID0gYWRvcHRBcnJheVB0cihuZXcgV0tUeXBlUmVmW2l0ZW1zLnNpemUoKV0p
OworICAgIHNpemVfdCBhcnJheUxlbmd0aCA9IGl0ZW1zLnNpemUoKTsKKyAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IGFycmF5TGVuZ3RoOyArK2kpIHsKKyAgICAgICAgUmVmUHRyPFdlYlN0cmlu
Zz4gbmFtZSA9IFdlYlN0cmluZzo6Y3JlYXRlKGl0ZW1zW2ldLnRpdGxlKCkpOworICAgICAgICBp
dGVtTmFtZXNbaV0gPSB0b0FQSShuYW1lLnJlbGVhc2UoKS5sZWFrUmVmKCkpOworICAgIH0KKwor
ICAgIHJldHVybiBXS0FycmF5Q3JlYXRlKGl0ZW1OYW1lcy5nZXQoKSwgYXJyYXlMZW5ndGgpOwor
I2Vsc2UKKyAgICByZXR1cm4gMDsKKyNlbmRpZgorfQorCiB2b2lkKiBXS0FjY2Vzc2liaWxpdHlS
b290T2JqZWN0KFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVmKQogewogI2lmIEhBVkUoQUNDRVNTSUJJ
TElUWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL2MvV0tCdW5kbGVQYWdlUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VQcml2YXRlLmgKaW5kZXggMTFiMjBk
Yy4uYjRlMGYzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VQcml2YXRlLmgKQEAg
LTc3LDYgKzc3LDggQEAgV0tfRVhQT1JUIGJvb2wgV0tCdW5kbGVQYWdlQ2FuU2hvd01JTUVUeXBl
KFdLQnVuZGxlUGFnZVJlZiwgV0tTdHJpbmdSZWYgbWltZVR5cGUKIFdLX0VYUE9SVCB2b2lkKiBX
S0FjY2Vzc2liaWxpdHlSb290T2JqZWN0KFdLQnVuZGxlUGFnZVJlZik7CiBXS19FWFBPUlQgdm9p
ZCogV0tBY2Nlc3NpYmlsaXR5Rm9jdXNlZE9iamVjdChXS0J1bmRsZVBhZ2VSZWYpOwogCitXS19F
WFBPUlQgV0tBcnJheVJlZiBXS0J1bmRsZVBhZ2VDb3B5Q29udGV4dE1lbnVFbnRyaWVzTmFtZXMo
V0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRl
eHRNZW51LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0
TWVudS5jcHAKaW5kZXggM2E5MWQ5MC4uM2M4MTBkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuY3BwCkBAIC05NSw2ICs5NSwz
MiBAQCB2b2lkIFdlYkNvbnRleHRNZW51OjppdGVtU2VsZWN0ZWQoY29uc3QgV2ViQ29udGV4dE1l
bnVJdGVtRGF0YSYgaXRlbSkKICAgICBtX3BhZ2UtPmNvcmVQYWdlKCktPmNvbnRleHRNZW51Q29u
dHJvbGxlcigpLT5jb250ZXh0TWVudUl0ZW1TZWxlY3RlZCgmY29yZUl0ZW0pOwogfQogCitWZWN0
b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4gV2ViQ29udGV4dE1lbnU6Oml0ZW1zKCkgY29uc3QK
K3sKKyAgICBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4gcHJvcG9zZWRNZW51OworICAg
IENvbnRleHRNZW51Q29udHJvbGxlciogY29udHJvbGxlciA9IG1fcGFnZS0+Y29yZVBhZ2UoKS0+
Y29udGV4dE1lbnVDb250cm9sbGVyKCk7CisgICAgaWYgKCFjb250cm9sbGVyKQorICAgICAgICBy
ZXR1cm4gcHJvcG9zZWRNZW51OworICAgIENvbnRleHRNZW51KiBtZW51ID0gY29udHJvbGxlci0+
Y29udGV4dE1lbnUoKTsKKyAgICBpZiAoIW1lbnUpCisgICAgICAgIHJldHVybiBwcm9wb3NlZE1l
bnU7CisKKyAgICAvLyBHaXZlIHRoZSBidW5kbGUgY2xpZW50IGEgY2hhbmNlIHRvIHByb2Nlc3Mg
dGhlIG1lbnUuCisjaWYgVVNFKENST1NTX1BMQVRGT1JNX0NPTlRFWFRfTUVOVVMpCisgICAgY29u
c3QgVmVjdG9yPENvbnRleHRNZW51SXRlbT4mIGNvcmVJdGVtcyA9IG1lbnUtPml0ZW1zKCk7Cisj
ZWxzZQorICAgIFZlY3RvcjxDb250ZXh0TWVudUl0ZW0+IGNvcmVJdGVtcyA9IGNvbnRleHRNZW51
SXRlbVZlY3RvcihtZW51LT5wbGF0Zm9ybURlc2NyaXB0aW9uKCkpOworI2VuZGlmCisgICAgcHJv
cG9zZWRNZW51ID0ga2l0SXRlbXMoY29yZUl0ZW1zLCBtZW51KTsKKyAgICBWZWN0b3I8V2ViQ29u
dGV4dE1lbnVJdGVtRGF0YT4gbmV3TWVudTsKKyAgICBSZWZQdHI8QVBJT2JqZWN0PiB1c2VyRGF0
YTsKKyAgICBSZWZQdHI8SW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0PiBoaXRUZXN0UmVzdWx0
ID0gSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0OjpjcmVhdGUoY29udHJvbGxlci0+aGl0VGVz
dFJlc3VsdCgpKTsKKyAgICBpZiAobV9wYWdlLT5pbmplY3RlZEJ1bmRsZUNvbnRleHRNZW51Q2xp
ZW50KCkuZ2V0Q3VzdG9tTWVudUZyb21EZWZhdWx0SXRlbXMobV9wYWdlLCBoaXRUZXN0UmVzdWx0
LmdldCgpLCBwcm9wb3NlZE1lbnUsIG5ld01lbnUsIHVzZXJEYXRhKSkKKyAgICAgICAgcHJvcG9z
ZWRNZW51ID0gbmV3TWVudTsKKworICAgIHJldHVybiBwcm9wb3NlZE1lbnU7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gRU5BQkxFKENPTlRFWFRfTUVOVVMpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUu
aCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5oCmlu
ZGV4IGM4YTVmNWEuLmRmMDgzZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5oCkBAIC00Myw2ICs0Myw3IEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgc2hvdygpOwogICAgIHZvaWQgaXRlbVNlbGVjdGVkKGNvbnN0IFdlYkNvbnRleHRN
ZW51SXRlbURhdGEmKTsKKyAgICBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4gaXRlbXMo
KSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBXZWJDb250ZXh0TWVudShXZWJQYWdlKik7CmRpZmYg
LS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOGM5MzZmMC4u
Y2JhOWIwYiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA5LTE0ICBXb2pjaWVjaCBCaWVsYXdza2kgIDx3LmJp
ZWxhd3NraUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbV0syXVtXS1RSXSBXZWJLaXRUZXN0UnVu
bmVyIG5lZWRzIGV2ZW50U2VuZGVyLmNvbnRleHRDbGljaygpCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Njg4MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGV2ZW50U2VuZGVyIG9iamVjdCBleHRlbmRlZCB3
aXRoIGNvbnRleHRDbGljaygpIG1ldGhvZCBpbiBXZWJLaXRUZXN0UnVubmVyLgorICAgICAgICBj
b250ZXh0Q2xpY2soKSBtZXRob2QgcmV0dXJucyBhbiBhcnJheSBvZiBtZW51IGl0ZW1zIG9iamVj
dHMgd2l0aCBmaWVsZCAndGl0bGUnIGNvbnRhaW5pbmcgdGl0bGUgb2Ygc2luZ2xlCisgICAgICAg
IGNvbnRleHQgbWVudSBlbnRyeS4gQWNjb3JkaW5nIHRvIHNvbWUgdGVzdHMgbWVudSBpdGVtcyBv
YmplY3RzIHNoYWxsIGFsc28gc3VwcG9ydCAnY2xpY2soKScgbWV0aG9kLCBidXQgaXQncyBub3QK
KyAgICAgICAgZGVsaXZlcmVkIGluIHRoaXMgcGF0Y2guCisKKyAgICAgICAgKiBXZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaWRs
OgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5n
Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXVFI6OkV2ZW50U2VuZGluZ0NvbnRyb2xsZXI6OmNv
bnRleHRDbGljayk6CisgICAgICAgIChXVFIpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5oOgorICAgICAgICAoRXZlbnRT
ZW5kaW5nQ29udHJvbGxlcik6CisKIDIwMTItMTAtMjIgIE1pa2hhaWwgTmFnYW5vdiAgPG1uYWdh
bm92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIEFkZCBzdXBwb3J0TXVsdGlw
bGVXaW5kb3dzIHNldHRpbmcsIG5lZWRlZCBmb3IgQW5kcm9pZApkaWZmIC0tZ2l0IGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9FdmVudFNlbmRpbmdDb250
cm9sbGVyLmlkbCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGlu
Z3MvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5pZGwKaW5kZXggNTJhN2E1Yi4uMWQ2MmM5YiAxMDA2
NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9F
dmVudFNlbmRpbmdDb250cm9sbGVyLmlkbAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0JpbmRpbmdzL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaWRsCkBAIC0yOSw2
ICsyOSw3IEBAIGludGVyZmFjZSBFdmVudFNlbmRpbmdDb250cm9sbGVyIHsKICAgICB2b2lkIG1v
dXNlTW92ZVRvKGluIGxvbmcgeCwgaW4gbG9uZyB5KTsKICAgICB2b2lkIG1vdXNlU2Nyb2xsQnko
aW4gbG9uZyB4LCBpbiBsb25nIHkpOwogICAgIHZvaWQgY29udGludW91c01vdXNlU2Nyb2xsQnko
aW4gbG9uZyB4LCBpbiBsb25nIHksIGluIFtPcHRpb25hbF0gYm9vbGVhbiBwYWdlZCk7CisgICAg
b2JqZWN0IGNvbnRleHRDbGljaygpOwogICAgIHZvaWQgc2NoZWR1bGVBc3luY2hyb25vdXNDbGlj
aygpOwogCiAgICAgdm9pZCBsZWFwRm9yd2FyZChpbiBsb25nIG1pbGxpc2Vjb25kcyk7CmRpZmYg
LS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2ZW50U2VuZGlu
Z0NvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9F
dmVudFNlbmRpbmdDb250cm9sbGVyLmNwcAppbmRleCBiZjZkOWJjLi5lZDc5YWM1IDEwMDY0NAot
LS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0Nv
bnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
RXZlbnRTZW5kaW5nQ29udHJvbGxlci5jcHAKQEAgLTMxOSw2ICszMTksMzYgQEAgdm9pZCBFdmVu
dFNlbmRpbmdDb250cm9sbGVyOjpjb250aW51b3VzTW91c2VTY3JvbGxCeShpbnQgeCwgaW50IHks
IGJvb2wgcGFnZWQpCiAgICAgV0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVk
QnVuZGxlOjpzaGFyZWQoKS5idW5kbGUoKSwgRXZlbnRTZW5kZXJNZXNzYWdlTmFtZS5nZXQoKSwg
RXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwgMCk7CiB9CiAKK0pTVmFsdWVSZWYgRXZlbnRT
ZW5kaW5nQ29udHJvbGxlcjo6Y29udGV4dENsaWNrKCkKK3sKKyAgICBXS0J1bmRsZVBhZ2VSZWYg
cGFnZSA9IEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5wYWdlKCktPnBhZ2UoKTsKKyAgICBXS0J1
bmRsZUZyYW1lUmVmIG1haW5GcmFtZSA9IFdLQnVuZGxlUGFnZUdldE1haW5GcmFtZShwYWdlKTsK
KyAgICBKU0NvbnRleHRSZWYgY29udGV4dCA9IFdLQnVuZGxlRnJhbWVHZXRKYXZhU2NyaXB0Q29u
dGV4dChtYWluRnJhbWUpOworI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQorICAgIC8vIERvIG1v
dXNlIGNvbnRleHQgY2xpY2suCisgICAgbW91c2VEb3duKDIsIDApOworICAgIG1vdXNlVXAoMiwg
MCk7CisKKyAgICBXS1JldGFpblB0cjxXS0FycmF5UmVmPiBlbnRyaWVzTmFtZXMgPSBhZG9wdFdL
KFdLQnVuZGxlUGFnZUNvcHlDb250ZXh0TWVudUVudHJpZXNOYW1lcyhwYWdlKSk7CisgICAgSlNS
ZXRhaW5QdHI8SlNTdHJpbmdSZWY+IGpzUHJvcGVydHlOYW1lKEFkb3B0LCBKU1N0cmluZ0NyZWF0
ZVdpdGhVVEY4Q1N0cmluZygidGl0bGUiKSk7CisgICAgc2l6ZV90IGVudHJpZXNTaXplID0gV0tB
cnJheUdldFNpemUoZW50cmllc05hbWVzLmdldCgpKTsKKyAgICBPd25BcnJheVB0cjxKU1ZhbHVl
UmVmPiBqc1ZhbHVlc0FycmF5ID0gYWRvcHRBcnJheVB0cihuZXcgSlNWYWx1ZVJlZltlbnRyaWVz
U2l6ZV0pOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZW50cmllc1NpemU7ICsraSkgewor
ICAgICAgICBBU1NFUlQoV0tHZXRUeXBlSUQoV0tBcnJheUdldEl0ZW1BdEluZGV4KGVudHJpZXNO
YW1lcy5nZXQoKSwgaSkpID09IFdLU3RyaW5nR2V0VHlwZUlEKCkpOworICAgICAgICBXS1N0cmlu
Z1JlZiB3a0VudHJ5TmFtZSA9IHN0YXRpY19jYXN0PFdLU3RyaW5nUmVmPihXS0FycmF5R2V0SXRl
bUF0SW5kZXgoZW50cmllc05hbWVzLmdldCgpLCBpKSk7CisgICAgICAgIEpTT2JqZWN0UmVmIGpz
SXRlbU9iamVjdCA9IEpTT2JqZWN0TWFrZShjb250ZXh0LCAwLCAwKTsKKyAgICAgICAgSlNSZXRh
aW5QdHI8SlNTdHJpbmdSZWY+IGpzTmFtZUNvcHkoQWRvcHQsIFdLU3RyaW5nQ29weUpTU3RyaW5n
KHdrRW50cnlOYW1lKSk7CisgICAgICAgIEpTVmFsdWVSZWYganNFbnRyeU5hbWUgPSBKU1ZhbHVl
TWFrZVN0cmluZyhjb250ZXh0LCBqc05hbWVDb3B5LmdldCgpKTsKKyAgICAgICAgSlNPYmplY3RT
ZXRQcm9wZXJ0eShjb250ZXh0LCBqc0l0ZW1PYmplY3QsIGpzUHJvcGVydHlOYW1lLmdldCgpLCBq
c0VudHJ5TmFtZSwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSwgMCk7CisgICAgICAgIGpz
VmFsdWVzQXJyYXlbaV0gPSBqc0l0ZW1PYmplY3Q7CisgICAgfQorCisgICAgcmV0dXJuIEpTT2Jq
ZWN0TWFrZUFycmF5KGNvbnRleHQsIGVudHJpZXNTaXplLCBqc1ZhbHVlc0FycmF5LmdldCgpLCAw
KTsKKyNlbHNlCisgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworI2Vu
ZGlmCit9CisKICNpZmRlZiBVU0VfV0VCUFJPQ0VTU19FVkVOVF9TSU1VTEFUSU9OCiB2b2lkIEV2
ZW50U2VuZGluZ0NvbnRyb2xsZXI6OnVwZGF0ZUNsaWNrQ291bnQoV0tFdmVudE1vdXNlQnV0dG9u
IGJ1dHRvbikKIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmgKaW5kZXggNDEzYjkxYy4uNjlj
NTRmOSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9F
dmVudFNlbmRpbmdDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmgKQEAgLTUyLDYgKzUyLDcgQEAgcHVi
bGljOgogICAgIHZvaWQgbW91c2VNb3ZlVG8oaW50IHgsIGludCB5KTsKICAgICB2b2lkIG1vdXNl
U2Nyb2xsQnkoaW50IHgsIGludCB5KTsKICAgICB2b2lkIGNvbnRpbnVvdXNNb3VzZVNjcm9sbEJ5
KGludCB4LCBpbnQgeSwgYm9vbCBwYWdlZCk7CisgICAgSlNWYWx1ZVJlZiBjb250ZXh0Q2xpY2so
KTsKICAgICB2b2lkIGxlYXBGb3J3YXJkKGludCBtaWxsaXNlY29uZHMpOwogICAgIHZvaWQgc2No
ZWR1bGVBc3luY2hyb25vdXNDbGljaygpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171449</attachid>
            <date>2012-10-30 07:31:22 -0700</date>
            <delta_ts>2012-10-31 07:44:27 -0700</delta_ts>
            <desc>eventSender.contextClick() method partially implemented.</desc>
            <filename>contextClick.patch</filename>
            <type>text/plain</type>
            <size>21912</size>
            <attacher name="Wojciech Bielawski">w.bielawski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhYTg5ZWY4Li4zNTAwYWY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMDkt
MTQgIFdvamNpZWNoIEJpZWxhd3NraSAgPHcuYmllbGF3c2tpQHNhbXN1bmcuY29tPgorCisgICAg
ICAgIFtXSzJdW1dLVFJdIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgZXZlbnRTZW5kZXIuY29udGV4
dENsaWNrKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTg2ODgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgZXhwZWN0ZWQgcmVzdWx0cyBmb3IgdHdvIHRlc3RzIGZvciBFRkwgcGxhdGZvcm0uIFRl
c3QgZXhwZWN0YXRpb25zIGNoYW5nZWQKKyAgICAgICAgZm9yIEVGTCBXSzEvV0syIGFuZCBHVEsg
cGxhdHJvZm1zCisKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9uczoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9lZmwtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxh
dGZvcm0vZWZsLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL2drdC13
azIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvZWRpdGluZy9zZWxl
Y3Rpb24vNTM1NDQ1NS0yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvZWRp
dGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vZWZsL2Zhc3QvZXZlbnRzL2NvbnRleHQtbm8tZGVzZWxlY3QtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKwogMjAxMi0xMC0yMiAgTWlraGFpbCBOYWdhbm92ICA8bW5hZ2Fub3ZAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gQWRkIHN1cHBvcnRNdWx0aXBsZVdpbmRvd3Mg
c2V0dGluZywgbmVlZGVkIGZvciBBbmRyb2lkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9lZmwtd2sxL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwt
d2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZjVmMjI1NC4uMTM1M2UyOCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2VmbC13azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMzEyLDMgKzMxMiwy
MiBAQCB3ZWJraXQub3JnL2IvOTk4MjQgZmFzdC9saXN0cy93My1saXN0LXN0eWxlcy5odG1sIFsg
RmFpbHVyZSBdCiAjIEZhaWxpbmcgYWZ0ZXIgcjEzMjMwMwogd2Via2l0Lm9yZy9iLzEwMDI0NiBm
YXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWR5bmFtaWMtc3R5bGluZy5odG1sIFsgRmFpbHVyZSBd
IAogd2Via2l0Lm9yZy9iLzEwMDI0NiBmYXN0L2RvbS9zaGFkb3cvc3R5bGUtc2NvcGVkLW5vdC1l
bmFibGVkLmh0bWwgWyBGYWlsdXJlIF0gCisKKyMgRUZMJ3MgRXZlbnRTZW5kZXIgZG9lcyBub3Qg
aW1wbGVtZW50IGNvbnRleHRDbGljayB5ZXQKK3dlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3Bh
c3RlYm9hcmQvY29weS1zdGFuZGFsb25lLWltYWdlLWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KK3dl
YmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3NlbGVjdGlvbi81MzU0NDU1LTEuaHRtbCBbIEZhaWx1
cmUgXQord2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc2VsZWN0aW9uLzUzNTQ0NTUtMi5odG1s
IFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9zZWxlY3Rpb24vYnV0dG9u
LXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5n
L3NlbGVjdGlvbi9jb250ZXh0LW1lbnUtb24tdGV4dC5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQu
b3JnL2IvODYwOTEgZWRpdGluZy9zZWxlY3Rpb24vY29udGV4dC1tZW51LXRleHQtc2VsZWN0aW9u
Lmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3NlbGVjdGlvbi9l
bXB0eS1jZWxsLXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi84NjA5
MSBlZGl0aW5nL3NoYWRvdy9yaWdodGNsaWNrLW9uLW1ldGVyLWluLXNoYWRvdy1jcmFzaC5odG1s
IFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9zcGVsbGluZy9jb250ZXh0
LW1lbnUtc3VnZ2VzdGlvbnMuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzg2MDkxIGVk
aXRpbmcvc3BlbGxpbmcvc3BlbGxjaGVjay1pbnB1dC1zZWFyY2gtY3Jhc2guaHRtbCBbIEZhaWx1
cmUgXQord2Via2l0Lm9yZy9iLzg2MDkxIGZhc3QvZXZlbnRzL2NvbnRleHQtbm8tZGVzZWxlY3Qu
aHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzg2MDkxIGZhc3QvZXZlbnRzL2NvbnRleHQt
b25tb3VzZWRvd24tZXZlbnQuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzg2MDkxIGZh
c3QvZXZlbnRzL2NvbnRleHRtZW51LXNjcm9sbGVkLXBhZ2Utd2l0aC1mcmFtZS5odG1sIFsgRmFp
bHVyZSBdCit3ZWJraXQub3JnL2IvODYwOTEgZmFzdC9ldmVudHMvcmlnaHQtY2xpY2stZm9jdXMu
aHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzg2MDkxIGZhc3QvZXZlbnRzL3NlbGVjdHN0
YXJ0LXByZXZlbnQtc2VsZWN0aW9uLW9uLXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0KK3dl
YmtpdC5vcmcvYi84NjA5MSBtZWRpYS9jb250ZXh0LW1lbnUtYWN0aW9ucy5odG1sIFsgRmFpbHVy
ZSBdCit3ZWJraXQub3JnL2IvODYwOTEgbWVkaWEvY29udHJvbHMtcmlnaHQtY2xpY2stb24tdGlt
ZWJhci5odG1sIFsgRmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9l
Zmwtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwtd2syL1Rl
c3RFeHBlY3RhdGlvbnMKaW5kZXggNThjZTY5OC4uNGU1NWRjYiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZWZsLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2VmbC13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjc4LDMgKzI3OCwxMSBAQCB3
ZWJraXQub3JnL2IvMTAwMjQ4IGZhc3QvZm9ybXMvc2VsZWN0LW11bHRpcGxlLWVsZW1lbnRzLXdp
dGgtbW91c2UtZHJhZy5odG1sIFsgRgogCiAjIFNwdXJpb3VzIG91dHB1dCBhZnRlciBmaXhpbmcg
Zmxha2luZXNzCiB3ZWJraXQub3JnL2IvMTAwMDEwIGZhc3QvZXZlbnRzL2ZyYW1lLXRhYi1mb2N1
cy5odG1sIFsgRmFpbHVyZSBdCisKKyMgRUZMJ3MgRXZlbnRTZW5kZXIgY29udGV4dENsaWNrIHNo
b3VsZCByZXR1cm4gb2JqZWN0cyB0aGF0IGltcGxlbWVudHMgY2xpY2soKSBtZXRob2QKK3dlYmtp
dC5vcmcvYi85ODQxMCBlZGl0aW5nL3Bhc3RlYm9hcmQvY29weS1zdGFuZGFsb25lLWltYWdlLWNy
YXNoLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi85ODQxMCBtZWRpYS9jb250ZXh0LW1l
bnUtYWN0aW9ucy5odG1sIFsgRmFpbHVyZSBdCisKKyMgRUZMIFNlbGVjdGlvbiB0eXBlIGlzIG5v
dCBzZXQgY29ycmVjdGx5Cit3ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9zZWxlY3Rpb24vNTM1
NDQ1NS0xLmh0bWwgWyBGYWlsdXJlIF0KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4
cGVjdGF0aW9ucwppbmRleCA4ZjY2MWM4Li4zZGFiNjBlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9lZmwvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTcxMiwyNyArMTcxMiw2IEBAIHdlYmtpdC5vcmcv
Yi84MjE0MCBpbnNwZWN0b3IvZ2VvbG9jYXRpb24tZXJyb3IuaHRtbCBbIEZhaWx1cmUgXQogd2Vi
a2l0Lm9yZy9iLzgyMTQwIGluc3BlY3Rvci9nZW9sb2NhdGlvbi1zdWNjZXNzLmh0bWwgWyBGYWls
dXJlIF0KIHdlYmtpdC5vcmcvYi84MjE0MCBpbnNwZWN0b3IvZ2VvbG9jYXRpb24td2F0Y2hQb3Np
dGlvbi5odG1sIFsgRmFpbHVyZSBdCiAKLSMgRUZMJ3MgRXZlbnRTZW5kZXIgZG9lcyBub3QgaW1w
bGVtZW50IGNvbnRleHRDbGljayB5ZXQKLXdlYmtpdC5vcmcvYi84NjA5MSBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvY29weS1zdGFuZGFsb25lLWltYWdlLWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtp
dC5vcmcvYi84NjA5MSBlZGl0aW5nL3NlbGVjdGlvbi81MzU0NDU1LTEuaHRtbCBbIEZhaWx1cmUg
XQotd2Via2l0Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc2VsZWN0aW9uL2J1dHRvbi1yaWdodC1jbGlj
ay5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9zZWxlY3Rpb24v
Y29udGV4dC1tZW51LW9uLXRleHQuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkx
IGVkaXRpbmcvc2VsZWN0aW9uL2NvbnRleHQtbWVudS10ZXh0LXNlbGVjdGlvbi5odG1sIFsgRmFp
bHVyZSBdCi13ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9zZWxlY3Rpb24vZW1wdHktY2VsbC1y
aWdodC1jbGljay5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9z
cGVsbGluZy9jb250ZXh0LW1lbnUtc3VnZ2VzdGlvbnMuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0
Lm9yZy9iLzg2MDkxIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxjaGVjay1pbnB1dC1zZWFyY2gtY3Jh
c2guaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIGZhc3QvZXZlbnRzL2NvbnRl
eHQtb25tb3VzZWRvd24tZXZlbnQuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkx
IGZhc3QvZXZlbnRzL2NvbnRleHRtZW51LXNjcm9sbGVkLXBhZ2Utd2l0aC1mcmFtZS5odG1sIFsg
RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODYwOTEgZmFzdC9ldmVudHMvcmlnaHQtY2xpY2stZm9j
dXMuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2MDkxIGZhc3QvZXZlbnRzL3NlbGVj
dHN0YXJ0LXByZXZlbnQtc2VsZWN0aW9uLW9uLXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0K
LXdlYmtpdC5vcmcvYi84NjA5MSBtZWRpYS9jb250ZXh0LW1lbnUtYWN0aW9ucy5odG1sIFsgRmFp
bHVyZSBdCi13ZWJraXQub3JnL2IvODYwOTEgbWVkaWEvY29udHJvbHMtcmlnaHQtY2xpY2stb24t
dGltZWJhci5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODYwOTEgZWRpdGluZy9zaGFk
b3cvcmlnaHRjbGljay1vbi1tZXRlci1pbi1zaGFkb3ctY3Jhc2guaHRtbCBbIEZhaWx1cmUgXQot
Ci0jIEVGTCdzIEV2ZW50U2VuZGVyIGNvbnRleHRDbGljaywgbmVlZHMgYmFzZWxpbmVzCi13ZWJr
aXQub3JnL2IvODYwOTEgZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0yLmh0bWwgWyBNaXNzaW5n
IF0KLXdlYmtpdC5vcmcvYi84NjA5MSBmYXN0L2V2ZW50cy9jb250ZXh0LW5vLWRlc2VsZWN0Lmh0
bWwgWyBNaXNzaW5nIF0KLQogIyBJRVRDIG5hbWVzcGFjZSBmYWlsdXJlcwogd2Via2l0Lm9yZy9i
Lzg2MTQyIGlldGVzdGNlbnRlci9jc3MzL25hbWVzcGFjZXMvc3ludGF4LTAyMS54bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2Vk
aXRpbmcvc2VsZWN0aW9uLzUzNTQ0NTUtMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9lZmwvZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0yLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOTM1OWExCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2VkaXRpbmcvc2VsZWN0aW9uLzUzNTQ0NTUtMi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwyMyBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisg
IFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIg
YXQgKDgsOCkgc2l6ZSA2MTJ4MTQyCisgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUg
NjEyeDE0MiBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQorICAgIFJlbmRlckJsb2NrIHtI
MX0gYXQgKDYsNikgc2l6ZSA2MDB4MzcKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDQ1MXgzNgorICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA0NTE6ICJXb3Jk
IHNlbGVjdGlvbiBvbiByaWdodCBjbGljayB0ZXN0IgorICAgIFJlbmRlckJsb2NrIChhbm9ueW1v
dXMpIGF0ICg2LDY0KSBzaXplIDYwMHg3MgorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgNTk3eDM3CisgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDU5NzogIlRo
aXMgdGVzdHMgdG8gbWFrZSBzdXJlIHRoYXQgcmlnaHQgY2xpY2tpbmcgbm9uLWVkaXRhYmxlIGNv
bnRlbnQgb25seSBjcmVhdGVzIGEgd29yZCBzZWxlY3Rpb24gZm9yIgorICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwxOCkgd2lkdGggMTAzOiAiY2xpY2tzIG92ZXIgdGV4dC4gIgorICAgICAgUmVuZGVy
SW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDE4eDE5CisgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMTAzLDE4KSBzaXplIDE4eDE5CisgICAgICAgICAgdGV4dCBydW4gYXQgKDEwMywx
OCkgd2lkdGggMTg6ICJUbyIKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTIxLDE4KSBz
aXplIDU3N3g1NQorICAgICAgICB0ZXh0IHJ1biBhdCAoMTIxLDE4KSB3aWR0aCA0MTE6ICIgcnVu
IG1hbnVhbGx5LCByaWdodCBjbGljayBvbiB0ZXh0LCBhbmQgYSB3b3JkIHNob3VsZCBiZSBzZWxl
Y3RlZC4gIgorICAgICAgICB0ZXh0IHJ1biBhdCAoNTMyLDE4KSB3aWR0aCAzNTogIlJpZ2h0Igor
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzNikgd2lkdGggNTc3OiAiY2xpY2sgb24gdGhlIGVtcHR5
IHNwYWNlIG91dHNpZGUgYW5kIHRvIHRoZSByaWdodCBvZiB0aGUgYmxhY2sgYm9yZGVyLCB0aGUg
c2VsZWN0aW9uIHNob3VsZCBiZSIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsNTQpIHdpZHRoIDU5
OiAicmVtb3ZlZC4iCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAK
K2NhcmV0OiBwb3NpdGlvbiAwIG9mIGNoaWxkIDAgeyN0ZXh0fSBvZiBjaGlsZCAxIHtIMX0gb2Yg
Ym9keQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2Zhc3QvZXZlbnRzL2Nv
bnRleHQtbm8tZGVzZWxlY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZs
L2Zhc3QvZXZlbnRzL2NvbnRleHQtbm8tZGVzZWxlY3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhYmQ3YjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9lZmwvZmFzdC9ldmVudHMvY29udGV4dC1uby1kZXNlbGVjdC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxNCBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisg
IFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJl
bmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVyVGV4dENv
bnRyb2wge0lOUFVUfSBhdCAoMiwyKSBzaXplIDE5M3gyOCBbYmdjb2xvcj0jRkZGRkZGXQorICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKK2xheWVyIGF0ICgxNCwxNikgc2l6ZSAxODZ4MTgg
c2Nyb2xsSGVpZ2h0IDE5CisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICg0LDYpIHNpemUgMTg2eDE4
CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTI0eDE5CisgICAgICB0ZXh0
IHJ1biBhdCAoMCwwKSB3aWR0aCAxMjQ6ICJzb21lIHNhbXBsZSB0ZXh0Igorc2VsZWN0aW9uIHN0
YXJ0OiBwb3NpdGlvbiA1IG9mIGNoaWxkIDAgeyN0ZXh0fSBvZiBjaGlsZCAwIHtESVZ9IG9mIHsj
c2hhZG93LXJvb3R9IG9mIGNoaWxkIDEge0lOUFVUfSBvZiBib2R5CitzZWxlY3Rpb24gZW5kOiAg
IHBvc2l0aW9uIDE1IG9mIGNoaWxkIDAgeyN0ZXh0fSBvZiBjaGlsZCAwIHtESVZ9IG9mIHsjc2hh
ZG93LXJvb3R9IG9mIGNoaWxkIDEge0lOUFVUfSBvZiBib2R5CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGstd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGstd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZmI2NWEyMS4uYmQ2OWM2NiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrLXdrMi9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTMy
LDE5ICsxMzIsNiBAQCBCdWcoR1RLKSBlZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtYWZ0ZXItbW91
c2Utc2VsZWN0aW9uLmh0bWwgWyBGYWlsdXJlIF0KICMgV2ViS2l0MiBuZWVkcyB0ZXh0SW5wdXRD
b250cm9sbGVyLnNlbGVjdGVkUmFuZ2UKIEJ1ZyhHVEspIGVkaXRpbmcvc2VsZWN0aW9uL21peGVk
LWVkaXRhYmlsaXR5LTEwLmh0bWwgWyBGYWlsdXJlIF0KIAotIyBJbXBsZW1lbnQgZXZlbnRTZW5k
ZXIuY29udGV4dENsaWNrCi1CdWcoR1RLKSBlZGl0aW5nL3Bhc3RlYm9hcmQvY29weS1zdGFuZGFs
b25lLWltYWdlLWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhHVEspIGVkaXRpbmcvc2VsZWN0
aW9uL2VtcHR5LWNlbGwtcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1cmUgXQotQnVnKEdUSykgZWRp
dGluZy9zZWxlY3Rpb24vYnV0dG9uLXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhH
VEspIGVkaXRpbmcvc2VsZWN0aW9uL2NvbnRleHQtbWVudS1vbi10ZXh0Lmh0bWwgWyBGYWlsdXJl
IF0KLUJ1ZyhHVEspIGVkaXRpbmcvc2VsZWN0aW9uL2VtcHR5LWNlbGwtcmlnaHQtY2xpY2suaHRt
bCBbIEZhaWx1cmUgXQotQnVnKEdUSykgZmFzdC9ldmVudHMvc2VsZWN0c3RhcnQtcHJldmVudC1z
ZWxlY3Rpb24tb24tcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1cmUgXQotQnVnKEdUSykgZmFzdC9l
dmVudHMvY29udGV4dC1uby1kZXNlbGVjdC5odG1sIFsgRmFpbHVyZSBdCi1CdWcoR1RLKSBmYXN0
L2V2ZW50cy9jb250ZXh0bWVudS1zY3JvbGxlZC1wYWdlLXdpdGgtZnJhbWUuaHRtbCBbIEZhaWx1
cmUgXQotQnVnKEdUSykgZmFzdC9ldmVudHMvY29udGV4dC1vbm1vdXNlZG93bi1ldmVudC5odG1s
IFsgRmFpbHVyZSBdCi1CdWcoR1RLKSBtZWRpYS9jb250cm9scy1yaWdodC1jbGljay1vbi10aW1l
YmFyLmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhHVEspIHN2Zy9jdXN0b20vdXNlLWV2ZW50cy1jcmFz
aC5zdmcgWyBGYWlsdXJlIF0KLQogIyBJbXBsZW1lbnQgUGFnZUNsaWVudEltcGw6OnJlZ2lzdGVy
RWRpdENvbW1hbmQgYW5kIGhhbmRsaW5nIGNvbW1hbmRzIGZ1bmN0aW9ucwogQnVnKEdUSykgZWRp
dGluZy9kZWxldGluZy9kZWxldGUtYnktd29yZC0wMDIuaHRtbCBbIEZhaWx1cmUgXQogQnVnKEdU
SykgZWRpdGluZy9kZWxldGluZy9kZWxldGUtYW5kLXVuZG8uaHRtbCBbIEZhaWx1cmUgXQpAQCAt
NTg5LDMgKzU3NiwyNSBAQCB3ZWJraXQub3JnL2IvOTg1MjcgaHR0cC90ZXN0cy9sb2FkaW5nL3Rl
eHQtY29udGVudC10eXBlLXdpdGgtYmluYXJ5LWV4dGVuc2lvbi5odAogIyBFbmQgb2YgVGVzdHMg
d29ya2luZyBpbiBXSzIgYW5kIGZhaWxpbmcgaW4gV0sxCiAjLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLwogCisKKyMgU2VsZWN0aW9uIGRvZXNuJ3Qgd29yayBwcm9wZXJseS4KK0J1ZyhH
VEspIGVkaXRpbmcvc2VsZWN0aW9uL2NvbnRleHQtbWVudS10ZXh0LXNlbGVjdGlvbi5odG1sIFsg
RmFpbHVyZSBQYXNzIF0KK0J1ZyhHVEspIGVkaXRpbmcvc2VsZWN0aW9uL2VtcHR5LWNlbGwtcmln
aHQtY2xpY2suaHRtbCBbIEZhaWx1cmUgXQorQnVnKEdUSykgZWRpdGluZy9zcGVsbGluZy9jb250
ZXh0LW1lbnUtc3VnZ2VzdGlvbnMuaHRtbCBbIEZhaWx1cmUgXQorCisjIEV2ZW50U2VuZGVyJ3Mg
Y29udGV4dENsaWNrIHNob3VsZCByZXR1cm4gb2JqZWN0cyB0aGF0IGltcGxlbWVudHMgY2xpY2so
KSBtZXRob2QKK3dlYmtpdC5vcmcvYi85ODQxMCBlZGl0aW5nL3Bhc3RlYm9hcmQvY29weS1zdGFu
ZGFsb25lLWltYWdlLWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi85ODQxMCBt
ZWRpYS9jb250ZXh0LW1lbnUtYWN0aW9ucy5odG1sIFsgRmFpbHVyZSBdCisKKyMgQW4gb25jb250
ZXh0bWVudSBhdHRyaWJ1dGUgaXMgbm90IGNhbGxlZC4KK0J1ZyhHVEspIGVkaXRpbmcvc3BlbGxp
bmcvc3BlbGxjaGVjay1pbnB1dC1zZWFyY2gtY3Jhc2guaHRtbCBbIEZhaWx1cmUgXQorQnVnKEdU
SykgZmFzdC9ldmVudHMvY29udGV4dG1lbnUtc2Nyb2xsZWQtcGFnZS13aXRoLWZyYW1lLmh0bWwg
WyBGYWlsdXJlIF0KKworIyBBbiBvbm1vdXNlZG93biBhdHRyaWJ1dGUgaXMgbm90IGNhbGxlZC4K
K0J1ZyhHVEspIGZhc3QvZXZlbnRzL2NvbnRleHQtb25tb3VzZWRvd24tZXZlbnQuaHRtbCBbIEZh
aWx1cmUgXQorCisjIEFuIG9uc2VsZWN0c3RhcnQgYXR0cmlidXRlIGlzIG5vdCBjYWxsZWQuCitC
dWcoR1RLKSBmYXN0L2V2ZW50cy9zZWxlY3RzdGFydC1wcmV2ZW50LXNlbGVjdGlvbi1vbi1yaWdo
dC1jbGljay5odG1sIFsgRmFpbHVyZSBdCisKKyMgU3RhcnQgb2YgbWVkaWEgcGxheWVyIGNhdXNl
cyB0aW1lb3V0CitCdWcoR1RLKSBtZWRpYS9jb250cm9scy1yaWdodC1jbGljay1vbi10aW1lYmFy
Lmh0bWwgWyBGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9l
ZGl0aW5nL3NlbGVjdGlvbi81MzU0NDU1LTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrL2VkaXRpbmcvc2VsZWN0aW9uLzUzNTQ0NTUtMi1leHBlY3RlZC50eHQKaW5kZXgg
MThlODIwOS4uODQ1ZWEyMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Vk
aXRpbmcvc2VsZWN0aW9uLzUzNTQ0NTUtMi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL2VkaXRpbmcvc2VsZWN0aW9uLzUzNTQ0NTUtMi1leHBlY3RlZC50eHQKQEAg
LTIwLDQgKzIwLDMgQEAgbGF5ZXIgYXQgKDgsOCkgc2l6ZSA2MTJ4MTQyCiAgICAgICAgIHRleHQg
cnVuIGF0ICgwLDM2KSB3aWR0aCA1Nzc6ICJjbGljayBvbiB0aGUgZW1wdHkgc3BhY2Ugb3V0c2lk
ZSBhbmQgdG8gdGhlIHJpZ2h0IG9mIHRoZSBibGFjayBib3JkZXIsIHRoZSBzZWxlY3Rpb24gc2hv
dWxkIGJlIgogICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1NCkgd2lkdGggNTk6ICJyZW1vdmVkLiIK
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotY2FyZXQ6IHBvc2l0
aW9uIDExOCBvZiBjaGlsZCAyIHsjdGV4dH0gb2YgYm9keQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGVjZDZjMGQu
LjhmMWM2OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMi0wOS0xNCAgV29qY2ll
Y2ggQmllbGF3c2tpICA8dy5iaWVsYXdza2lAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW1dLMl1b
V0tUUl0gV2ViS2l0VGVzdFJ1bm5lciBuZWVkcyBldmVudFNlbmRlci5jb250ZXh0Q2xpY2soKQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODY4ODEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbmplY3RlZEJ1
bmRsZSBBUEkgZXh0ZW5kZWQgdG8gcmV0cmlldmUgY29udGV4dE1lbnUgZW50cmllcyBuYW1lcy4K
KyAgICAgICAgV2ViQ29udGV4dE1lbnUgZXh0ZWRlZCB3aXRoIGZ1bmN0aW9uIHRvIHJldHJpZXZl
IG1lbnUgaXRlbXMuCisgICAgICAgIFRoaXMgQVBJIGlzIHJlcXVpcmVkIGJ5IGxheW91dCB0ZXN0
cy4KKworICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQ
YWdlLmNwcDoKKyAgICAgICAgKFdLQnVuZGxlUGFnZUdldENvbnRleHRNZW51RW50cmllc05hbWVz
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFn
ZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHRNZW51OjppdGVtcyk6CisgICAgICAgIChXZWJLaXQp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5oOgorICAgICAg
ICAoV2ViQ29udGV4dE1lbnUpOgorCiAyMDEyLTEwLTI1ICBLeXVuZ1RhZSBLaW0gIDxrdGYua2lt
QHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtXSzJdW0VGTF0gQWRkIGV3a192aWV3X3BhZ2luYXRp
b25fbW9kZV9zZXQvZ2V0KCkgQVBJcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCmluZGV4
IDUzZGRmNjEuLmI5YTM5MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAKQEAgLTMw
LDEzICszMCwxOCBAQAogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlQmFja0ZvcndhcmRMaXN0Lmgi
CiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlLmgiCiAjaW5jbHVkZSAiV0tBUElD
YXN0LmgiCisjaW5jbHVkZSAiV0tBcnJheS5oIgogI2luY2x1ZGUgIldLQnVuZGxlQVBJQ2FzdC5o
IgorI2luY2x1ZGUgIldLUmV0YWluUHRyLmgiCisjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnUuaCIK
KyNpbmNsdWRlICJXZWJDb250ZXh0TWVudUl0ZW0uaCIKICNpbmNsdWRlICJXZWJGcmFtZS5oIgog
I2luY2x1ZGUgIldlYkZ1bGxTY3JlZW5NYW5hZ2VyLmgiCiAjaW5jbHVkZSAiV2ViSW1hZ2UuaCIK
ICNpbmNsdWRlICJXZWJQYWdlLmgiCiAjaW5jbHVkZSAiV2ViUmVuZGVyTGF5ZXIuaCIKICNpbmNs
dWRlICJXZWJSZW5kZXJPYmplY3QuaCIKKyNpbmNsdWRlICJXZWJTdHJpbmcuaCIKICNpbmNsdWRl
ICJXZWJVUkwuaCIKICNpbmNsdWRlICJXZWJVUkxSZXF1ZXN0LmgiCiAKQEAgLTE0NSw2ICsxNTAs
MjQgQEAgV0tCdW5kbGVGcmFtZVJlZiBXS0J1bmRsZVBhZ2VHZXRNYWluRnJhbWUoV0tCdW5kbGVQ
YWdlUmVmIHBhZ2VSZWYpCiAgICAgcmV0dXJuIHRvQVBJKHRvSW1wbChwYWdlUmVmKS0+bWFpbldl
YkZyYW1lKCkpOwogfQogCitXS0FycmF5UmVmIFdLQnVuZGxlUGFnZUNvcHlDb250ZXh0TWVudUVu
dHJpZXNOYW1lcyhXS0J1bmRsZVBhZ2VSZWYgcGFnZVJlZikKK3sKKyNpZiBFTkFCTEUoQ09OVEVY
VF9NRU5VUykKKyAgICBXZWJDb250ZXh0TWVudSogY29udGV4dE1lbnUgPSB0b0ltcGwocGFnZVJl
ZiktPmNvbnRleHRNZW51KCk7CisgICAgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+IGl0
ZW1zID0gY29udGV4dE1lbnUtPml0ZW1zKCk7CisgICAgT3duQXJyYXlQdHI8V0tUeXBlUmVmPiBp
dGVtTmFtZXMgPSBhZG9wdEFycmF5UHRyKG5ldyBXS1R5cGVSZWZbaXRlbXMuc2l6ZSgpXSk7Cisg
ICAgc2l6ZV90IGFycmF5TGVuZ3RoID0gaXRlbXMuc2l6ZSgpOworICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgYXJyYXlMZW5ndGg7ICsraSkgeworICAgICAgICBSZWZQdHI8V2ViU3RyaW5nPiBu
YW1lID0gV2ViU3RyaW5nOjpjcmVhdGUoaXRlbXNbaV0udGl0bGUoKSk7CisgICAgICAgIGl0ZW1O
YW1lc1tpXSA9IHRvQVBJKG5hbWUucmVsZWFzZSgpLmxlYWtSZWYoKSk7CisgICAgfQorCisgICAg
cmV0dXJuIFdLQXJyYXlDcmVhdGUoaXRlbU5hbWVzLmdldCgpLCBhcnJheUxlbmd0aCk7CisjZWxz
ZQorICAgIHJldHVybiAwOworI2VuZGlmCit9CisKIHZvaWQqIFdLQWNjZXNzaWJpbGl0eVJvb3RP
YmplY3QoV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYpCiB7CiAjaWYgSEFWRShBQ0NFU1NJQklMSVRZ
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9B
UEkvYy9XS0J1bmRsZVBhZ2VQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVByaXZhdGUuaAppbmRleCAxMWIyMGRjLi5i
NGUwZjMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVByaXZhdGUuaApAQCAtNzcs
NiArNzcsOCBAQCBXS19FWFBPUlQgYm9vbCBXS0J1bmRsZVBhZ2VDYW5TaG93TUlNRVR5cGUoV0tC
dW5kbGVQYWdlUmVmLCBXS1N0cmluZ1JlZiBtaW1lVHlwZQogV0tfRVhQT1JUIHZvaWQqIFdLQWNj
ZXNzaWJpbGl0eVJvb3RPYmplY3QoV0tCdW5kbGVQYWdlUmVmKTsKIFdLX0VYUE9SVCB2b2lkKiBX
S0FjY2Vzc2liaWxpdHlGb2N1c2VkT2JqZWN0KFdLQnVuZGxlUGFnZVJlZik7CiAKK1dLX0VYUE9S
VCBXS0FycmF5UmVmIFdLQnVuZGxlUGFnZUNvcHlDb250ZXh0TWVudUVudHJpZXNOYW1lcyhXS0J1
bmRsZVBhZ2VSZWYgcGFnZVJlZik7CisKICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1l
bnUuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51
LmNwcAppbmRleCAzYTkxZDkwLi4zYzgxMGQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5jcHAKQEAgLTk1LDYgKzk1LDMyIEBA
IHZvaWQgV2ViQ29udGV4dE1lbnU6Oml0ZW1TZWxlY3RlZChjb25zdCBXZWJDb250ZXh0TWVudUl0
ZW1EYXRhJiBpdGVtKQogICAgIG1fcGFnZS0+Y29yZVBhZ2UoKS0+Y29udGV4dE1lbnVDb250cm9s
bGVyKCktPmNvbnRleHRNZW51SXRlbVNlbGVjdGVkKCZjb3JlSXRlbSk7CiB9CiAKK1ZlY3RvcjxX
ZWJDb250ZXh0TWVudUl0ZW1EYXRhPiBXZWJDb250ZXh0TWVudTo6aXRlbXMoKSBjb25zdAorewor
ICAgIFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiBwcm9wb3NlZE1lbnU7CisgICAgQ29u
dGV4dE1lbnVDb250cm9sbGVyKiBjb250cm9sbGVyID0gbV9wYWdlLT5jb3JlUGFnZSgpLT5jb250
ZXh0TWVudUNvbnRyb2xsZXIoKTsKKyAgICBpZiAoIWNvbnRyb2xsZXIpCisgICAgICAgIHJldHVy
biBwcm9wb3NlZE1lbnU7CisgICAgQ29udGV4dE1lbnUqIG1lbnUgPSBjb250cm9sbGVyLT5jb250
ZXh0TWVudSgpOworICAgIGlmICghbWVudSkKKyAgICAgICAgcmV0dXJuIHByb3Bvc2VkTWVudTsK
KworICAgIC8vIEdpdmUgdGhlIGJ1bmRsZSBjbGllbnQgYSBjaGFuY2UgdG8gcHJvY2VzcyB0aGUg
bWVudS4KKyNpZiBVU0UoQ1JPU1NfUExBVEZPUk1fQ09OVEVYVF9NRU5VUykKKyAgICBjb25zdCBW
ZWN0b3I8Q29udGV4dE1lbnVJdGVtPiYgY29yZUl0ZW1zID0gbWVudS0+aXRlbXMoKTsKKyNlbHNl
CisgICAgVmVjdG9yPENvbnRleHRNZW51SXRlbT4gY29yZUl0ZW1zID0gY29udGV4dE1lbnVJdGVt
VmVjdG9yKG1lbnUtPnBsYXRmb3JtRGVzY3JpcHRpb24oKSk7CisjZW5kaWYKKyAgICBwcm9wb3Nl
ZE1lbnUgPSBraXRJdGVtcyhjb3JlSXRlbXMsIG1lbnUpOworICAgIFZlY3RvcjxXZWJDb250ZXh0
TWVudUl0ZW1EYXRhPiBuZXdNZW51OworICAgIFJlZlB0cjxBUElPYmplY3Q+IHVzZXJEYXRhOwor
ICAgIFJlZlB0cjxJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQ+IGhpdFRlc3RSZXN1bHQgPSBJ
bmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQ6OmNyZWF0ZShjb250cm9sbGVyLT5oaXRUZXN0UmVz
dWx0KCkpOworICAgIGlmIChtX3BhZ2UtPmluamVjdGVkQnVuZGxlQ29udGV4dE1lbnVDbGllbnQo
KS5nZXRDdXN0b21NZW51RnJvbURlZmF1bHRJdGVtcyhtX3BhZ2UsIGhpdFRlc3RSZXN1bHQuZ2V0
KCksIHByb3Bvc2VkTWVudSwgbmV3TWVudSwgdXNlckRhdGEpKQorICAgICAgICBwcm9wb3NlZE1l
bnUgPSBuZXdNZW51OworCisgICAgcmV0dXJuIHByb3Bvc2VkTWVudTsKK30KKwogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBFTkFCTEUoQ09OVEVYVF9NRU5VUykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5oIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmgKaW5kZXgg
YzhhNWY1YS4uZGYwODNkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYkNvbnRleHRNZW51LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYkNvbnRleHRNZW51LmgKQEAgLTQzLDYgKzQzLDcgQEAgcHVibGljOgogCiAgICAg
dm9pZCBzaG93KCk7CiAgICAgdm9pZCBpdGVtU2VsZWN0ZWQoY29uc3QgV2ViQ29udGV4dE1lbnVJ
dGVtRGF0YSYpOworICAgIFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiBpdGVtcygpIGNv
bnN0OwogCiBwcml2YXRlOgogICAgIFdlYkNvbnRleHRNZW51KFdlYlBhZ2UqKTsKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA4YzkzNmYwLi5jYmE5
YjBiIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTItMDktMTQgIFdvamNpZWNoIEJpZWxhd3NraSAgPHcuYmllbGF3
c2tpQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtXSzJdW1dLVFJdIFdlYktpdFRlc3RSdW5uZXIg
bmVlZHMgZXZlbnRTZW5kZXIuY29udGV4dENsaWNrKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2ODgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgZXZlbnRTZW5kZXIgb2JqZWN0IGV4dGVuZGVkIHdpdGgg
Y29udGV4dENsaWNrKCkgbWV0aG9kIGluIFdlYktpdFRlc3RSdW5uZXIuCisgICAgICAgIGNvbnRl
eHRDbGljaygpIG1ldGhvZCByZXR1cm5zIGFuIGFycmF5IG9mIG1lbnUgaXRlbXMgb2JqZWN0cyB3
aXRoIGZpZWxkICd0aXRsZScgY29udGFpbmluZyB0aXRsZSBvZiBzaW5nbGUKKyAgICAgICAgY29u
dGV4dCBtZW51IGVudHJ5LiBBY2NvcmRpbmcgdG8gc29tZSB0ZXN0cyBtZW51IGl0ZW1zIG9iamVj
dHMgc2hhbGwgYWxzbyBzdXBwb3J0ICdjbGljaygpJyBtZXRob2QsIGJ1dCBpdCdzIG5vdAorICAg
ICAgICBkZWxpdmVyZWQgaW4gdGhpcyBwYXRjaC4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5pZGw6Cisg
ICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250
cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6RXZlbnRTZW5kaW5nQ29udHJvbGxlcjo6Y29udGV4
dENsaWNrKToKKyAgICAgICAgKFdUUik6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmg6CisgICAgICAgIChFdmVudFNlbmRp
bmdDb250cm9sbGVyKToKKwogMjAxMi0xMC0yMiAgTWlraGFpbCBOYWdhbm92ICA8bW5hZ2Fub3ZA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gQWRkIHN1cHBvcnRNdWx0aXBsZVdp
bmRvd3Mgc2V0dGluZywgbmVlZGVkIGZvciBBbmRyb2lkCmRpZmYgLS1naXQgYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0V2ZW50U2VuZGluZ0NvbnRyb2xs
ZXIuaWRsIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9F
dmVudFNlbmRpbmdDb250cm9sbGVyLmlkbAppbmRleCA1MmE3YTViLi4xZDYyYzliIDEwMDY0NAot
LS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0V2ZW50
U2VuZGluZ0NvbnRyb2xsZXIuaWRsCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvQmluZGluZ3MvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5pZGwKQEAgLTI5LDYgKzI5
LDcgQEAgaW50ZXJmYWNlIEV2ZW50U2VuZGluZ0NvbnRyb2xsZXIgewogICAgIHZvaWQgbW91c2VN
b3ZlVG8oaW4gbG9uZyB4LCBpbiBsb25nIHkpOwogICAgIHZvaWQgbW91c2VTY3JvbGxCeShpbiBs
b25nIHgsIGluIGxvbmcgeSk7CiAgICAgdm9pZCBjb250aW51b3VzTW91c2VTY3JvbGxCeShpbiBs
b25nIHgsIGluIGxvbmcgeSwgaW4gW09wdGlvbmFsXSBib29sZWFuIHBhZ2VkKTsKKyAgICBvYmpl
Y3QgY29udGV4dENsaWNrKCk7CiAgICAgdm9pZCBzY2hlZHVsZUFzeW5jaHJvbm91c0NsaWNrKCk7
CiAKICAgICB2b2lkIGxlYXBGb3J3YXJkKGluIGxvbmcgbWlsbGlzZWNvbmRzKTsKZGlmZiAtLWdp
dCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29u
dHJvbGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2ZW50
U2VuZGluZ0NvbnRyb2xsZXIuY3BwCmluZGV4IGJmNmQ5YmMuLmVkNzlhYzUgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJv
bGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVu
dFNlbmRpbmdDb250cm9sbGVyLmNwcApAQCAtMzE5LDYgKzMxOSwzNiBAQCB2b2lkIEV2ZW50U2Vu
ZGluZ0NvbnRyb2xsZXI6OmNvbnRpbnVvdXNNb3VzZVNjcm9sbEJ5KGludCB4LCBpbnQgeSwgYm9v
bCBwYWdlZCkKICAgICBXS0J1bmRsZVBvc3RTeW5jaHJvbm91c01lc3NhZ2UoSW5qZWN0ZWRCdW5k
bGU6OnNoYXJlZCgpLmJ1bmRsZSgpLCBFdmVudFNlbmRlck1lc3NhZ2VOYW1lLmdldCgpLCBFdmVu
dFNlbmRlck1lc3NhZ2VCb2R5LmdldCgpLCAwKTsKIH0KIAorSlNWYWx1ZVJlZiBFdmVudFNlbmRp
bmdDb250cm9sbGVyOjpjb250ZXh0Q2xpY2soKQoreworICAgIFdLQnVuZGxlUGFnZVJlZiBwYWdl
ID0gSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnBhZ2UoKS0+cGFnZSgpOworICAgIFdLQnVuZGxl
RnJhbWVSZWYgbWFpbkZyYW1lID0gV0tCdW5kbGVQYWdlR2V0TWFpbkZyYW1lKHBhZ2UpOworICAg
IEpTQ29udGV4dFJlZiBjb250ZXh0ID0gV0tCdW5kbGVGcmFtZUdldEphdmFTY3JpcHRDb250ZXh0
KG1haW5GcmFtZSk7CisjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCisgICAgLy8gRG8gbW91c2Ug
Y29udGV4dCBjbGljay4KKyAgICBtb3VzZURvd24oMiwgMCk7CisgICAgbW91c2VVcCgyLCAwKTsK
KworICAgIFdLUmV0YWluUHRyPFdLQXJyYXlSZWY+IGVudHJpZXNOYW1lcyA9IGFkb3B0V0soV0tC
dW5kbGVQYWdlQ29weUNvbnRleHRNZW51RW50cmllc05hbWVzKHBhZ2UpKTsKKyAgICBKU1JldGFp
blB0cjxKU1N0cmluZ1JlZj4ganNQcm9wZXJ0eU5hbWUoQWRvcHQsIEpTU3RyaW5nQ3JlYXRlV2l0
aFVURjhDU3RyaW5nKCJ0aXRsZSIpKTsKKyAgICBzaXplX3QgZW50cmllc1NpemUgPSBXS0FycmF5
R2V0U2l6ZShlbnRyaWVzTmFtZXMuZ2V0KCkpOworICAgIE93bkFycmF5UHRyPEpTVmFsdWVSZWY+
IGpzVmFsdWVzQXJyYXkgPSBhZG9wdEFycmF5UHRyKG5ldyBKU1ZhbHVlUmVmW2VudHJpZXNTaXpl
XSk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBlbnRyaWVzU2l6ZTsgKytpKSB7CisgICAg
ICAgIEFTU0VSVChXS0dldFR5cGVJRChXS0FycmF5R2V0SXRlbUF0SW5kZXgoZW50cmllc05hbWVz
LmdldCgpLCBpKSkgPT0gV0tTdHJpbmdHZXRUeXBlSUQoKSk7CisgICAgICAgIFdLU3RyaW5nUmVm
IHdrRW50cnlOYW1lID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KFdLQXJyYXlHZXRJdGVtQXRJ
bmRleChlbnRyaWVzTmFtZXMuZ2V0KCksIGkpKTsKKyAgICAgICAgSlNPYmplY3RSZWYganNJdGVt
T2JqZWN0ID0gSlNPYmplY3RNYWtlKGNvbnRleHQsIDAsIDApOworICAgICAgICBKU1JldGFpblB0
cjxKU1N0cmluZ1JlZj4ganNOYW1lQ29weShBZG9wdCwgV0tTdHJpbmdDb3B5SlNTdHJpbmcod2tF
bnRyeU5hbWUpKTsKKyAgICAgICAgSlNWYWx1ZVJlZiBqc0VudHJ5TmFtZSA9IEpTVmFsdWVNYWtl
U3RyaW5nKGNvbnRleHQsIGpzTmFtZUNvcHkuZ2V0KCkpOworICAgICAgICBKU09iamVjdFNldFBy
b3BlcnR5KGNvbnRleHQsIGpzSXRlbU9iamVjdCwganNQcm9wZXJ0eU5hbWUuZ2V0KCksIGpzRW50
cnlOYW1lLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5LCAwKTsKKyAgICAgICAganNWYWx1
ZXNBcnJheVtpXSA9IGpzSXRlbU9iamVjdDsKKyAgICB9CisKKyAgICByZXR1cm4gSlNPYmplY3RN
YWtlQXJyYXkoY29udGV4dCwgZW50cmllc1NpemUsIGpzVmFsdWVzQXJyYXkuZ2V0KCksIDApOwor
I2Vsc2UKKyAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7CisjZW5kaWYK
K30KKwogI2lmZGVmIFVTRV9XRUJQUk9DRVNTX0VWRU5UX1NJTVVMQVRJT04KIHZvaWQgRXZlbnRT
ZW5kaW5nQ29udHJvbGxlcjo6dXBkYXRlQ2xpY2tDb3VudChXS0V2ZW50TW91c2VCdXR0b24gYnV0
dG9uKQogewpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaAppbmRleCA0MTNiOTFjLi42OWM1NGY5
IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2ZW50
U2VuZGluZ0NvbnRyb2xsZXIuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaApAQCAtNTIsNiArNTIsNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCBtb3VzZU1vdmVUbyhpbnQgeCwgaW50IHkpOwogICAgIHZvaWQgbW91c2VTY3Jv
bGxCeShpbnQgeCwgaW50IHkpOwogICAgIHZvaWQgY29udGludW91c01vdXNlU2Nyb2xsQnkoaW50
IHgsIGludCB5LCBib29sIHBhZ2VkKTsKKyAgICBKU1ZhbHVlUmVmIGNvbnRleHRDbGljaygpOwog
ICAgIHZvaWQgbGVhcEZvcndhcmQoaW50IG1pbGxpc2Vjb25kcyk7CiAgICAgdm9pZCBzY2hlZHVs
ZUFzeW5jaHJvbm91c0NsaWNrKCk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171659</attachid>
            <date>2012-10-31 07:44:27 -0700</date>
            <delta_ts>2012-11-15 03:45:11 -0800</delta_ts>
            <desc>eventSender.contextClick() method partially implemented.</desc>
            <filename>contextClick.patch</filename>
            <type>text/plain</type>
            <size>17804</size>
            <attacher name="Wojciech Bielawski">w.bielawski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzNzEwNDFhLi5hOTlkYWZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMDkt
MTQgIFdvamNpZWNoIEJpZWxhd3NraSAgPHcuYmllbGF3c2tpQHNhbXN1bmcuY29tPgorCisgICAg
ICAgIFtXSzJdW1dLVFJdIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgZXZlbnRTZW5kZXIuY29udGV4
dENsaWNrKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTg2ODgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgZXhwZWN0ZWQgcmVzdWx0cyBmb3IgdHdvIHRlc3RzIGZvciBFRkwgcGxhdGZvcm0uIFRl
c3QgZXhwZWN0YXRpb25zIGNoYW5nZWQKKyAgICAgICAgZm9yIEVGTCBXSzEvV0syIGFuZCBHVEsg
cGxhdHJvZm1zCisKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9uczoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9lZmwtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxh
dGZvcm0vZWZsLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL2drdC13
azIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvZWRpdGluZy9zZWxl
Y3Rpb24vNTM1NDQ1NS0yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvZWRp
dGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vZWZsL2Zhc3QvZXZlbnRzL2NvbnRleHQtbm8tZGVzZWxlY3QtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKwogMjAxMi0xMC0zMSAgUmFwaGFlbCBLdWJvIGRhIENvc3RhICA8cmFwaGFlbC5r
dWJvLmRhLmNvc3RhQGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXSBVbnJldmlld2VkIHBpeGVs
IGV4cGVjdGF0aW9ucyBnYXJkZW5pbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9lZmwtd2sxL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwtd2sx
L1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggM2Y5NDcxYi4uN2NiYTVlNCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZWZsLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2VmbC13azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjQzLDMgKzI0Myw2IEBA
IHdlYmtpdC5vcmcvYi84Nzk3MiBmYXN0L2VuY29kaW5nL21haWx0by1hbHdheXMtdXRmLTguaHRt
bCBbIEZhaWx1cmUgXQogCiAjIEZyYW1lIGRvZXMgbm90IGdldCBmb2N1cyBhcyBleHBlY3RlZAog
d2Via2l0Lm9yZy9iLzk3MDc3IGluc3BlY3Rvci9leHRlbnNpb25zL2V4dGVuc2lvbnMtcGFuZWwu
aHRtbCBbIEZhaWx1cmUgXQorCisjIEVTQyBrZXkgZG9lcyBub3QgY2FuY2VsIGNvbnRleHQgbWVu
dSBpbiBFRkwgcG9ydAorQnVnKEVGTCkgZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0xLmh0bWwg
WyBGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC13azIvVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC13azIvVGVzdEV4cGVjdGF0
aW9ucwppbmRleCBkNWY5ZjJkLi5hOGM1ZGYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9lZmwtd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
ZWZsLXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC0yNzAsMTkgKzI3MCw2IEBAIHdlYmtpdC5vcmcv
Yi85ODczOSBwbHVnaW5zL25wcnVudGltZS9lbWJlZC1wcm9wZXJ0eS1lcXVhbGl0eS5odG1sIFsg
RmFpbHVyZSBdCiAjIEVGTCBXSzIgZG9lcyBub3Qgc3VwcG9ydCB0aGUgc3BlbGxjaGVja2VyIGZl
YXR1cmUKIHdlYmtpdC5vcmcvYi85MTg1NCBlZGl0aW5nL3NwZWxsaW5nIFsgU2tpcCBdCiAKLSMg
V2ViS2l0VGVzdFJ1bm5lciBuZWVkcyBhbiBpbXBsZW1lbnRhdGlvbiBmb3IgZXZlbnRTZW5kZXIu
Y29udGV4dENsaWNrCi13ZWJraXQub3JnL2IvODY4ODEgZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHkt
c3RhbmRhbG9uZS1pbWFnZS1jcmFzaC5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODY4
ODEgZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0xLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5v
cmcvYi84Njg4MSBlZGl0aW5nL3NlbGVjdGlvbi81MzU0NDU1LTIuaHRtbCBbIEZhaWx1cmUgXQot
d2Via2l0Lm9yZy9iLzg2ODgxIGVkaXRpbmcvc2VsZWN0aW9uL2J1dHRvbi1yaWdodC1jbGljay5o
dG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODY4ODEgZWRpdGluZy9zZWxlY3Rpb24vY29u
dGV4dC1tZW51LW9uLXRleHQuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2ODgxIGVk
aXRpbmcvc2VsZWN0aW9uL2NvbnRleHQtbWVudS10ZXh0LXNlbGVjdGlvbi5odG1sIFsgRmFpbHVy
ZSBdCi13ZWJraXQub3JnL2IvODY4ODEgZWRpdGluZy9zZWxlY3Rpb24vZW1wdHktY2VsbC1yaWdo
dC1jbGljay5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODY4ODEgZWRpdGluZy9zaGFk
b3cvcmlnaHRjbGljay1vbi1tZXRlci1pbi1zaGFkb3ctY3Jhc2guaHRtbCBbIEZhaWx1cmUgXQot
d2Via2l0Lm9yZy9iLzg2ODgxIGZhc3QvZXZlbnRzL2NvbnRleHQtbm8tZGVzZWxlY3QuaHRtbCBb
IEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2ODgxIGZhc3QvZXZlbnRzL2NvbnRleHQtb25tb3Vz
ZWRvd24tZXZlbnQuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2ODgxIGZhc3QvZXZl
bnRzL2NvbnRleHRtZW51LXNjcm9sbGVkLXBhZ2Utd2l0aC1mcmFtZS5odG1sIFsgRmFpbHVyZSBd
Ci13ZWJraXQub3JnL2IvODY4ODEgZmFzdC9ldmVudHMvcmlnaHQtY2xpY2stZm9jdXMuaHRtbCBb
IEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2ODgxIGZhc3QvZXZlbnRzL3NlbGVjdHN0YXJ0LXBy
ZXZlbnQtc2VsZWN0aW9uLW9uLXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5v
cmcvYi84Njg4MSBtZWRpYS9jb250ZXh0LW1lbnUtYWN0aW9ucy5odG1sIFsgRmFpbHVyZSBdCi13
ZWJraXQub3JnL2IvODY4ODEgbWVkaWEvY29udHJvbHMtcmlnaHQtY2xpY2stb24tdGltZWJhci5o
dG1sIFsgRmFpbHVyZSBdCisjIEVGTCdzIEV2ZW50U2VuZGVyIGNvbnRleHRDbGljayBzaG91bGQg
cmV0dXJuIG9iamVjdHMgdGhhdCBpbXBsZW1lbnRzIGNsaWNrKCkgbWV0aG9kCit3ZWJraXQub3Jn
L2IvOTg0MTAgZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktc3RhbmRhbG9uZS1pbWFnZS1jcmFzaC5o
dG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvOTg0MTAgbWVkaWEvY29udGV4dC1tZW51LWFj
dGlvbnMuaHRtbCBbIEZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
ZWZsL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVj
dGF0aW9ucwppbmRleCA4YjBlYjY3Li5jOWQ3YmNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9l
ZmwvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTY2OSwzICsxNjY5LDkgQEAgQnVnKEVGTCkgZWRpdGlu
Zy9zZWxlY3Rpb24vNTM1NDQ1NS0xLmh0bWwgWyBGYWlsdXJlIF0KICMgSXQgbWF5IGV2ZW4gYmUg
dGhlIGNhc2UgdGhhdCB0aGUgdGVzdHMgdGhlbXNlbHZlcyBhcmUgd3JvbmcuCiB3ZWJraXQub3Jn
L2IvMTAwODU3IGlldGVzdGNlbnRlci9jc3MzL3RleHQvdGV4dHNoYWRvdy0wMDUuaHRtIFsgSW1h
Z2VPbmx5RmFpbHVyZSBNaXNzaW5nIF0KIHdlYmtpdC5vcmcvYi8xMDA4NTUgaWV0ZXN0Y2VudGVy
L2NzczMvdGV4dC90ZXh0c2hhZG93LTAwOC5odG0gWyBJbWFnZU9ubHlGYWlsdXJlIE1pc3Npbmcg
XQorCisjIFNlbGVjdGlvbiBkb2Vzbid0IHdvcmsgcHJvcGVybHkuCitCdWcoRUZMKSBlZGl0aW5n
L3NwZWxsaW5nL2NvbnRleHQtbWVudS1zdWdnZXN0aW9ucy5odG1sIFsgRmFpbHVyZSBdCisKKyMg
U3RhcnQgb2YgbWVkaWEgcGxheWVyIGNhdXNlcyB0aW1lb3V0LgorQnVnKEVGTCkgbWVkaWEvY29u
dHJvbHMtcmlnaHQtY2xpY2stb24tdGltZWJhci5odG1sIFsgRmFpbHVyZSBdCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGstd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGstd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZmI2NWEyMS4uYmQ2
OWM2NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrLXdrMi9UZXN0RXhwZWN0
YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay13azIvVGVzdEV4cGVjdGF0aW9u
cwpAQCAtMTMyLDE5ICsxMzIsNiBAQCBCdWcoR1RLKSBlZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQt
YWZ0ZXItbW91c2Utc2VsZWN0aW9uLmh0bWwgWyBGYWlsdXJlIF0KICMgV2ViS2l0MiBuZWVkcyB0
ZXh0SW5wdXRDb250cm9sbGVyLnNlbGVjdGVkUmFuZ2UKIEJ1ZyhHVEspIGVkaXRpbmcvc2VsZWN0
aW9uL21peGVkLWVkaXRhYmlsaXR5LTEwLmh0bWwgWyBGYWlsdXJlIF0KIAotIyBJbXBsZW1lbnQg
ZXZlbnRTZW5kZXIuY29udGV4dENsaWNrCi1CdWcoR1RLKSBlZGl0aW5nL3Bhc3RlYm9hcmQvY29w
eS1zdGFuZGFsb25lLWltYWdlLWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhHVEspIGVkaXRp
bmcvc2VsZWN0aW9uL2VtcHR5LWNlbGwtcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1cmUgXQotQnVn
KEdUSykgZWRpdGluZy9zZWxlY3Rpb24vYnV0dG9uLXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJl
IF0KLUJ1ZyhHVEspIGVkaXRpbmcvc2VsZWN0aW9uL2NvbnRleHQtbWVudS1vbi10ZXh0Lmh0bWwg
WyBGYWlsdXJlIF0KLUJ1ZyhHVEspIGVkaXRpbmcvc2VsZWN0aW9uL2VtcHR5LWNlbGwtcmlnaHQt
Y2xpY2suaHRtbCBbIEZhaWx1cmUgXQotQnVnKEdUSykgZmFzdC9ldmVudHMvc2VsZWN0c3RhcnQt
cHJldmVudC1zZWxlY3Rpb24tb24tcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1cmUgXQotQnVnKEdU
SykgZmFzdC9ldmVudHMvY29udGV4dC1uby1kZXNlbGVjdC5odG1sIFsgRmFpbHVyZSBdCi1CdWco
R1RLKSBmYXN0L2V2ZW50cy9jb250ZXh0bWVudS1zY3JvbGxlZC1wYWdlLXdpdGgtZnJhbWUuaHRt
bCBbIEZhaWx1cmUgXQotQnVnKEdUSykgZmFzdC9ldmVudHMvY29udGV4dC1vbm1vdXNlZG93bi1l
dmVudC5odG1sIFsgRmFpbHVyZSBdCi1CdWcoR1RLKSBtZWRpYS9jb250cm9scy1yaWdodC1jbGlj
ay1vbi10aW1lYmFyLmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhHVEspIHN2Zy9jdXN0b20vdXNlLWV2
ZW50cy1jcmFzaC5zdmcgWyBGYWlsdXJlIF0KLQogIyBJbXBsZW1lbnQgUGFnZUNsaWVudEltcGw6
OnJlZ2lzdGVyRWRpdENvbW1hbmQgYW5kIGhhbmRsaW5nIGNvbW1hbmRzIGZ1bmN0aW9ucwogQnVn
KEdUSykgZWRpdGluZy9kZWxldGluZy9kZWxldGUtYnktd29yZC0wMDIuaHRtbCBbIEZhaWx1cmUg
XQogQnVnKEdUSykgZWRpdGluZy9kZWxldGluZy9kZWxldGUtYW5kLXVuZG8uaHRtbCBbIEZhaWx1
cmUgXQpAQCAtNTg5LDMgKzU3NiwyNSBAQCB3ZWJraXQub3JnL2IvOTg1MjcgaHR0cC90ZXN0cy9s
b2FkaW5nL3RleHQtY29udGVudC10eXBlLXdpdGgtYmluYXJ5LWV4dGVuc2lvbi5odAogIyBFbmQg
b2YgVGVzdHMgd29ya2luZyBpbiBXSzIgYW5kIGZhaWxpbmcgaW4gV0sxCiAjLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLwogCisKKyMgU2VsZWN0aW9uIGRvZXNuJ3Qgd29yayBwcm9wZXJs
eS4KK0J1ZyhHVEspIGVkaXRpbmcvc2VsZWN0aW9uL2NvbnRleHQtbWVudS10ZXh0LXNlbGVjdGlv
bi5odG1sIFsgRmFpbHVyZSBQYXNzIF0KK0J1ZyhHVEspIGVkaXRpbmcvc2VsZWN0aW9uL2VtcHR5
LWNlbGwtcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1cmUgXQorQnVnKEdUSykgZWRpdGluZy9zcGVs
bGluZy9jb250ZXh0LW1lbnUtc3VnZ2VzdGlvbnMuaHRtbCBbIEZhaWx1cmUgXQorCisjIEV2ZW50
U2VuZGVyJ3MgY29udGV4dENsaWNrIHNob3VsZCByZXR1cm4gb2JqZWN0cyB0aGF0IGltcGxlbWVu
dHMgY2xpY2soKSBtZXRob2QKK3dlYmtpdC5vcmcvYi85ODQxMCBlZGl0aW5nL3Bhc3RlYm9hcmQv
Y29weS1zdGFuZGFsb25lLWltYWdlLWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcv
Yi85ODQxMCBtZWRpYS9jb250ZXh0LW1lbnUtYWN0aW9ucy5odG1sIFsgRmFpbHVyZSBdCisKKyMg
QW4gb25jb250ZXh0bWVudSBhdHRyaWJ1dGUgaXMgbm90IGNhbGxlZC4KK0J1ZyhHVEspIGVkaXRp
bmcvc3BlbGxpbmcvc3BlbGxjaGVjay1pbnB1dC1zZWFyY2gtY3Jhc2guaHRtbCBbIEZhaWx1cmUg
XQorQnVnKEdUSykgZmFzdC9ldmVudHMvY29udGV4dG1lbnUtc2Nyb2xsZWQtcGFnZS13aXRoLWZy
YW1lLmh0bWwgWyBGYWlsdXJlIF0KKworIyBBbiBvbm1vdXNlZG93biBhdHRyaWJ1dGUgaXMgbm90
IGNhbGxlZC4KK0J1ZyhHVEspIGZhc3QvZXZlbnRzL2NvbnRleHQtb25tb3VzZWRvd24tZXZlbnQu
aHRtbCBbIEZhaWx1cmUgXQorCisjIEFuIG9uc2VsZWN0c3RhcnQgYXR0cmlidXRlIGlzIG5vdCBj
YWxsZWQuCitCdWcoR1RLKSBmYXN0L2V2ZW50cy9zZWxlY3RzdGFydC1wcmV2ZW50LXNlbGVjdGlv
bi1vbi1yaWdodC1jbGljay5odG1sIFsgRmFpbHVyZSBdCisKKyMgU3RhcnQgb2YgbWVkaWEgcGxh
eWVyIGNhdXNlcyB0aW1lb3V0CitCdWcoR1RLKSBtZWRpYS9jb250cm9scy1yaWdodC1jbGljay1v
bi10aW1lYmFyLmh0bWwgWyBGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay9lZGl0aW5nL3NlbGVjdGlvbi81MzU0NDU1LTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL2VkaXRpbmcvc2VsZWN0aW9uLzUzNTQ0NTUtMi1leHBlY3RlZC50
eHQKaW5kZXggMThlODIwOS4uODQ1ZWEyMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrL2VkaXRpbmcvc2VsZWN0aW9uLzUzNTQ0NTUtMi1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2VkaXRpbmcvc2VsZWN0aW9uLzUzNTQ0NTUtMi1leHBlY3Rl
ZC50eHQKQEAgLTIwLDQgKzIwLDMgQEAgbGF5ZXIgYXQgKDgsOCkgc2l6ZSA2MTJ4MTQyCiAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDM2KSB3aWR0aCA1Nzc6ICJjbGljayBvbiB0aGUgZW1wdHkgc3Bh
Y2Ugb3V0c2lkZSBhbmQgdG8gdGhlIHJpZ2h0IG9mIHRoZSBibGFjayBib3JkZXIsIHRoZSBzZWxl
Y3Rpb24gc2hvdWxkIGJlIgogICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1NCkgd2lkdGggNTk6ICJy
ZW1vdmVkLiIKICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotY2Fy
ZXQ6IHBvc2l0aW9uIDExOCBvZiBjaGlsZCAyIHsjdGV4dH0gb2YgYm9keQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4
IDZhZDBjM2IuLmY2MjM0YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMi0wOS0x
NCAgV29qY2llY2ggQmllbGF3c2tpICA8dy5iaWVsYXdza2lAc2Ftc3VuZy5jb20+CisKKyAgICAg
ICAgW1dLMl1bV0tUUl0gV2ViS2l0VGVzdFJ1bm5lciBuZWVkcyBldmVudFNlbmRlci5jb250ZXh0
Q2xpY2soKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODY4ODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
bmplY3RlZEJ1bmRsZSBBUEkgZXh0ZW5kZWQgdG8gcmV0cmlldmUgY29udGV4dE1lbnUgZW50cmll
cyBuYW1lcy4KKyAgICAgICAgV2ViQ29udGV4dE1lbnUgZXh0ZWRlZCB3aXRoIGZ1bmN0aW9uIHRv
IHJldHJpZXZlIG1lbnUgaXRlbXMuCisgICAgICAgIFRoaXMgQVBJIGlzIHJlcXVpcmVkIGJ5IGxh
eW91dCB0ZXN0cy4KKworICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2Mv
V0tCdW5kbGVQYWdlLmNwcDoKKyAgICAgICAgKFdLQnVuZGxlUGFnZUdldENvbnRleHRNZW51RW50
cmllc05hbWVzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dL
QnVuZGxlUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVu
dS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHRNZW51OjppdGVtcyk6CisgICAgICAg
IChXZWJLaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5o
OgorICAgICAgICAoV2ViQ29udGV4dE1lbnUpOgorCiAyMDEyLTEwLTMxICBTdWRhcnNhbmEgTmFn
aW5lbmkgIDxzdWRhcnNhbmEubmFnaW5lbmlAaW50ZWwuY29tPgogCiAgICAgICAgIFtFRkxdIFNr
aXAgRVdLMlVuaXRUZXN0QmFzZS5ld2tfY29udGV4dF92aWJyYXRpb25fY2xpZW50X2NhbGxiYWNr
c19zZXQgQVBJIHRlc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcAppbmRleCA1M2RkZjYx
Li5iOWEzOTIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCkBAIC0zMCwxMyArMzAs
MTggQEAKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZUJhY2tGb3J3YXJkTGlzdC5oIgogI2luY2x1
ZGUgIkluamVjdGVkQnVuZGxlTm9kZUhhbmRsZS5oIgogI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgor
I2luY2x1ZGUgIldLQXJyYXkuaCIKICNpbmNsdWRlICJXS0J1bmRsZUFQSUNhc3QuaCIKKyNpbmNs
dWRlICJXS1JldGFpblB0ci5oIgorI2luY2x1ZGUgIldlYkNvbnRleHRNZW51LmgiCisjaW5jbHVk
ZSAiV2ViQ29udGV4dE1lbnVJdGVtLmgiCiAjaW5jbHVkZSAiV2ViRnJhbWUuaCIKICNpbmNsdWRl
ICJXZWJGdWxsU2NyZWVuTWFuYWdlci5oIgogI2luY2x1ZGUgIldlYkltYWdlLmgiCiAjaW5jbHVk
ZSAiV2ViUGFnZS5oIgogI2luY2x1ZGUgIldlYlJlbmRlckxheWVyLmgiCiAjaW5jbHVkZSAiV2Vi
UmVuZGVyT2JqZWN0LmgiCisjaW5jbHVkZSAiV2ViU3RyaW5nLmgiCiAjaW5jbHVkZSAiV2ViVVJM
LmgiCiAjaW5jbHVkZSAiV2ViVVJMUmVxdWVzdC5oIgogCkBAIC0xNDUsNiArMTUwLDI0IEBAIFdL
QnVuZGxlRnJhbWVSZWYgV0tCdW5kbGVQYWdlR2V0TWFpbkZyYW1lKFdLQnVuZGxlUGFnZVJlZiBw
YWdlUmVmKQogICAgIHJldHVybiB0b0FQSSh0b0ltcGwocGFnZVJlZiktPm1haW5XZWJGcmFtZSgp
KTsKIH0KIAorV0tBcnJheVJlZiBXS0J1bmRsZVBhZ2VDb3B5Q29udGV4dE1lbnVFbnRyaWVzTmFt
ZXMoV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYpCit7CisjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMp
CisgICAgV2ViQ29udGV4dE1lbnUqIGNvbnRleHRNZW51ID0gdG9JbXBsKHBhZ2VSZWYpLT5jb250
ZXh0TWVudSgpOworICAgIFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiBpdGVtcyA9IGNv
bnRleHRNZW51LT5pdGVtcygpOworICAgIE93bkFycmF5UHRyPFdLVHlwZVJlZj4gaXRlbU5hbWVz
ID0gYWRvcHRBcnJheVB0cihuZXcgV0tUeXBlUmVmW2l0ZW1zLnNpemUoKV0pOworICAgIHNpemVf
dCBhcnJheUxlbmd0aCA9IGl0ZW1zLnNpemUoKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8
IGFycmF5TGVuZ3RoOyArK2kpIHsKKyAgICAgICAgUmVmUHRyPFdlYlN0cmluZz4gbmFtZSA9IFdl
YlN0cmluZzo6Y3JlYXRlKGl0ZW1zW2ldLnRpdGxlKCkpOworICAgICAgICBpdGVtTmFtZXNbaV0g
PSB0b0FQSShuYW1lLnJlbGVhc2UoKS5sZWFrUmVmKCkpOworICAgIH0KKworICAgIHJldHVybiBX
S0FycmF5Q3JlYXRlKGl0ZW1OYW1lcy5nZXQoKSwgYXJyYXlMZW5ndGgpOworI2Vsc2UKKyAgICBy
ZXR1cm4gMDsKKyNlbmRpZgorfQorCiB2b2lkKiBXS0FjY2Vzc2liaWxpdHlSb290T2JqZWN0KFdL
QnVuZGxlUGFnZVJlZiBwYWdlUmVmKQogewogI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGVQYWdlUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VQcml2YXRlLmgKaW5kZXggMTFiMjBkYy4uYjRlMGYzMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Yy9XS0J1bmRsZVBhZ2VQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VQcml2YXRlLmgKQEAgLTc3LDYgKzc3LDgg
QEAgV0tfRVhQT1JUIGJvb2wgV0tCdW5kbGVQYWdlQ2FuU2hvd01JTUVUeXBlKFdLQnVuZGxlUGFn
ZVJlZiwgV0tTdHJpbmdSZWYgbWltZVR5cGUKIFdLX0VYUE9SVCB2b2lkKiBXS0FjY2Vzc2liaWxp
dHlSb290T2JqZWN0KFdLQnVuZGxlUGFnZVJlZik7CiBXS19FWFBPUlQgdm9pZCogV0tBY2Nlc3Np
YmlsaXR5Rm9jdXNlZE9iamVjdChXS0J1bmRsZVBhZ2VSZWYpOwogCitXS19FWFBPUlQgV0tBcnJh
eVJlZiBXS0J1bmRsZVBhZ2VDb3B5Q29udGV4dE1lbnVFbnRyaWVzTmFtZXMoV0tCdW5kbGVQYWdl
UmVmIHBhZ2VSZWYpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5jcHAKaW5k
ZXggM2E5MWQ5MC4uM2M4MTBkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuY3BwCkBAIC05NSw2ICs5NSwzMiBAQCB2b2lkIFdl
YkNvbnRleHRNZW51OjppdGVtU2VsZWN0ZWQoY29uc3QgV2ViQ29udGV4dE1lbnVJdGVtRGF0YSYg
aXRlbSkKICAgICBtX3BhZ2UtPmNvcmVQYWdlKCktPmNvbnRleHRNZW51Q29udHJvbGxlcigpLT5j
b250ZXh0TWVudUl0ZW1TZWxlY3RlZCgmY29yZUl0ZW0pOwogfQogCitWZWN0b3I8V2ViQ29udGV4
dE1lbnVJdGVtRGF0YT4gV2ViQ29udGV4dE1lbnU6Oml0ZW1zKCkgY29uc3QKK3sKKyAgICBWZWN0
b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4gcHJvcG9zZWRNZW51OworICAgIENvbnRleHRNZW51
Q29udHJvbGxlciogY29udHJvbGxlciA9IG1fcGFnZS0+Y29yZVBhZ2UoKS0+Y29udGV4dE1lbnVD
b250cm9sbGVyKCk7CisgICAgaWYgKCFjb250cm9sbGVyKQorICAgICAgICByZXR1cm4gcHJvcG9z
ZWRNZW51OworICAgIENvbnRleHRNZW51KiBtZW51ID0gY29udHJvbGxlci0+Y29udGV4dE1lbnUo
KTsKKyAgICBpZiAoIW1lbnUpCisgICAgICAgIHJldHVybiBwcm9wb3NlZE1lbnU7CisKKyAgICAv
LyBHaXZlIHRoZSBidW5kbGUgY2xpZW50IGEgY2hhbmNlIHRvIHByb2Nlc3MgdGhlIG1lbnUuCisj
aWYgVVNFKENST1NTX1BMQVRGT1JNX0NPTlRFWFRfTUVOVVMpCisgICAgY29uc3QgVmVjdG9yPENv
bnRleHRNZW51SXRlbT4mIGNvcmVJdGVtcyA9IG1lbnUtPml0ZW1zKCk7CisjZWxzZQorICAgIFZl
Y3RvcjxDb250ZXh0TWVudUl0ZW0+IGNvcmVJdGVtcyA9IGNvbnRleHRNZW51SXRlbVZlY3Rvciht
ZW51LT5wbGF0Zm9ybURlc2NyaXB0aW9uKCkpOworI2VuZGlmCisgICAgcHJvcG9zZWRNZW51ID0g
a2l0SXRlbXMoY29yZUl0ZW1zLCBtZW51KTsKKyAgICBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVt
RGF0YT4gbmV3TWVudTsKKyAgICBSZWZQdHI8QVBJT2JqZWN0PiB1c2VyRGF0YTsKKyAgICBSZWZQ
dHI8SW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0PiBoaXRUZXN0UmVzdWx0ID0gSW5qZWN0ZWRC
dW5kbGVIaXRUZXN0UmVzdWx0OjpjcmVhdGUoY29udHJvbGxlci0+aGl0VGVzdFJlc3VsdCgpKTsK
KyAgICBpZiAobV9wYWdlLT5pbmplY3RlZEJ1bmRsZUNvbnRleHRNZW51Q2xpZW50KCkuZ2V0Q3Vz
dG9tTWVudUZyb21EZWZhdWx0SXRlbXMobV9wYWdlLCBoaXRUZXN0UmVzdWx0LmdldCgpLCBwcm9w
b3NlZE1lbnUsIG5ld01lbnUsIHVzZXJEYXRhKSkKKyAgICAgICAgcHJvcG9zZWRNZW51ID0gbmV3
TWVudTsKKworICAgIHJldHVybiBwcm9wb3NlZE1lbnU7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdAogCiAjZW5kaWYgLy8gRU5BQkxFKENPTlRFWFRfTUVOVVMpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuaCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5oCmluZGV4IGM4YTVmNWEu
LmRmMDgzZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJDb250ZXh0TWVudS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJDb250ZXh0TWVudS5oCkBAIC00Myw2ICs0Myw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2hv
dygpOwogICAgIHZvaWQgaXRlbVNlbGVjdGVkKGNvbnN0IFdlYkNvbnRleHRNZW51SXRlbURhdGEm
KTsKKyAgICBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4gaXRlbXMoKSBjb25zdDsKIAog
cHJpdmF0ZToKICAgICBXZWJDb250ZXh0TWVudShXZWJQYWdlKik7CmRpZmYgLS1naXQgYS9Ub29s
cy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDkwYTcxZC4uNTAxYzAyMCAxMDA2
NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIyIEBACisyMDEyLTA5LTE0ICBXb2pjaWVjaCBCaWVsYXdza2kgIDx3LmJpZWxhd3NraUBzYW1z
dW5nLmNvbT4KKworICAgICAgICBbV0syXVtXS1RSXSBXZWJLaXRUZXN0UnVubmVyIG5lZWRzIGV2
ZW50U2VuZGVyLmNvbnRleHRDbGljaygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD04Njg4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIGV2ZW50U2VuZGVyIG9iamVjdCBleHRlbmRlZCB3aXRoIGNvbnRleHRD
bGljaygpIG1ldGhvZCBpbiBXZWJLaXRUZXN0UnVubmVyLgorICAgICAgICBjb250ZXh0Q2xpY2so
KSBtZXRob2QgcmV0dXJucyBhbiBhcnJheSBvZiBtZW51IGl0ZW1zIG9iamVjdHMgd2l0aCBmaWVs
ZCAndGl0bGUnIGNvbnRhaW5pbmcgdGl0bGUgb2Ygc2luZ2xlCisgICAgICAgIGNvbnRleHQgbWVu
dSBlbnRyeS4gQWNjb3JkaW5nIHRvIHNvbWUgdGVzdHMgbWVudSBpdGVtcyBvYmplY3RzIHNoYWxs
IGFsc28gc3VwcG9ydCAnY2xpY2soKScgbWV0aG9kLCBidXQgaXQncyBub3QKKyAgICAgICAgZGVs
aXZlcmVkIGluIHRoaXMgcGF0Y2guCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0JpbmRpbmdzL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaWRsOgorICAgICAgICAq
IFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5j
cHA6CisgICAgICAgIChXVFI6OkV2ZW50U2VuZGluZ0NvbnRyb2xsZXI6OmNvbnRleHRDbGljayk6
CisgICAgICAgIChXVFIpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5oOgorICAgICAgICAoRXZlbnRTZW5kaW5nQ29udHJv
bGxlcik6CisKIDIwMTItMTAtMzEgIFRoaWFnbyBNYXJjb3MgUC4gU2FudG9zICA8dGhpYWdvLnNh
bnRvc0BpbnRlbC5jb20+CiAKICAgICAgICAgW1dUUl0gV2ViS2l0VGVzdFJ1bm5lciBpcyBub3Qg
Y2xlYW5pbmcgdXAgdGhlIGljb24gZGF0YWJhc2UKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5p
ZGwgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0V2ZW50
U2VuZGluZ0NvbnRyb2xsZXIuaWRsCmluZGV4IDUyYTdhNWIuLjFkNjJjOWIgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvRXZlbnRTZW5k
aW5nQ29udHJvbGxlci5pZGwKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9CaW5kaW5ncy9FdmVudFNlbmRpbmdDb250cm9sbGVyLmlkbApAQCAtMjksNiArMjksNyBA
QCBpbnRlcmZhY2UgRXZlbnRTZW5kaW5nQ29udHJvbGxlciB7CiAgICAgdm9pZCBtb3VzZU1vdmVU
byhpbiBsb25nIHgsIGluIGxvbmcgeSk7CiAgICAgdm9pZCBtb3VzZVNjcm9sbEJ5KGluIGxvbmcg
eCwgaW4gbG9uZyB5KTsKICAgICB2b2lkIGNvbnRpbnVvdXNNb3VzZVNjcm9sbEJ5KGluIGxvbmcg
eCwgaW4gbG9uZyB5LCBpbiBbT3B0aW9uYWxdIGJvb2xlYW4gcGFnZWQpOworICAgIG9iamVjdCBj
b250ZXh0Q2xpY2soKTsKICAgICB2b2lkIHNjaGVkdWxlQXN5bmNocm9ub3VzQ2xpY2soKTsKIAog
ICAgIHZvaWQgbGVhcEZvcndhcmQoaW4gbG9uZyBtaWxsaXNlY29uZHMpOwpkaWZmIC0tZ2l0IGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9s
bGVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5k
aW5nQ29udHJvbGxlci5jcHAKaW5kZXggYmY2ZDliYy4uZWQ3OWFjNSAxMDA2NDQKLS0tIGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVy
LmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2ZW50U2Vu
ZGluZ0NvbnRyb2xsZXIuY3BwCkBAIC0zMTksNiArMzE5LDM2IEBAIHZvaWQgRXZlbnRTZW5kaW5n
Q29udHJvbGxlcjo6Y29udGludW91c01vdXNlU2Nyb2xsQnkoaW50IHgsIGludCB5LCBib29sIHBh
Z2VkKQogICAgIFdLQnVuZGxlUG9zdFN5bmNocm9ub3VzTWVzc2FnZShJbmplY3RlZEJ1bmRsZTo6
c2hhcmVkKCkuYnVuZGxlKCksIEV2ZW50U2VuZGVyTWVzc2FnZU5hbWUuZ2V0KCksIEV2ZW50U2Vu
ZGVyTWVzc2FnZUJvZHkuZ2V0KCksIDApOwogfQogCitKU1ZhbHVlUmVmIEV2ZW50U2VuZGluZ0Nv
bnRyb2xsZXI6OmNvbnRleHRDbGljaygpCit7CisgICAgV0tCdW5kbGVQYWdlUmVmIHBhZ2UgPSBJ
bmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkucGFnZSgpLT5wYWdlKCk7CisgICAgV0tCdW5kbGVGcmFt
ZVJlZiBtYWluRnJhbWUgPSBXS0J1bmRsZVBhZ2VHZXRNYWluRnJhbWUocGFnZSk7CisgICAgSlND
b250ZXh0UmVmIGNvbnRleHQgPSBXS0J1bmRsZUZyYW1lR2V0SmF2YVNjcmlwdENvbnRleHQobWFp
bkZyYW1lKTsKKyNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKKyAgICAvLyBEbyBtb3VzZSBjb250
ZXh0IGNsaWNrLgorICAgIG1vdXNlRG93bigyLCAwKTsKKyAgICBtb3VzZVVwKDIsIDApOworCisg
ICAgV0tSZXRhaW5QdHI8V0tBcnJheVJlZj4gZW50cmllc05hbWVzID0gYWRvcHRXSyhXS0J1bmRs
ZVBhZ2VDb3B5Q29udGV4dE1lbnVFbnRyaWVzTmFtZXMocGFnZSkpOworICAgIEpTUmV0YWluUHRy
PEpTU3RyaW5nUmVmPiBqc1Byb3BlcnR5TmFtZShBZG9wdCwgSlNTdHJpbmdDcmVhdGVXaXRoVVRG
OENTdHJpbmcoInRpdGxlIikpOworICAgIHNpemVfdCBlbnRyaWVzU2l6ZSA9IFdLQXJyYXlHZXRT
aXplKGVudHJpZXNOYW1lcy5nZXQoKSk7CisgICAgT3duQXJyYXlQdHI8SlNWYWx1ZVJlZj4ganNW
YWx1ZXNBcnJheSA9IGFkb3B0QXJyYXlQdHIobmV3IEpTVmFsdWVSZWZbZW50cmllc1NpemVdKTsK
KyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGVudHJpZXNTaXplOyArK2kpIHsKKyAgICAgICAg
QVNTRVJUKFdLR2V0VHlwZUlEKFdLQXJyYXlHZXRJdGVtQXRJbmRleChlbnRyaWVzTmFtZXMuZ2V0
KCksIGkpKSA9PSBXS1N0cmluZ0dldFR5cGVJRCgpKTsKKyAgICAgICAgV0tTdHJpbmdSZWYgd2tF
bnRyeU5hbWUgPSBzdGF0aWNfY2FzdDxXS1N0cmluZ1JlZj4oV0tBcnJheUdldEl0ZW1BdEluZGV4
KGVudHJpZXNOYW1lcy5nZXQoKSwgaSkpOworICAgICAgICBKU09iamVjdFJlZiBqc0l0ZW1PYmpl
Y3QgPSBKU09iamVjdE1ha2UoY29udGV4dCwgMCwgMCk7CisgICAgICAgIEpTUmV0YWluUHRyPEpT
U3RyaW5nUmVmPiBqc05hbWVDb3B5KEFkb3B0LCBXS1N0cmluZ0NvcHlKU1N0cmluZyh3a0VudHJ5
TmFtZSkpOworICAgICAgICBKU1ZhbHVlUmVmIGpzRW50cnlOYW1lID0gSlNWYWx1ZU1ha2VTdHJp
bmcoY29udGV4dCwganNOYW1lQ29weS5nZXQoKSk7CisgICAgICAgIEpTT2JqZWN0U2V0UHJvcGVy
dHkoY29udGV4dCwganNJdGVtT2JqZWN0LCBqc1Byb3BlcnR5TmFtZS5nZXQoKSwganNFbnRyeU5h
bWUsIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHksIDApOworICAgICAgICBqc1ZhbHVlc0Fy
cmF5W2ldID0ganNJdGVtT2JqZWN0OworICAgIH0KKworICAgIHJldHVybiBKU09iamVjdE1ha2VB
cnJheShjb250ZXh0LCBlbnRyaWVzU2l6ZSwganNWYWx1ZXNBcnJheS5nZXQoKSwgMCk7CisjZWxz
ZQorICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKKyNlbmRpZgorfQor
CiAjaWZkZWYgVVNFX1dFQlBST0NFU1NfRVZFTlRfU0lNVUxBVElPTgogdm9pZCBFdmVudFNlbmRp
bmdDb250cm9sbGVyOjp1cGRhdGVDbGlja0NvdW50KFdLRXZlbnRNb3VzZUJ1dHRvbiBidXR0b24p
CiB7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2
ZW50U2VuZGluZ0NvbnRyb2xsZXIuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5oCmluZGV4IDQxM2I5MWMuLjY5YzU0ZjkgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5k
aW5nQ29udHJvbGxlci5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5oCkBAIC01Miw2ICs1Miw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIG1vdXNlTW92ZVRvKGludCB4LCBpbnQgeSk7CiAgICAgdm9pZCBtb3VzZVNjcm9sbEJ5
KGludCB4LCBpbnQgeSk7CiAgICAgdm9pZCBjb250aW51b3VzTW91c2VTY3JvbGxCeShpbnQgeCwg
aW50IHksIGJvb2wgcGFnZWQpOworICAgIEpTVmFsdWVSZWYgY29udGV4dENsaWNrKCk7CiAgICAg
dm9pZCBsZWFwRm9yd2FyZChpbnQgbWlsbGlzZWNvbmRzKTsKICAgICB2b2lkIHNjaGVkdWxlQXN5
bmNocm9ub3VzQ2xpY2soKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174396</attachid>
            <date>2012-11-15 03:45:11 -0800</date>
            <delta_ts>2012-11-15 05:28:37 -0800</delta_ts>
            <desc>eventSender.contextClick() method partially implemented.</desc>
            <filename>contextClick.patch</filename>
            <type>text/plain</type>
            <size>19427</size>
            <attacher name="Wojciech Bielawski">w.bielawski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxYTJlYTFkLi41NDRkMWQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMTEt
MTMgIFdvamNpZWNoIEJpZWxhd3NraSAgPHcuYmllbGF3c2tpQHNhbXN1bmcuY29tPgorCisgICAg
ICAgIFtXSzJdW1dLVFJdIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgZXZlbnRTZW5kZXIuY29udGV4
dENsaWNrKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTg2ODgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgZXhwZWN0ZWQgcmVzdWx0cyBmb3IgdHdvIHRlc3RzIGZvciBFRkwgcGxhdGZvcm0uIFRl
c3QgZXhwZWN0YXRpb25zIGNoYW5nZWQKKyAgICAgICAgZm9yIEVGTCBXSzEvV0syIGFuZCBHVEsg
cGxhdGZvcm1zCisKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9uczoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9lZmwtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxh
dGZvcm0vZWZsLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL2drdC13
azIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvZWRpdGluZy9zZWxl
Y3Rpb24vNTM1NDQ1NS0yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvZWRp
dGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vZWZsL2Zhc3QvZXZlbnRzL2NvbnRleHQtbm8tZGVzZWxlY3QtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKwogMjAxMi0xMS0xMiAgU2hpbnlhIEthd2FuYWthICA8c2hpbnlha0BjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgQ2hhbmdpbmcgaWQsIGNsYXNzTmFtZSwgb3IgYXR0cmlidXRlIHNo
b3VsZCBpbnZhbGlkYXRlIGRpc3RyaWJ1dGlvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZWZsLXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZs
LXdrMS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDdmMjNjZTcuLjJiYmYzYjIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC13azEvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9lZmwtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI1MSwzICsyNTEs
OSBAQCB3ZWJraXQub3JnL2IvOTg1MjMgZmFzdC9pbWFnZXMvcmVwYWludC1zdWJyZWN0LWdyaWQu
aHRtbCBbIEZhaWx1cmUgXQogCiAjIERSVCBuZWVkcyBhIHNldHRpbmcgZm9yIHNldFNob3VsZFJl
c3BlY3RJbWFnZU9yaWVudGF0aW9uCiB3ZWJraXQub3JnL2IvMTAxMjEwIGZhc3QvaW1hZ2VzL2V4
aWYtb3JpZW50YXRpb24uaHRtbCBbIEZhaWx1cmUgXQorCisjIEVTQyBrZXkgZG9lcyBub3QgY2Fu
Y2VsIGNvbnRleHQgbWVudSBpbiBFRkwgcG9ydAorQnVnKEVGTCkgZWRpdGluZy9zZWxlY3Rpb24v
NTM1NDQ1NS0xLmh0bWwgWyBGYWlsdXJlIF0KKworIyBTZWxlY3Rpb24gZG9lc24ndCB3b3JrIHBy
b3Blcmx5LgorQnVnKEVGTCkgZWRpdGluZy9zcGVsbGluZy9jb250ZXh0LW1lbnUtc3VnZ2VzdGlv
bnMuaHRtbCBbIEZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZs
LXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsLXdrMi9UZXN0
RXhwZWN0YXRpb25zCmluZGV4IDA0YjY1MDYuLmI5Yjc1YWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2VmbC13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9lZmwtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI3NywyMCArMjc3LDYgQEAgd2Vi
a2l0Lm9yZy9iLzk5NTYyIGh0dHAvdGVzdHMvcGx1Z2lucy9wb3N0LXVybC1maWxlLmh0bWwgWyBG
YWlsdXJlIF0KICMgQ29tcGFyaXNvbiBvZiB0d28gamF2YXNjcmlwdCBvYmplY3RzIGluIEMrKyBp
cyBmYWlsaW5nLgogd2Via2l0Lm9yZy9iLzk4NzM5IHBsdWdpbnMvbnBydW50aW1lL2VtYmVkLXBy
b3BlcnR5LWVxdWFsaXR5Lmh0bWwgWyBGYWlsdXJlIF0KIAotIyBXZWJLaXRUZXN0UnVubmVyIG5l
ZWRzIGFuIGltcGxlbWVudGF0aW9uIGZvciBldmVudFNlbmRlci5jb250ZXh0Q2xpY2sKLXdlYmtp
dC5vcmcvYi84Njg4MSBlZGl0aW5nL3Bhc3RlYm9hcmQvY29weS1zdGFuZGFsb25lLWltYWdlLWNy
YXNoLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84Njg4MSBlZGl0aW5nL3NlbGVjdGlv
bi81MzU0NDU1LTEuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2ODgxIGVkaXRpbmcv
c2VsZWN0aW9uLzUzNTQ0NTUtMi5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODY4ODEg
ZWRpdGluZy9zZWxlY3Rpb24vYnV0dG9uLXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0KLXdl
YmtpdC5vcmcvYi84Njg4MSBlZGl0aW5nL3NlbGVjdGlvbi9jb250ZXh0LW1lbnUtb24tdGV4dC5o
dG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODY4ODEgZWRpdGluZy9zZWxlY3Rpb24vY29u
dGV4dC1tZW51LXRleHQtc2VsZWN0aW9uLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84
Njg4MSBlZGl0aW5nL3NlbGVjdGlvbi9lbXB0eS1jZWxsLXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWls
dXJlIF0KLXdlYmtpdC5vcmcvYi84Njg4MSBlZGl0aW5nL3NoYWRvdy9yaWdodGNsaWNrLW9uLW1l
dGVyLWluLXNoYWRvdy1jcmFzaC5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODY4ODEg
ZWRpdGluZy9zcGVsbGluZy9jb250ZXh0LW1lbnUtc3VnZ2VzdGlvbnMuaHRtbCBbIEZhaWx1cmUg
XQotd2Via2l0Lm9yZy9iLzg2ODgxIGZhc3QvZXZlbnRzL2NvbnRleHQtbm8tZGVzZWxlY3QuaHRt
bCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2ODgxIGZhc3QvZXZlbnRzL2NvbnRleHQtb25t
b3VzZWRvd24tZXZlbnQuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2ODgxIGZhc3Qv
ZXZlbnRzL2NvbnRleHRtZW51LXNjcm9sbGVkLXBhZ2Utd2l0aC1mcmFtZS5odG1sIFsgRmFpbHVy
ZSBdCi13ZWJraXQub3JnL2IvODY4ODEgZmFzdC9ldmVudHMvcmlnaHQtY2xpY2stZm9jdXMuaHRt
bCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2ODgxIGZhc3QvZXZlbnRzL3NlbGVjdHN0YXJ0
LXByZXZlbnQtc2VsZWN0aW9uLW9uLXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtp
dC5vcmcvYi84Njg4MSBtZWRpYS9jb250ZXh0LW1lbnUtYWN0aW9ucy5odG1sIFsgRmFpbHVyZSBd
Ci13ZWJraXQub3JnL2IvODY4ODEgbWVkaWEvY29udHJvbHMtcmlnaHQtY2xpY2stb24tdGltZWJh
ci5odG1sIFsgRmFpbHVyZSBdCisjIEVGTCdzIEV2ZW50U2VuZGVyIGNvbnRleHRDbGljayBzaG91
bGQgcmV0dXJuIG9iamVjdHMgdGhhdCBpbXBsZW1lbnRzIGNsaWNrKCkgbWV0aG9kCit3ZWJraXQu
b3JnL2IvOTg0MTAgZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktc3RhbmRhbG9uZS1pbWFnZS1jcmFz
aC5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvOTg0MTAgbWVkaWEvY29udGV4dC1tZW51
LWFjdGlvbnMuaHRtbCBbIEZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4
cGVjdGF0aW9ucwppbmRleCA0M2QwNmJkLi41OTMyOTI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9lZmwvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTU4Nyw5ICsxNTg3LDYgQEAgd2Via2l0Lm9yZy9i
LzEwMDQyNCBlZGl0aW5nL3NlbGVjdGlvbi91c2VyLXNlbGVjdC1hbGwtc2VsZWN0aW9uLmh0bWwg
WyBGYWlsdXJlIF0KICMgRW50ZXJpbmcgaW50byBmdWxsIHNjcmVlbiBwbGF5YmFjayBtb2RlIGZh
aWxzIHdoZW4gdHJpZ2dlcmVkIGJ5IGNvbnRleHQgbWVudQogQnVnKEVGTCkgbWVkaWEvY29udGV4
dC1tZW51LWFjdGlvbnMuaHRtbCBbIEZhaWx1cmUgXQogCi0jIEVTQyBrZXkgZG9lcyBub3QgY2Fu
Y2VsIGNvbnRleHQgbWVudSBpbiBFRkwgcG9ydAotQnVnKEVGTCkgZWRpdGluZy9zZWxlY3Rpb24v
NTM1NDQ1NS0xLmh0bWwgWyBGYWlsdXJlIF0KLQogIyBSZWdyZXNzaW9uIGZyb20gcjEzMzg5OAog
QnVnKEVGTCkgYW5pbWF0aW9ucy8zZC9jaGFuZ2UtdHJhbnNmb3JtLWluLWVuZC1ldmVudC5odG1s
IFsgTWlzc2luZyBdCiBCdWcoRUZMKSBhbmltYXRpb25zLzNkL21hdHJpeC10cmFuc2Zvcm0tdHlw
ZS1hbmltYXRpb24uaHRtbCBbIE1pc3NpbmcgXQpAQCAtMTcwMiwzICsxNjk5LDkgQEAgd2Via2l0
Lm9yZy9iLzEwMTQ1NiBmYXN0L3JlcGFpbnQvYmxvY2stc2VsZWN0aW9uLWdhcC1pbi10YWJsZS1j
ZWxsLmh0bWwgWyBJbWFnZU8KIAogIyBJZGVudGljYWwgZmFpbHVyZXMgb24gR1RLLCBFRkwgYW5k
IFF0Lgogd2Via2l0Lm9yZy9iLzEwMTUzOSBlZGl0aW5nL2V4ZWNDb21tYW5kL3N3aXRjaC1saXN0
LXR5cGUtd2l0aC1vcnBoYW5lZC1saS5odG1sIFsgRmFpbHVyZSBdCisKKyMgU3RhcnQgb2YgbWVk
aWEgcGxheWVyIGNhdXNlcyB0aW1lb3V0LgorQnVnKEVGTCkgbWVkaWEvY29udHJvbHMtcmlnaHQt
Y2xpY2stb24tdGltZWJhci5odG1sIFsgRmFpbHVyZSBdCisKKyMgU2VsZWN0aW9uIGRvZXNuJ3Qg
d29yayBwcm9wZXJseS4KK0J1ZyhFRkwpIGVkaXRpbmcvc3BlbGxpbmcvY29udGV4dC1tZW51LXN1
Z2dlc3Rpb25zLmh0bWwgWyBGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay13
azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBmYjY1YTIxLi5iZDY5YzY2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGstd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrLXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMzIsMTkgKzEzMiw2
IEBAIEJ1ZyhHVEspIGVkaXRpbmcvc2VsZWN0aW9uL2V4dGVuZC1hZnRlci1tb3VzZS1zZWxlY3Rp
b24uaHRtbCBbIEZhaWx1cmUgXQogIyBXZWJLaXQyIG5lZWRzIHRleHRJbnB1dENvbnRyb2xsZXIu
c2VsZWN0ZWRSYW5nZQogQnVnKEdUSykgZWRpdGluZy9zZWxlY3Rpb24vbWl4ZWQtZWRpdGFiaWxp
dHktMTAuaHRtbCBbIEZhaWx1cmUgXQogCi0jIEltcGxlbWVudCBldmVudFNlbmRlci5jb250ZXh0
Q2xpY2sKLUJ1ZyhHVEspIGVkaXRpbmcvcGFzdGVib2FyZC9jb3B5LXN0YW5kYWxvbmUtaW1hZ2Ut
Y3Jhc2guaHRtbCBbIEZhaWx1cmUgXQotQnVnKEdUSykgZWRpdGluZy9zZWxlY3Rpb24vZW1wdHkt
Y2VsbC1yaWdodC1jbGljay5odG1sIFsgRmFpbHVyZSBdCi1CdWcoR1RLKSBlZGl0aW5nL3NlbGVj
dGlvbi9idXR0b24tcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1cmUgXQotQnVnKEdUSykgZWRpdGlu
Zy9zZWxlY3Rpb24vY29udGV4dC1tZW51LW9uLXRleHQuaHRtbCBbIEZhaWx1cmUgXQotQnVnKEdU
SykgZWRpdGluZy9zZWxlY3Rpb24vZW1wdHktY2VsbC1yaWdodC1jbGljay5odG1sIFsgRmFpbHVy
ZSBdCi1CdWcoR1RLKSBmYXN0L2V2ZW50cy9zZWxlY3RzdGFydC1wcmV2ZW50LXNlbGVjdGlvbi1v
bi1yaWdodC1jbGljay5odG1sIFsgRmFpbHVyZSBdCi1CdWcoR1RLKSBmYXN0L2V2ZW50cy9jb250
ZXh0LW5vLWRlc2VsZWN0Lmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhHVEspIGZhc3QvZXZlbnRzL2Nv
bnRleHRtZW51LXNjcm9sbGVkLXBhZ2Utd2l0aC1mcmFtZS5odG1sIFsgRmFpbHVyZSBdCi1CdWco
R1RLKSBmYXN0L2V2ZW50cy9jb250ZXh0LW9ubW91c2Vkb3duLWV2ZW50Lmh0bWwgWyBGYWlsdXJl
IF0KLUJ1ZyhHVEspIG1lZGlhL2NvbnRyb2xzLXJpZ2h0LWNsaWNrLW9uLXRpbWViYXIuaHRtbCBb
IEZhaWx1cmUgXQotQnVnKEdUSykgc3ZnL2N1c3RvbS91c2UtZXZlbnRzLWNyYXNoLnN2ZyBbIEZh
aWx1cmUgXQotCiAjIEltcGxlbWVudCBQYWdlQ2xpZW50SW1wbDo6cmVnaXN0ZXJFZGl0Q29tbWFu
ZCBhbmQgaGFuZGxpbmcgY29tbWFuZHMgZnVuY3Rpb25zCiBCdWcoR1RLKSBlZGl0aW5nL2RlbGV0
aW5nL2RlbGV0ZS1ieS13b3JkLTAwMi5odG1sIFsgRmFpbHVyZSBdCiBCdWcoR1RLKSBlZGl0aW5n
L2RlbGV0aW5nL2RlbGV0ZS1hbmQtdW5kby5odG1sIFsgRmFpbHVyZSBdCkBAIC01ODksMyArNTc2
LDI1IEBAIHdlYmtpdC5vcmcvYi85ODUyNyBodHRwL3Rlc3RzL2xvYWRpbmcvdGV4dC1jb250ZW50
LXR5cGUtd2l0aC1iaW5hcnktZXh0ZW5zaW9uLmh0CiAjIEVuZCBvZiBUZXN0cyB3b3JraW5nIGlu
IFdLMiBhbmQgZmFpbGluZyBpbiBXSzEKICMvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
CiAKKworIyBTZWxlY3Rpb24gZG9lc24ndCB3b3JrIHByb3Blcmx5LgorQnVnKEdUSykgZWRpdGlu
Zy9zZWxlY3Rpb24vY29udGV4dC1tZW51LXRleHQtc2VsZWN0aW9uLmh0bWwgWyBGYWlsdXJlIFBh
c3MgXQorQnVnKEdUSykgZWRpdGluZy9zZWxlY3Rpb24vZW1wdHktY2VsbC1yaWdodC1jbGljay5o
dG1sIFsgRmFpbHVyZSBdCitCdWcoR1RLKSBlZGl0aW5nL3NwZWxsaW5nL2NvbnRleHQtbWVudS1z
dWdnZXN0aW9ucy5odG1sIFsgRmFpbHVyZSBdCisKKyMgRXZlbnRTZW5kZXIncyBjb250ZXh0Q2xp
Y2sgc2hvdWxkIHJldHVybiBvYmplY3RzIHRoYXQgaW1wbGVtZW50cyBjbGljaygpIG1ldGhvZAor
d2Via2l0Lm9yZy9iLzk4NDEwIGVkaXRpbmcvcGFzdGVib2FyZC9jb3B5LXN0YW5kYWxvbmUtaW1h
Z2UtY3Jhc2guaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzk4NDEwIG1lZGlhL2NvbnRl
eHQtbWVudS1hY3Rpb25zLmh0bWwgWyBGYWlsdXJlIF0KKworIyBBbiBvbmNvbnRleHRtZW51IGF0
dHJpYnV0ZSBpcyBub3QgY2FsbGVkLgorQnVnKEdUSykgZWRpdGluZy9zcGVsbGluZy9zcGVsbGNo
ZWNrLWlucHV0LXNlYXJjaC1jcmFzaC5odG1sIFsgRmFpbHVyZSBdCitCdWcoR1RLKSBmYXN0L2V2
ZW50cy9jb250ZXh0bWVudS1zY3JvbGxlZC1wYWdlLXdpdGgtZnJhbWUuaHRtbCBbIEZhaWx1cmUg
XQorCisjIEFuIG9ubW91c2Vkb3duIGF0dHJpYnV0ZSBpcyBub3QgY2FsbGVkLgorQnVnKEdUSykg
ZmFzdC9ldmVudHMvY29udGV4dC1vbm1vdXNlZG93bi1ldmVudC5odG1sIFsgRmFpbHVyZSBdCisK
KyMgQW4gb25zZWxlY3RzdGFydCBhdHRyaWJ1dGUgaXMgbm90IGNhbGxlZC4KK0J1ZyhHVEspIGZh
c3QvZXZlbnRzL3NlbGVjdHN0YXJ0LXByZXZlbnQtc2VsZWN0aW9uLW9uLXJpZ2h0LWNsaWNrLmh0
bWwgWyBGYWlsdXJlIF0KKworIyBTdGFydCBvZiBtZWRpYSBwbGF5ZXIgY2F1c2VzIHRpbWVvdXQK
K0J1ZyhHVEspIG1lZGlhL2NvbnRyb2xzLXJpZ2h0LWNsaWNrLW9uLXRpbWViYXIuaHRtbCBbIEZh
aWx1cmUgXQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCmluZGV4IDZjODQxNDEuLmIzOWQ4MGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAxMi0xMS0xMyAgV29qY2llY2ggQmllbGF3c2tpICA8dy5iaWVsYXdza2lA
c2Ftc3VuZy5jb20+CisKKyAgICAgICAgW1dLMl1bV0tUUl0gV2ViS2l0VGVzdFJ1bm5lciBuZWVk
cyBldmVudFNlbmRlci5jb250ZXh0Q2xpY2soKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODY4ODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBJbmplY3RlZEJ1bmRsZSBBUEkgZXh0ZW5kZWQgdG8gcmV0cmll
dmUgY29udGV4dE1lbnUgZW50cmllcyBuYW1lcy4KKyAgICAgICAgV2ViQ29udGV4dE1lbnUgZXh0
ZWRlZCB3aXRoIGZ1bmN0aW9uIHRvIHJldHJpZXZlIG1lbnUgaXRlbXMuCisgICAgICAgIFRoaXMg
QVBJIGlzIHJlcXVpcmVkIGJ5IGxheW91dCB0ZXN0cy4KKworICAgICAgICAqIFdlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcDoKKyAgICAgICAgKFdLQnVuZGxl
UGFnZUdldENvbnRleHRNZW51RW50cmllc05hbWVzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJDb250ZXh0TWVudS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHRN
ZW51OjppdGVtcyk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJDb250ZXh0TWVudS5oOgorICAgICAgICAoV2ViQ29udGV4dE1lbnUpOgorCiAyMDEy
LTExLTEzICBIdWFuZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgogCiAgICAg
ICAgIENvb3JkaW5hdGVkIEdyYXBoaWNzOiBEaXJlY3RseSBjb21wb3NpdGVkIGFuaW1hdGVkIEdJ
RnMgb25seSByZW5kZXIgdGhlIGZpcnN0IGltYWdlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2Uu
Y3BwCmluZGV4IDUzZGRmNjEuLjA3MjcxYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5j
cHAKQEAgLTMwLDEzICszMCwxOCBAQAogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlQmFja0Zvcndh
cmRMaXN0LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlLmgiCiAjaW5jbHVk
ZSAiV0tBUElDYXN0LmgiCisjaW5jbHVkZSAiV0tBcnJheS5oIgogI2luY2x1ZGUgIldLQnVuZGxl
QVBJQ2FzdC5oIgorI2luY2x1ZGUgIldLUmV0YWluUHRyLmgiCisjaW5jbHVkZSAiV2ViQ29udGV4
dE1lbnUuaCIKKyNpbmNsdWRlICJXZWJDb250ZXh0TWVudUl0ZW0uaCIKICNpbmNsdWRlICJXZWJG
cmFtZS5oIgogI2luY2x1ZGUgIldlYkZ1bGxTY3JlZW5NYW5hZ2VyLmgiCiAjaW5jbHVkZSAiV2Vi
SW1hZ2UuaCIKICNpbmNsdWRlICJXZWJQYWdlLmgiCiAjaW5jbHVkZSAiV2ViUmVuZGVyTGF5ZXIu
aCIKICNpbmNsdWRlICJXZWJSZW5kZXJPYmplY3QuaCIKKyNpbmNsdWRlICJXZWJTdHJpbmcuaCIK
ICNpbmNsdWRlICJXZWJVUkwuaCIKICNpbmNsdWRlICJXZWJVUkxSZXF1ZXN0LmgiCiAKQEAgLTE0
NSw2ICsxNTAsMjQgQEAgV0tCdW5kbGVGcmFtZVJlZiBXS0J1bmRsZVBhZ2VHZXRNYWluRnJhbWUo
V0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYpCiAgICAgcmV0dXJuIHRvQVBJKHRvSW1wbChwYWdlUmVm
KS0+bWFpbldlYkZyYW1lKCkpOwogfQogCitXS0FycmF5UmVmIFdLQnVuZGxlUGFnZUNvcHlDb250
ZXh0TWVudUl0ZW1UaXRsZXMoV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYpCit7CisjaWYgRU5BQkxF
KENPTlRFWFRfTUVOVVMpCisgICAgV2ViQ29udGV4dE1lbnUqIGNvbnRleHRNZW51ID0gdG9JbXBs
KHBhZ2VSZWYpLT5jb250ZXh0TWVudSgpOworICAgIFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1E
YXRhPiBpdGVtcyA9IGNvbnRleHRNZW51LT5pdGVtcygpOworICAgIE93bkFycmF5UHRyPFdLVHlw
ZVJlZj4gaXRlbU5hbWVzID0gYWRvcHRBcnJheVB0cihuZXcgV0tUeXBlUmVmW2l0ZW1zLnNpemUo
KV0pOworICAgIHNpemVfdCBhcnJheUxlbmd0aCA9IGl0ZW1zLnNpemUoKTsKKyAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8IGFycmF5TGVuZ3RoOyArK2kpIHsKKyAgICAgICAgUmVmUHRyPFdlYlN0
cmluZz4gbmFtZSA9IFdlYlN0cmluZzo6Y3JlYXRlKGl0ZW1zW2ldLnRpdGxlKCkpOworICAgICAg
ICBpdGVtTmFtZXNbaV0gPSB0b0FQSShuYW1lLnJlbGVhc2UoKS5sZWFrUmVmKCkpOworICAgIH0K
KworICAgIHJldHVybiBXS0FycmF5Q3JlYXRlKGl0ZW1OYW1lcy5nZXQoKSwgYXJyYXlMZW5ndGgp
OworI2Vsc2UKKyAgICByZXR1cm4gMDsKKyNlbmRpZgorfQorCiB2b2lkKiBXS0FjY2Vzc2liaWxp
dHlSb290T2JqZWN0KFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVmKQogewogI2lmIEhBVkUoQUNDRVNT
SUJJTElUWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VQcml2YXRlLmgKaW5kZXggMTFi
MjBkYy4uZDc2OWZiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VQcml2YXRlLmgK
QEAgLTc3LDYgKzc3LDggQEAgV0tfRVhQT1JUIGJvb2wgV0tCdW5kbGVQYWdlQ2FuU2hvd01JTUVU
eXBlKFdLQnVuZGxlUGFnZVJlZiwgV0tTdHJpbmdSZWYgbWltZVR5cGUKIFdLX0VYUE9SVCB2b2lk
KiBXS0FjY2Vzc2liaWxpdHlSb290T2JqZWN0KFdLQnVuZGxlUGFnZVJlZik7CiBXS19FWFBPUlQg
dm9pZCogV0tBY2Nlc3NpYmlsaXR5Rm9jdXNlZE9iamVjdChXS0J1bmRsZVBhZ2VSZWYpOwogCitX
S19FWFBPUlQgV0tBcnJheVJlZiBXS0J1bmRsZVBhZ2VDb3B5Q29udGV4dE1lbnVJdGVtVGl0bGVz
KFdLQnVuZGxlUGFnZVJlZik7CisKICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUu
Y3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmNw
cAppbmRleCAzYTkxZDkwLi4wNjJiNWEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5jcHAKQEAgLTY5LDYgKzY5LDMyIEBAIHZv
aWQgV2ViQ29udGV4dE1lbnU6OnNob3coKQogICAgIGlmICghdmlldykKICAgICAgICAgcmV0dXJu
OwogCisgICAgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+IG1lbnVJdGVtczsKKyAgICBS
ZWZQdHI8QVBJT2JqZWN0PiB1c2VyRGF0YTsKKyAgICBtZW51SXRlbXNXaXRoVXNlckRhdGEobWVu
dUl0ZW1zLCB1c2VyRGF0YSk7CisgICAgV2ViSGl0VGVzdFJlc3VsdDo6RGF0YSB3ZWJIaXRUZXN0
UmVzdWx0RGF0YShjb250cm9sbGVyLT5oaXRUZXN0UmVzdWx0KCkpOworCisgICAgLy8gTWFyayB0
aGUgV2ViUGFnZSBoYXMgaGF2aW5nIGEgc2hvd24gY29udGV4dCBtZW51IHRoZW4gbm90aWZ5IHRo
ZSBVSVByb2Nlc3MuCisgICAgbV9wYWdlLT5jb250ZXh0TWVudVNob3dpbmcoKTsKKyAgICBtX3Bh
Z2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2hvd0NvbnRleHRNZW51KHZpZXctPmNv
bnRlbnRzVG9XaW5kb3coY29udHJvbGxlci0+aGl0VGVzdFJlc3VsdCgpLnJvdW5kZWRQb2ludCgp
KSwgd2ViSGl0VGVzdFJlc3VsdERhdGEsIG1lbnVJdGVtcywgSW5qZWN0ZWRCdW5kbGVVc2VyTWVz
c2FnZUVuY29kZXIodXNlckRhdGEuZ2V0KCkpKSk7Cit9CisKK3ZvaWQgV2ViQ29udGV4dE1lbnU6
Oml0ZW1TZWxlY3RlZChjb25zdCBXZWJDb250ZXh0TWVudUl0ZW1EYXRhJiBpdGVtKQoreworICAg
IENvbnRleHRNZW51SXRlbSBjb3JlSXRlbShBY3Rpb25UeXBlLCBzdGF0aWNfY2FzdDxDb250ZXh0
TWVudUFjdGlvbj4oaXRlbS5hY3Rpb24oKSksIGl0ZW0udGl0bGUoKSk7CisgICAgbV9wYWdlLT5j
b3JlUGFnZSgpLT5jb250ZXh0TWVudUNvbnRyb2xsZXIoKS0+Y29udGV4dE1lbnVJdGVtU2VsZWN0
ZWQoJmNvcmVJdGVtKTsKK30KKwordm9pZCBXZWJDb250ZXh0TWVudTo6bWVudUl0ZW1zV2l0aFVz
ZXJEYXRhKFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiAmbWVudUl0ZW1zLCBSZWZQdHI8
QVBJT2JqZWN0PiYgdXNlckRhdGEpCit7CisgICAgQ29udGV4dE1lbnVDb250cm9sbGVyKiBjb250
cm9sbGVyID0gbV9wYWdlLT5jb3JlUGFnZSgpLT5jb250ZXh0TWVudUNvbnRyb2xsZXIoKTsKKyAg
ICBpZiAoIWNvbnRyb2xsZXIpCisgICAgICAgIHJldHVybjsKKworICAgIENvbnRleHRNZW51KiBt
ZW51ID0gY29udHJvbGxlci0+Y29udGV4dE1lbnUoKTsKKyAgICBpZiAoIW1lbnUpCisgICAgICAg
IHJldHVybjsKKwogICAgIC8vIEdpdmUgdGhlIGJ1bmRsZSBjbGllbnQgYSBjaGFuY2UgdG8gcHJv
Y2VzcyB0aGUgbWVudS4KICNpZiBVU0UoQ1JPU1NfUExBVEZPUk1fQ09OVEVYVF9NRU5VUykKICAg
ICBjb25zdCBWZWN0b3I8Q29udGV4dE1lbnVJdGVtPiYgY29yZUl0ZW1zID0gbWVudS0+aXRlbXMo
KTsKQEAgLTc3LDIyICsxMDMsMTggQEAgdm9pZCBXZWJDb250ZXh0TWVudTo6c2hvdygpCiAjZW5k
aWYKICAgICBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4gcHJvcG9zZWRNZW51ID0ga2l0
SXRlbXMoY29yZUl0ZW1zLCBtZW51KTsKICAgICBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0
YT4gbmV3TWVudTsKLSAgICBSZWZQdHI8QVBJT2JqZWN0PiB1c2VyRGF0YTsKICAgICBSZWZQdHI8
SW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0PiBoaXRUZXN0UmVzdWx0ID0gSW5qZWN0ZWRCdW5k
bGVIaXRUZXN0UmVzdWx0OjpjcmVhdGUoY29udHJvbGxlci0+aGl0VGVzdFJlc3VsdCgpKTsKICAg
ICBpZiAobV9wYWdlLT5pbmplY3RlZEJ1bmRsZUNvbnRleHRNZW51Q2xpZW50KCkuZ2V0Q3VzdG9t
TWVudUZyb21EZWZhdWx0SXRlbXMobV9wYWdlLCBoaXRUZXN0UmVzdWx0LmdldCgpLCBwcm9wb3Nl
ZE1lbnUsIG5ld01lbnUsIHVzZXJEYXRhKSkKICAgICAgICAgcHJvcG9zZWRNZW51ID0gbmV3TWVu
dTsKLQotICAgIFdlYkhpdFRlc3RSZXN1bHQ6OkRhdGEgd2ViSGl0VGVzdFJlc3VsdERhdGEoY29u
dHJvbGxlci0+aGl0VGVzdFJlc3VsdCgpKTsKLQotICAgIC8vIE1hcmsgdGhlIFdlYlBhZ2UgaGFz
IGhhdmluZyBhIHNob3duIGNvbnRleHQgbWVudSB0aGVuIG5vdGlmeSB0aGUgVUlQcm9jZXNzLgot
ICAgIG1fcGFnZS0+Y29udGV4dE1lbnVTaG93aW5nKCk7Ci0gICAgbV9wYWdlLT5zZW5kKE1lc3Nh
Z2VzOjpXZWJQYWdlUHJveHk6OlNob3dDb250ZXh0TWVudSh2aWV3LT5jb250ZW50c1RvV2luZG93
KGNvbnRyb2xsZXItPmhpdFRlc3RSZXN1bHQoKS5yb3VuZGVkUG9pbnQoKSksIHdlYkhpdFRlc3RS
ZXN1bHREYXRhLCBwcm9wb3NlZE1lbnUsIEluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVy
KHVzZXJEYXRhLmdldCgpKSkpOworICAgIG1lbnVJdGVtcyA9IHByb3Bvc2VkTWVudTsKIH0KIAot
dm9pZCBXZWJDb250ZXh0TWVudTo6aXRlbVNlbGVjdGVkKGNvbnN0IFdlYkNvbnRleHRNZW51SXRl
bURhdGEmIGl0ZW0pCitWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4gV2ViQ29udGV4dE1l
bnU6Oml0ZW1zKCkKIHsKLSAgICBDb250ZXh0TWVudUl0ZW0gY29yZUl0ZW0oQWN0aW9uVHlwZSwg
c3RhdGljX2Nhc3Q8Q29udGV4dE1lbnVBY3Rpb24+KGl0ZW0uYWN0aW9uKCkpLCBpdGVtLnRpdGxl
KCkpOwotICAgIG1fcGFnZS0+Y29yZVBhZ2UoKS0+Y29udGV4dE1lbnVDb250cm9sbGVyKCktPmNv
bnRleHRNZW51SXRlbVNlbGVjdGVkKCZjb3JlSXRlbSk7CisgICAgVmVjdG9yPFdlYkNvbnRleHRN
ZW51SXRlbURhdGE+IG1lbnVJdGVtczsKKyAgICBSZWZQdHI8QVBJT2JqZWN0PiB1c2VyRGF0YTsK
KyAgICBtZW51SXRlbXNXaXRoVXNlckRhdGEobWVudUl0ZW1zLCB1c2VyRGF0YSk7CisgICAgcmV0
dXJuIG1lbnVJdGVtczsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuaCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5oCmluZGV4IGM4YTVm
NWEuLjRlNmIxYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJDb250ZXh0TWVudS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJDb250ZXh0TWVudS5oCkBAIC00MywxMCArNDMsMTIgQEAgcHVibGljOgogCiAgICAgdm9p
ZCBzaG93KCk7CiAgICAgdm9pZCBpdGVtU2VsZWN0ZWQoY29uc3QgV2ViQ29udGV4dE1lbnVJdGVt
RGF0YSYpOworICAgIFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiBpdGVtcygpOwogCiBw
cml2YXRlOgogICAgIFdlYkNvbnRleHRNZW51KFdlYlBhZ2UqKTsKLSAgICAKKyAgICB2b2lkIG1l
bnVJdGVtc1dpdGhVc2VyRGF0YShWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4gJiwgUmVm
UHRyPEFQSU9iamVjdD4mKTsKKwogICAgIFdlYlBhZ2UqIG1fcGFnZTsKIH07CiAKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA4ZDUyYThjLi4wYmYy
OTgwIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTItMTEtMTMgIFdvamNpZWNoIEJpZWxhd3NraSAgPHcuYmllbGF3
c2tpQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtXSzJdW1dLVFJdIFdlYktpdFRlc3RSdW5uZXIg
bmVlZHMgZXZlbnRTZW5kZXIuY29udGV4dENsaWNrKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2ODgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgZXZlbnRTZW5kZXIgb2JqZWN0IGV4dGVuZGVkIHdpdGgg
Y29udGV4dENsaWNrKCkgbWV0aG9kIGluIFdlYktpdFRlc3RSdW5uZXIuCisgICAgICAgIGNvbnRl
eHRDbGljaygpIG1ldGhvZCByZXR1cm5zIGFuIGFycmF5IG9mIG1lbnUgaXRlbXMgb2JqZWN0cyB3
aXRoIGZpZWxkICd0aXRsZScgY29udGFpbmluZyB0aXRsZSBvZiBzaW5nbGUKKyAgICAgICAgY29u
dGV4dCBtZW51IGVudHJ5LiBBY2NvcmRpbmcgdG8gc29tZSB0ZXN0cyBtZW51IGl0ZW1zIG9iamVj
dHMgc2hhbGwgYWxzbyBzdXBwb3J0ICdjbGljaygpJyBtZXRob2QsIGJ1dCBpdCdzIG5vdAorICAg
ICAgICBkZWxpdmVyZWQgaW4gdGhpcyBwYXRjaC4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5pZGw6Cisg
ICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250
cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6RXZlbnRTZW5kaW5nQ29udHJvbGxlcjo6Y29udGV4
dENsaWNrKToKKyAgICAgICAgKFdUUik6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmg6CisgICAgICAgIChFdmVudFNlbmRp
bmdDb250cm9sbGVyKToKKwogMjAxMi0xMS0xMiAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICB3ZWJraXRweTogY2xlYW4gdXAgbGludCBlcnJvcnMsIHBhcnQg
MQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5k
aW5ncy9FdmVudFNlbmRpbmdDb250cm9sbGVyLmlkbCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5pZGwKaW5kZXgg
NTJhN2E1Yi4uMWQ2MmM5YiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9CaW5kaW5ncy9FdmVudFNlbmRpbmdDb250cm9sbGVyLmlkbAorKysgYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0V2ZW50U2VuZGluZ0Nv
bnRyb2xsZXIuaWRsCkBAIC0yOSw2ICsyOSw3IEBAIGludGVyZmFjZSBFdmVudFNlbmRpbmdDb250
cm9sbGVyIHsKICAgICB2b2lkIG1vdXNlTW92ZVRvKGluIGxvbmcgeCwgaW4gbG9uZyB5KTsKICAg
ICB2b2lkIG1vdXNlU2Nyb2xsQnkoaW4gbG9uZyB4LCBpbiBsb25nIHkpOwogICAgIHZvaWQgY29u
dGludW91c01vdXNlU2Nyb2xsQnkoaW4gbG9uZyB4LCBpbiBsb25nIHksIGluIFtPcHRpb25hbF0g
Ym9vbGVhbiBwYWdlZCk7CisgICAgb2JqZWN0IGNvbnRleHRDbGljaygpOwogICAgIHZvaWQgc2No
ZWR1bGVBc3luY2hyb25vdXNDbGljaygpOwogCiAgICAgdm9pZCBsZWFwRm9yd2FyZChpbiBsb25n
IG1pbGxpc2Vjb25kcyk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmNwcAppbmRleCBiZjZk
OWJjLi41ZmY2YWIzIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5jcHAKQEAgLTMxOSw2
ICszMTksMzYgQEAgdm9pZCBFdmVudFNlbmRpbmdDb250cm9sbGVyOjpjb250aW51b3VzTW91c2VT
Y3JvbGxCeShpbnQgeCwgaW50IHksIGJvb2wgcGFnZWQpCiAgICAgV0tCdW5kbGVQb3N0U3luY2hy
b25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5idW5kbGUoKSwgRXZlbnRTZW5k
ZXJNZXNzYWdlTmFtZS5nZXQoKSwgRXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwgMCk7CiB9
CiAKK0pTVmFsdWVSZWYgRXZlbnRTZW5kaW5nQ29udHJvbGxlcjo6Y29udGV4dENsaWNrKCkKK3sK
KyAgICBXS0J1bmRsZVBhZ2VSZWYgcGFnZSA9IEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5wYWdl
KCktPnBhZ2UoKTsKKyAgICBXS0J1bmRsZUZyYW1lUmVmIG1haW5GcmFtZSA9IFdLQnVuZGxlUGFn
ZUdldE1haW5GcmFtZShwYWdlKTsKKyAgICBKU0NvbnRleHRSZWYgY29udGV4dCA9IFdLQnVuZGxl
RnJhbWVHZXRKYXZhU2NyaXB0Q29udGV4dChtYWluRnJhbWUpOworI2lmIEVOQUJMRShDT05URVhU
X01FTlVTKQorICAgIC8vIERvIG1vdXNlIGNvbnRleHQgY2xpY2suCisgICAgbW91c2VEb3duKDIs
IDApOworICAgIG1vdXNlVXAoMiwgMCk7CisKKyAgICBXS1JldGFpblB0cjxXS0FycmF5UmVmPiBl
bnRyaWVzTmFtZXMgPSBhZG9wdFdLKFdLQnVuZGxlUGFnZUNvcHlDb250ZXh0TWVudUl0ZW1UaXRs
ZXMocGFnZSkpOworICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBqc1Byb3BlcnR5TmFtZShB
ZG9wdCwgSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoInRpdGxlIikpOworICAgIHNpemVf
dCBlbnRyaWVzU2l6ZSA9IFdLQXJyYXlHZXRTaXplKGVudHJpZXNOYW1lcy5nZXQoKSk7CisgICAg
T3duQXJyYXlQdHI8SlNWYWx1ZVJlZj4ganNWYWx1ZXNBcnJheSA9IGFkb3B0QXJyYXlQdHIobmV3
IEpTVmFsdWVSZWZbZW50cmllc1NpemVdKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGVu
dHJpZXNTaXplOyArK2kpIHsKKyAgICAgICAgQVNTRVJUKFdLR2V0VHlwZUlEKFdLQXJyYXlHZXRJ
dGVtQXRJbmRleChlbnRyaWVzTmFtZXMuZ2V0KCksIGkpKSA9PSBXS1N0cmluZ0dldFR5cGVJRCgp
KTsKKyAgICAgICAgV0tTdHJpbmdSZWYgd2tFbnRyeU5hbWUgPSBzdGF0aWNfY2FzdDxXS1N0cmlu
Z1JlZj4oV0tBcnJheUdldEl0ZW1BdEluZGV4KGVudHJpZXNOYW1lcy5nZXQoKSwgaSkpOworICAg
ICAgICBKU09iamVjdFJlZiBqc0l0ZW1PYmplY3QgPSBKU09iamVjdE1ha2UoY29udGV4dCwgMCwg
MCk7CisgICAgICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBqc05hbWVDb3B5KEFkb3B0LCBX
S1N0cmluZ0NvcHlKU1N0cmluZyh3a0VudHJ5TmFtZSkpOworICAgICAgICBKU1ZhbHVlUmVmIGpz
RW50cnlOYW1lID0gSlNWYWx1ZU1ha2VTdHJpbmcoY29udGV4dCwganNOYW1lQ29weS5nZXQoKSk7
CisgICAgICAgIEpTT2JqZWN0U2V0UHJvcGVydHkoY29udGV4dCwganNJdGVtT2JqZWN0LCBqc1By
b3BlcnR5TmFtZS5nZXQoKSwganNFbnRyeU5hbWUsIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9u
bHksIDApOworICAgICAgICBqc1ZhbHVlc0FycmF5W2ldID0ganNJdGVtT2JqZWN0OworICAgIH0K
KworICAgIHJldHVybiBKU09iamVjdE1ha2VBcnJheShjb250ZXh0LCBlbnRyaWVzU2l6ZSwganNW
YWx1ZXNBcnJheS5nZXQoKSwgMCk7CisjZWxzZQorICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVm
aW5lZChjb250ZXh0KTsKKyNlbmRpZgorfQorCiAjaWZkZWYgVVNFX1dFQlBST0NFU1NfRVZFTlRf
U0lNVUxBVElPTgogdm9pZCBFdmVudFNlbmRpbmdDb250cm9sbGVyOjp1cGRhdGVDbGlja0NvdW50
KFdLRXZlbnRNb3VzZUJ1dHRvbiBidXR0b24pCiB7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaCBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5o
CmluZGV4IDQxM2I5MWMuLjY5YzU0ZjkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5oCisrKyBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5oCkBA
IC01Miw2ICs1Miw3IEBAIHB1YmxpYzoKICAgICB2b2lkIG1vdXNlTW92ZVRvKGludCB4LCBpbnQg
eSk7CiAgICAgdm9pZCBtb3VzZVNjcm9sbEJ5KGludCB4LCBpbnQgeSk7CiAgICAgdm9pZCBjb250
aW51b3VzTW91c2VTY3JvbGxCeShpbnQgeCwgaW50IHksIGJvb2wgcGFnZWQpOworICAgIEpTVmFs
dWVSZWYgY29udGV4dENsaWNrKCk7CiAgICAgdm9pZCBsZWFwRm9yd2FyZChpbnQgbWlsbGlzZWNv
bmRzKTsKICAgICB2b2lkIHNjaGVkdWxlQXN5bmNocm9ub3VzQ2xpY2soKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174413</attachid>
            <date>2012-11-15 05:28:37 -0800</date>
            <delta_ts>2012-11-21 06:34:37 -0800</delta_ts>
            <desc>eventSender.contextClick() method partially implemented.</desc>
            <filename>contextClick.patch</filename>
            <type>text/plain</type>
            <size>19479</size>
            <attacher name="Wojciech Bielawski">w.bielawski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1M2IxNTU4Li44M2I1ODkwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMTEt
MTUgIFdvamNpZWNoIEJpZWxhd3NraSAgPHcuYmllbGF3c2tpQHNhbXN1bmcuY29tPgorCisgICAg
ICAgIFtXSzJdW1dLVFJdIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgZXZlbnRTZW5kZXIuY29udGV4
dENsaWNrKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTg2ODgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgZXhwZWN0ZWQgcmVzdWx0cyBmb3IgdHdvIHRlc3RzIGZvciBFRkwgcGxhdGZvcm0uIFRl
c3QgZXhwZWN0YXRpb25zIGNoYW5nZWQKKyAgICAgICAgZm9yIEVGTCBXSzEvV0syIGFuZCBHVEsg
cGxhdGZvcm1zCisKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9uczoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9lZmwtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxh
dGZvcm0vZWZsLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL2drdC13
azIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvZWRpdGluZy9zZWxl
Y3Rpb24vNTM1NDQ1NS0yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvZWRp
dGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vZWZsL2Zhc3QvZXZlbnRzL2NvbnRleHQtbm8tZGVzZWxlY3QtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKwogMjAxMi0xMS0xNSAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFdlIHNob3VsZCB0cmlnZ2VyIGEgY29uc29sZSB3YXJuaW5nIHdoZW4gd2UgZW5j
b3VudGVyIGludmFsaWQgc2FuZGJveCBmbGFncy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2VmbC13azEvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Vm
bC13azEvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBmMDk5YmVjLi44ODk1YjFkIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZWZsLXdrMS9UZXN0RXhwZWN0YXRpb25zCkBAIC0yNTQsMyArMjU0
LDYgQEAgd2Via2l0Lm9yZy9iLzk4NTIzIGZhc3QvaW1hZ2VzL3JlcGFpbnQtc3VicmVjdC1ncmlk
Lmh0bWwgWyBGYWlsdXJlIF0KIAogIyBEUlQgbmVlZHMgYSBzZXR0aW5nIGZvciBzZXRTaG91bGRS
ZXNwZWN0SW1hZ2VPcmllbnRhdGlvbgogd2Via2l0Lm9yZy9iLzEwMTIxMCBmYXN0L2ltYWdlcy9l
eGlmLW9yaWVudGF0aW9uLmh0bWwgWyBGYWlsdXJlIF0KKworIyBFU0Mga2V5IGRvZXMgbm90IGNh
bmNlbCBjb250ZXh0IG1lbnUgaW4gRUZMIHBvcnQKK0J1ZyhFRkwpIGVkaXRpbmcvc2VsZWN0aW9u
LzUzNTQ0NTUtMS5odG1sIFsgRmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9lZmwtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwt
d2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNGQxZTc0YS4uZDRkNDhiOCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2VmbC13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjc5LDIzICsyNzks
OSBAQCB3ZWJraXQub3JnL2IvOTk1NjIgaHR0cC90ZXN0cy9wbHVnaW5zL3Bvc3QtdXJsLWZpbGUu
aHRtbCBbIEZhaWx1cmUgXQogIyBDb21wYXJpc29uIG9mIHR3byBqYXZhc2NyaXB0IG9iamVjdHMg
aW4gQysrIGlzIGZhaWxpbmcuCiB3ZWJraXQub3JnL2IvOTg3MzkgcGx1Z2lucy9ucHJ1bnRpbWUv
ZW1iZWQtcHJvcGVydHktZXF1YWxpdHkuaHRtbCBbIEZhaWx1cmUgXQogCi0jIFdlYktpdFRlc3RS
dW5uZXIgbmVlZHMgYW4gaW1wbGVtZW50YXRpb24gZm9yIGV2ZW50U2VuZGVyLmNvbnRleHRDbGlj
awotd2Via2l0Lm9yZy9iLzg2ODgxIGVkaXRpbmcvcGFzdGVib2FyZC9jb3B5LXN0YW5kYWxvbmUt
aW1hZ2UtY3Jhc2guaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2ODgxIGVkaXRpbmcv
c2VsZWN0aW9uLzUzNTQ0NTUtMS5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODY4ODEg
ZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0yLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcv
Yi84Njg4MSBlZGl0aW5nL3NlbGVjdGlvbi9idXR0b24tcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1
cmUgXQotd2Via2l0Lm9yZy9iLzg2ODgxIGVkaXRpbmcvc2VsZWN0aW9uL2NvbnRleHQtbWVudS1v
bi10ZXh0Lmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84Njg4MSBlZGl0aW5nL3NlbGVj
dGlvbi9jb250ZXh0LW1lbnUtdGV4dC1zZWxlY3Rpb24uaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0
Lm9yZy9iLzg2ODgxIGVkaXRpbmcvc2VsZWN0aW9uL2VtcHR5LWNlbGwtcmlnaHQtY2xpY2suaHRt
bCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2ODgxIGVkaXRpbmcvc2hhZG93L3JpZ2h0Y2xp
Y2stb24tbWV0ZXItaW4tc2hhZG93LWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcv
Yi84Njg4MSBlZGl0aW5nL3NwZWxsaW5nL2NvbnRleHQtbWVudS1zdWdnZXN0aW9ucy5odG1sIFsg
RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODY4ODEgZmFzdC9ldmVudHMvY29udGV4dC1uby1kZXNl
bGVjdC5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODY4ODEgZmFzdC9ldmVudHMvY29u
dGV4dC1vbm1vdXNlZG93bi1ldmVudC5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODY4
ODEgZmFzdC9ldmVudHMvY29udGV4dG1lbnUtc2Nyb2xsZWQtcGFnZS13aXRoLWZyYW1lLmh0bWwg
WyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84Njg4MSBmYXN0L2V2ZW50cy9yaWdodC1jbGljay1m
b2N1cy5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODY4ODEgZmFzdC9ldmVudHMvc2Vs
ZWN0c3RhcnQtcHJldmVudC1zZWxlY3Rpb24tb24tcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1cmUg
XQotd2Via2l0Lm9yZy9iLzg2ODgxIG1lZGlhL2NvbnRleHQtbWVudS1hY3Rpb25zLmh0bWwgWyBG
YWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84Njg4MSBtZWRpYS9jb250cm9scy1yaWdodC1jbGljay1v
bi10aW1lYmFyLmh0bWwgWyBGYWlsdXJlIF0KKyMgRUZMJ3MgRXZlbnRTZW5kZXIgY29udGV4dENs
aWNrIHNob3VsZCByZXR1cm4gb2JqZWN0cyB0aGF0IGltcGxlbWVudHMgY2xpY2soKSBtZXRob2QK
K3dlYmtpdC5vcmcvYi85ODQxMCBlZGl0aW5nL3Bhc3RlYm9hcmQvY29weS1zdGFuZGFsb25lLWlt
YWdlLWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi85ODQxMCBtZWRpYS9jb250
ZXh0LW1lbnUtYWN0aW9ucy5odG1sIFsgRmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8xMDIyMDEg
ZmFzdC9kb20vV2luZG93L3dpbmRvdy1yZXNpemUuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9y
Zy9iLzEwMjIwMSBmYXN0L2RvbS9XaW5kb3cvb3Blbi13aW5kb3ctbWluLXNpemUuaHRtbCBbIEZh
aWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAy
ZWYzNjdkLi43YzE0MTkyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVz
dEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0
aW9ucwpAQCAtMTU1NCw5ICsxNTU0LDYgQEAgd2Via2l0Lm9yZy9iLzEwMDQyNCBlZGl0aW5nL3Nl
bGVjdGlvbi91c2VyLXNlbGVjdC1hbGwtc2VsZWN0aW9uLmh0bWwgWyBGYWlsdXJlIF0KICMgRW50
ZXJpbmcgaW50byBmdWxsIHNjcmVlbiBwbGF5YmFjayBtb2RlIGZhaWxzIHdoZW4gdHJpZ2dlcmVk
IGJ5IGNvbnRleHQgbWVudQogQnVnKEVGTCkgbWVkaWEvY29udGV4dC1tZW51LWFjdGlvbnMuaHRt
bCBbIEZhaWx1cmUgXQogCi0jIEVTQyBrZXkgZG9lcyBub3QgY2FuY2VsIGNvbnRleHQgbWVudSBp
biBFRkwgcG9ydAotQnVnKEVGTCkgZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0xLmh0bWwgWyBG
YWlsdXJlIF0KLQogIyBSZWdyZXNzaW9uIGZyb20gcjEzMzg5OAogQnVnKEVGTCkgYW5pbWF0aW9u
cy8zZC9jaGFuZ2UtdHJhbnNmb3JtLWluLWVuZC1ldmVudC5odG1sIFsgTWlzc2luZyBdCiBCdWco
RUZMKSBhbmltYXRpb25zLzNkL21hdHJpeC10cmFuc2Zvcm0tdHlwZS1hbmltYXRpb24uaHRtbCBb
IE1pc3NpbmcgXQpAQCAtMTY4OSwzICsxNjg2LDkgQEAgd2Via2l0Lm9yZy9iLzEwMjE5MCBjb21w
b3NpdGluZy9vdmVyZmxvdy91cGRhdGluZy1zY3JvbGxpbmctY29udGVudC5odG1sIFsgRmFpbHUK
IHdlYmtpdC5vcmcvYi8xMDIxOTAgZmFzdC9ldmVudHMvb3ZlcmZsb3ctc2Nyb2xsLWZha2UtbW91
c2UtbW92ZS5odG1sIFsgRmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8xMDIzNjQgY29tcG9zaXRp
bmcvb3ZlcmZsb3cvc2Nyb2xsaW5nLXdpdGhvdXQtcGFpbnRpbmcuaHRtbCBbIEZhaWx1cmUgXQor
CisjIFN0YXJ0IG9mIG1lZGlhIHBsYXllciBjYXVzZXMgdGltZW91dC4KK0J1ZyhFRkwpIG1lZGlh
L2NvbnRyb2xzLXJpZ2h0LWNsaWNrLW9uLXRpbWViYXIuaHRtbCBbIEZhaWx1cmUgXQorCisjIE5v
IHNwZWxsY2hlY2sgc3VnZ2VzdGlvbnMgaW4gY29udGV4dCBtZW51CitCdWcoRUZMKSBlZGl0aW5n
L3NwZWxsaW5nL2NvbnRleHQtbWVudS1zdWdnZXN0aW9ucy5odG1sIFsgRmFpbHVyZSBdCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGstd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGstd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZmI2NWEy
MS4uYmQ2OWM2NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrLXdrMi9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay13azIvVGVzdEV4cGVj
dGF0aW9ucwpAQCAtMTMyLDE5ICsxMzIsNiBAQCBCdWcoR1RLKSBlZGl0aW5nL3NlbGVjdGlvbi9l
eHRlbmQtYWZ0ZXItbW91c2Utc2VsZWN0aW9uLmh0bWwgWyBGYWlsdXJlIF0KICMgV2ViS2l0MiBu
ZWVkcyB0ZXh0SW5wdXRDb250cm9sbGVyLnNlbGVjdGVkUmFuZ2UKIEJ1ZyhHVEspIGVkaXRpbmcv
c2VsZWN0aW9uL21peGVkLWVkaXRhYmlsaXR5LTEwLmh0bWwgWyBGYWlsdXJlIF0KIAotIyBJbXBs
ZW1lbnQgZXZlbnRTZW5kZXIuY29udGV4dENsaWNrCi1CdWcoR1RLKSBlZGl0aW5nL3Bhc3RlYm9h
cmQvY29weS1zdGFuZGFsb25lLWltYWdlLWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhHVEsp
IGVkaXRpbmcvc2VsZWN0aW9uL2VtcHR5LWNlbGwtcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1cmUg
XQotQnVnKEdUSykgZWRpdGluZy9zZWxlY3Rpb24vYnV0dG9uLXJpZ2h0LWNsaWNrLmh0bWwgWyBG
YWlsdXJlIF0KLUJ1ZyhHVEspIGVkaXRpbmcvc2VsZWN0aW9uL2NvbnRleHQtbWVudS1vbi10ZXh0
Lmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhHVEspIGVkaXRpbmcvc2VsZWN0aW9uL2VtcHR5LWNlbGwt
cmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1cmUgXQotQnVnKEdUSykgZmFzdC9ldmVudHMvc2VsZWN0
c3RhcnQtcHJldmVudC1zZWxlY3Rpb24tb24tcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1cmUgXQot
QnVnKEdUSykgZmFzdC9ldmVudHMvY29udGV4dC1uby1kZXNlbGVjdC5odG1sIFsgRmFpbHVyZSBd
Ci1CdWcoR1RLKSBmYXN0L2V2ZW50cy9jb250ZXh0bWVudS1zY3JvbGxlZC1wYWdlLXdpdGgtZnJh
bWUuaHRtbCBbIEZhaWx1cmUgXQotQnVnKEdUSykgZmFzdC9ldmVudHMvY29udGV4dC1vbm1vdXNl
ZG93bi1ldmVudC5odG1sIFsgRmFpbHVyZSBdCi1CdWcoR1RLKSBtZWRpYS9jb250cm9scy1yaWdo
dC1jbGljay1vbi10aW1lYmFyLmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhHVEspIHN2Zy9jdXN0b20v
dXNlLWV2ZW50cy1jcmFzaC5zdmcgWyBGYWlsdXJlIF0KLQogIyBJbXBsZW1lbnQgUGFnZUNsaWVu
dEltcGw6OnJlZ2lzdGVyRWRpdENvbW1hbmQgYW5kIGhhbmRsaW5nIGNvbW1hbmRzIGZ1bmN0aW9u
cwogQnVnKEdUSykgZWRpdGluZy9kZWxldGluZy9kZWxldGUtYnktd29yZC0wMDIuaHRtbCBbIEZh
aWx1cmUgXQogQnVnKEdUSykgZWRpdGluZy9kZWxldGluZy9kZWxldGUtYW5kLXVuZG8uaHRtbCBb
IEZhaWx1cmUgXQpAQCAtNTg5LDMgKzU3NiwyNSBAQCB3ZWJraXQub3JnL2IvOTg1MjcgaHR0cC90
ZXN0cy9sb2FkaW5nL3RleHQtY29udGVudC10eXBlLXdpdGgtYmluYXJ5LWV4dGVuc2lvbi5odAog
IyBFbmQgb2YgVGVzdHMgd29ya2luZyBpbiBXSzIgYW5kIGZhaWxpbmcgaW4gV0sxCiAjLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogCisKKyMgU2VsZWN0aW9uIGRvZXNuJ3Qgd29yayBw
cm9wZXJseS4KK0J1ZyhHVEspIGVkaXRpbmcvc2VsZWN0aW9uL2NvbnRleHQtbWVudS10ZXh0LXNl
bGVjdGlvbi5odG1sIFsgRmFpbHVyZSBQYXNzIF0KK0J1ZyhHVEspIGVkaXRpbmcvc2VsZWN0aW9u
L2VtcHR5LWNlbGwtcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1cmUgXQorQnVnKEdUSykgZWRpdGlu
Zy9zcGVsbGluZy9jb250ZXh0LW1lbnUtc3VnZ2VzdGlvbnMuaHRtbCBbIEZhaWx1cmUgXQorCisj
IEV2ZW50U2VuZGVyJ3MgY29udGV4dENsaWNrIHNob3VsZCByZXR1cm4gb2JqZWN0cyB0aGF0IGlt
cGxlbWVudHMgY2xpY2soKSBtZXRob2QKK3dlYmtpdC5vcmcvYi85ODQxMCBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvY29weS1zdGFuZGFsb25lLWltYWdlLWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtp
dC5vcmcvYi85ODQxMCBtZWRpYS9jb250ZXh0LW1lbnUtYWN0aW9ucy5odG1sIFsgRmFpbHVyZSBd
CisKKyMgQW4gb25jb250ZXh0bWVudSBhdHRyaWJ1dGUgaXMgbm90IGNhbGxlZC4KK0J1ZyhHVEsp
IGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxjaGVjay1pbnB1dC1zZWFyY2gtY3Jhc2guaHRtbCBbIEZh
aWx1cmUgXQorQnVnKEdUSykgZmFzdC9ldmVudHMvY29udGV4dG1lbnUtc2Nyb2xsZWQtcGFnZS13
aXRoLWZyYW1lLmh0bWwgWyBGYWlsdXJlIF0KKworIyBBbiBvbm1vdXNlZG93biBhdHRyaWJ1dGUg
aXMgbm90IGNhbGxlZC4KK0J1ZyhHVEspIGZhc3QvZXZlbnRzL2NvbnRleHQtb25tb3VzZWRvd24t
ZXZlbnQuaHRtbCBbIEZhaWx1cmUgXQorCisjIEFuIG9uc2VsZWN0c3RhcnQgYXR0cmlidXRlIGlz
IG5vdCBjYWxsZWQuCitCdWcoR1RLKSBmYXN0L2V2ZW50cy9zZWxlY3RzdGFydC1wcmV2ZW50LXNl
bGVjdGlvbi1vbi1yaWdodC1jbGljay5odG1sIFsgRmFpbHVyZSBdCisKKyMgU3RhcnQgb2YgbWVk
aWEgcGxheWVyIGNhdXNlcyB0aW1lb3V0CitCdWcoR1RLKSBtZWRpYS9jb250cm9scy1yaWdodC1j
bGljay1vbi10aW1lYmFyLmh0bWwgWyBGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBiNzA2NzE1Li41
NGU2NzU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTItMTEtMTUgIFdvamNpZWNo
IEJpZWxhd3NraSAgPHcuYmllbGF3c2tpQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtXSzJdW1dL
VFJdIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgZXZlbnRTZW5kZXIuY29udGV4dENsaWNrKCkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2ODgxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5qZWN0ZWRCdW5k
bGUgQVBJIGV4dGVuZGVkIHRvIHJldHJpZXZlIGNvbnRleHRNZW51IGVudHJpZXMgbmFtZXMuCisg
ICAgICAgIFdlYkNvbnRleHRNZW51IGV4dGVkZWQgd2l0aCBmdW5jdGlvbiB0byByZXRyaWV2ZSBt
ZW51IGl0ZW1zLgorICAgICAgICBUaGlzIEFQSSBpcyByZXF1aXJlZCBieSBsYXlvdXQgdGVzdHMu
CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFn
ZS5jcHA6CisgICAgICAgIChXS0J1bmRsZVBhZ2VHZXRDb250ZXh0TWVudUVudHJpZXNOYW1lcyk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2Uu
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJDb250ZXh0TWVudTo6aXRlbXMpOgorICAgICAgICAoV2ViS2l0KToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuaDoKKyAgICAgICAg
KFdlYkNvbnRleHRNZW51KToKKwogMjAxMi0xMS0xNSAgWXVuaSBKZW9uZyAgPHlobmV0Lmp1bmdA
c2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF1bV0syXSBBZGQgQVBJcyB0byBnZXQvc2V0IHdo
ZXRoZXIgc2NyaXB0cyBjYW4gb3BlbiBuZXcgd2luZG93cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQ
YWdlLmNwcAppbmRleCA1M2RkZjYxLi4wNzI3MWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBh
Z2UuY3BwCkBAIC0zMCwxMyArMzAsMTggQEAKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZUJhY2tG
b3J3YXJkTGlzdC5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlTm9kZUhhbmRsZS5oIgogI2lu
Y2x1ZGUgIldLQVBJQ2FzdC5oIgorI2luY2x1ZGUgIldLQXJyYXkuaCIKICNpbmNsdWRlICJXS0J1
bmRsZUFQSUNhc3QuaCIKKyNpbmNsdWRlICJXS1JldGFpblB0ci5oIgorI2luY2x1ZGUgIldlYkNv
bnRleHRNZW51LmgiCisjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJdGVtLmgiCiAjaW5jbHVkZSAi
V2ViRnJhbWUuaCIKICNpbmNsdWRlICJXZWJGdWxsU2NyZWVuTWFuYWdlci5oIgogI2luY2x1ZGUg
IldlYkltYWdlLmgiCiAjaW5jbHVkZSAiV2ViUGFnZS5oIgogI2luY2x1ZGUgIldlYlJlbmRlckxh
eWVyLmgiCiAjaW5jbHVkZSAiV2ViUmVuZGVyT2JqZWN0LmgiCisjaW5jbHVkZSAiV2ViU3RyaW5n
LmgiCiAjaW5jbHVkZSAiV2ViVVJMLmgiCiAjaW5jbHVkZSAiV2ViVVJMUmVxdWVzdC5oIgogCkBA
IC0xNDUsNiArMTUwLDI0IEBAIFdLQnVuZGxlRnJhbWVSZWYgV0tCdW5kbGVQYWdlR2V0TWFpbkZy
YW1lKFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVmKQogICAgIHJldHVybiB0b0FQSSh0b0ltcGwocGFn
ZVJlZiktPm1haW5XZWJGcmFtZSgpKTsKIH0KIAorV0tBcnJheVJlZiBXS0J1bmRsZVBhZ2VDb3B5
Q29udGV4dE1lbnVJdGVtVGl0bGVzKFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVmKQoreworI2lmIEVO
QUJMRShDT05URVhUX01FTlVTKQorICAgIFdlYkNvbnRleHRNZW51KiBjb250ZXh0TWVudSA9IHRv
SW1wbChwYWdlUmVmKS0+Y29udGV4dE1lbnUoKTsKKyAgICBWZWN0b3I8V2ViQ29udGV4dE1lbnVJ
dGVtRGF0YT4gaXRlbXMgPSBjb250ZXh0TWVudS0+aXRlbXMoKTsKKyAgICBPd25BcnJheVB0cjxX
S1R5cGVSZWY+IGl0ZW1OYW1lcyA9IGFkb3B0QXJyYXlQdHIobmV3IFdLVHlwZVJlZltpdGVtcy5z
aXplKCldKTsKKyAgICBzaXplX3QgYXJyYXlMZW5ndGggPSBpdGVtcy5zaXplKCk7CisgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBhcnJheUxlbmd0aDsgKytpKSB7CisgICAgICAgIFJlZlB0cjxX
ZWJTdHJpbmc+IG5hbWUgPSBXZWJTdHJpbmc6OmNyZWF0ZShpdGVtc1tpXS50aXRsZSgpKTsKKyAg
ICAgICAgaXRlbU5hbWVzW2ldID0gdG9BUEkobmFtZS5yZWxlYXNlKCkubGVha1JlZigpKTsKKyAg
ICB9CisKKyAgICByZXR1cm4gV0tBcnJheUNyZWF0ZShpdGVtTmFtZXMuZ2V0KCksIGFycmF5TGVu
Z3RoKTsKKyNlbHNlCisgICAgcmV0dXJuIDA7CisjZW5kaWYKK30KKwogdm9pZCogV0tBY2Nlc3Np
YmlsaXR5Um9vdE9iamVjdChXS0J1bmRsZVBhZ2VSZWYgcGFnZVJlZikKIHsKICNpZiBIQVZFKEFD
Q0VTU0lCSUxJVFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUHJpdmF0ZS5oCmluZGV4
IDExYjIwZGMuLmQ3NjlmYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUHJpdmF0
ZS5oCkBAIC03Nyw2ICs3Nyw4IEBAIFdLX0VYUE9SVCBib29sIFdLQnVuZGxlUGFnZUNhblNob3dN
SU1FVHlwZShXS0J1bmRsZVBhZ2VSZWYsIFdLU3RyaW5nUmVmIG1pbWVUeXBlCiBXS19FWFBPUlQg
dm9pZCogV0tBY2Nlc3NpYmlsaXR5Um9vdE9iamVjdChXS0J1bmRsZVBhZ2VSZWYpOwogV0tfRVhQ
T1JUIHZvaWQqIFdLQWNjZXNzaWJpbGl0eUZvY3VzZWRPYmplY3QoV0tCdW5kbGVQYWdlUmVmKTsK
IAorV0tfRVhQT1JUIFdLQXJyYXlSZWYgV0tCdW5kbGVQYWdlQ29weUNvbnRleHRNZW51SXRlbVRp
dGxlcyhXS0J1bmRsZVBhZ2VSZWYpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRN
ZW51LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVu
dS5jcHAKaW5kZXggM2E5MWQ5MC4uMDYyYjVhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuY3BwCkBAIC02OSw2ICs2OSwzMiBA
QCB2b2lkIFdlYkNvbnRleHRNZW51OjpzaG93KCkKICAgICBpZiAoIXZpZXcpCiAgICAgICAgIHJl
dHVybjsKIAorICAgIFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiBtZW51SXRlbXM7Cisg
ICAgUmVmUHRyPEFQSU9iamVjdD4gdXNlckRhdGE7CisgICAgbWVudUl0ZW1zV2l0aFVzZXJEYXRh
KG1lbnVJdGVtcywgdXNlckRhdGEpOworICAgIFdlYkhpdFRlc3RSZXN1bHQ6OkRhdGEgd2ViSGl0
VGVzdFJlc3VsdERhdGEoY29udHJvbGxlci0+aGl0VGVzdFJlc3VsdCgpKTsKKworICAgIC8vIE1h
cmsgdGhlIFdlYlBhZ2UgaGFzIGhhdmluZyBhIHNob3duIGNvbnRleHQgbWVudSB0aGVuIG5vdGlm
eSB0aGUgVUlQcm9jZXNzLgorICAgIG1fcGFnZS0+Y29udGV4dE1lbnVTaG93aW5nKCk7CisgICAg
bV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNob3dDb250ZXh0TWVudSh2aWV3
LT5jb250ZW50c1RvV2luZG93KGNvbnRyb2xsZXItPmhpdFRlc3RSZXN1bHQoKS5yb3VuZGVkUG9p
bnQoKSksIHdlYkhpdFRlc3RSZXN1bHREYXRhLCBtZW51SXRlbXMsIEluamVjdGVkQnVuZGxlVXNl
ck1lc3NhZ2VFbmNvZGVyKHVzZXJEYXRhLmdldCgpKSkpOworfQorCit2b2lkIFdlYkNvbnRleHRN
ZW51OjppdGVtU2VsZWN0ZWQoY29uc3QgV2ViQ29udGV4dE1lbnVJdGVtRGF0YSYgaXRlbSkKK3sK
KyAgICBDb250ZXh0TWVudUl0ZW0gY29yZUl0ZW0oQWN0aW9uVHlwZSwgc3RhdGljX2Nhc3Q8Q29u
dGV4dE1lbnVBY3Rpb24+KGl0ZW0uYWN0aW9uKCkpLCBpdGVtLnRpdGxlKCkpOworICAgIG1fcGFn
ZS0+Y29yZVBhZ2UoKS0+Y29udGV4dE1lbnVDb250cm9sbGVyKCktPmNvbnRleHRNZW51SXRlbVNl
bGVjdGVkKCZjb3JlSXRlbSk7Cit9CisKK3ZvaWQgV2ViQ29udGV4dE1lbnU6Om1lbnVJdGVtc1dp
dGhVc2VyRGF0YShWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4gJm1lbnVJdGVtcywgUmVm
UHRyPEFQSU9iamVjdD4mIHVzZXJEYXRhKQoreworICAgIENvbnRleHRNZW51Q29udHJvbGxlciog
Y29udHJvbGxlciA9IG1fcGFnZS0+Y29yZVBhZ2UoKS0+Y29udGV4dE1lbnVDb250cm9sbGVyKCk7
CisgICAgaWYgKCFjb250cm9sbGVyKQorICAgICAgICByZXR1cm47CisKKyAgICBDb250ZXh0TWVu
dSogbWVudSA9IGNvbnRyb2xsZXItPmNvbnRleHRNZW51KCk7CisgICAgaWYgKCFtZW51KQorICAg
ICAgICByZXR1cm47CisKICAgICAvLyBHaXZlIHRoZSBidW5kbGUgY2xpZW50IGEgY2hhbmNlIHRv
IHByb2Nlc3MgdGhlIG1lbnUuCiAjaWYgVVNFKENST1NTX1BMQVRGT1JNX0NPTlRFWFRfTUVOVVMp
CiAgICAgY29uc3QgVmVjdG9yPENvbnRleHRNZW51SXRlbT4mIGNvcmVJdGVtcyA9IG1lbnUtPml0
ZW1zKCk7CkBAIC03NywyMiArMTAzLDE4IEBAIHZvaWQgV2ViQ29udGV4dE1lbnU6OnNob3coKQog
I2VuZGlmCiAgICAgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+IHByb3Bvc2VkTWVudSA9
IGtpdEl0ZW1zKGNvcmVJdGVtcywgbWVudSk7CiAgICAgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRl
bURhdGE+IG5ld01lbnU7Ci0gICAgUmVmUHRyPEFQSU9iamVjdD4gdXNlckRhdGE7CiAgICAgUmVm
UHRyPEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdD4gaGl0VGVzdFJlc3VsdCA9IEluamVjdGVk
QnVuZGxlSGl0VGVzdFJlc3VsdDo6Y3JlYXRlKGNvbnRyb2xsZXItPmhpdFRlc3RSZXN1bHQoKSk7
CiAgICAgaWYgKG1fcGFnZS0+aW5qZWN0ZWRCdW5kbGVDb250ZXh0TWVudUNsaWVudCgpLmdldEN1
c3RvbU1lbnVGcm9tRGVmYXVsdEl0ZW1zKG1fcGFnZSwgaGl0VGVzdFJlc3VsdC5nZXQoKSwgcHJv
cG9zZWRNZW51LCBuZXdNZW51LCB1c2VyRGF0YSkpCiAgICAgICAgIHByb3Bvc2VkTWVudSA9IG5l
d01lbnU7Ci0KLSAgICBXZWJIaXRUZXN0UmVzdWx0OjpEYXRhIHdlYkhpdFRlc3RSZXN1bHREYXRh
KGNvbnRyb2xsZXItPmhpdFRlc3RSZXN1bHQoKSk7Ci0KLSAgICAvLyBNYXJrIHRoZSBXZWJQYWdl
IGhhcyBoYXZpbmcgYSBzaG93biBjb250ZXh0IG1lbnUgdGhlbiBub3RpZnkgdGhlIFVJUHJvY2Vz
cy4KLSAgICBtX3BhZ2UtPmNvbnRleHRNZW51U2hvd2luZygpOwotICAgIG1fcGFnZS0+c2VuZChN
ZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTaG93Q29udGV4dE1lbnUodmlldy0+Y29udGVudHNUb1dp
bmRvdyhjb250cm9sbGVyLT5oaXRUZXN0UmVzdWx0KCkucm91bmRlZFBvaW50KCkpLCB3ZWJIaXRU
ZXN0UmVzdWx0RGF0YSwgcHJvcG9zZWRNZW51LCBJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5j
b2Rlcih1c2VyRGF0YS5nZXQoKSkpKTsKKyAgICBtZW51SXRlbXMgPSBwcm9wb3NlZE1lbnU7CiB9
CiAKLXZvaWQgV2ViQ29udGV4dE1lbnU6Oml0ZW1TZWxlY3RlZChjb25zdCBXZWJDb250ZXh0TWVu
dUl0ZW1EYXRhJiBpdGVtKQorVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+IFdlYkNvbnRl
eHRNZW51OjppdGVtcygpCiB7Ci0gICAgQ29udGV4dE1lbnVJdGVtIGNvcmVJdGVtKEFjdGlvblR5
cGUsIHN0YXRpY19jYXN0PENvbnRleHRNZW51QWN0aW9uPihpdGVtLmFjdGlvbigpKSwgaXRlbS50
aXRsZSgpKTsKLSAgICBtX3BhZ2UtPmNvcmVQYWdlKCktPmNvbnRleHRNZW51Q29udHJvbGxlcigp
LT5jb250ZXh0TWVudUl0ZW1TZWxlY3RlZCgmY29yZUl0ZW0pOworICAgIFZlY3RvcjxXZWJDb250
ZXh0TWVudUl0ZW1EYXRhPiBtZW51SXRlbXM7CisgICAgUmVmUHRyPEFQSU9iamVjdD4gdXNlckRh
dGE7CisgICAgbWVudUl0ZW1zV2l0aFVzZXJEYXRhKG1lbnVJdGVtcywgdXNlckRhdGEpOworICAg
IHJldHVybiBtZW51SXRlbXM7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmggYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuaAppbmRleCBj
OGE1ZjVhLi40ZTZiMWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViQ29udGV4dE1lbnUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViQ29udGV4dE1lbnUuaApAQCAtNDMsMTAgKzQzLDEyIEBAIHB1YmxpYzoKIAogICAg
IHZvaWQgc2hvdygpOwogICAgIHZvaWQgaXRlbVNlbGVjdGVkKGNvbnN0IFdlYkNvbnRleHRNZW51
SXRlbURhdGEmKTsKKyAgICBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4gaXRlbXMoKTsK
IAogcHJpdmF0ZToKICAgICBXZWJDb250ZXh0TWVudShXZWJQYWdlKik7Ci0gICAgCisgICAgdm9p
ZCBtZW51SXRlbXNXaXRoVXNlckRhdGEoVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+ICYs
IFJlZlB0cjxBUElPYmplY3Q+Jik7CisKICAgICBXZWJQYWdlKiBtX3BhZ2U7CiB9OwogCmRpZmYg
LS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjQ1ZGE1Yi4u
YWExYTJkZiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTExLTE1ICBXb2pjaWVjaCBCaWVsYXdza2kgIDx3LmJp
ZWxhd3NraUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbV0syXVtXS1RSXSBXZWJLaXRUZXN0UnVu
bmVyIG5lZWRzIGV2ZW50U2VuZGVyLmNvbnRleHRDbGljaygpCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Njg4MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGV2ZW50U2VuZGVyIG9iamVjdCBleHRlbmRlZCB3
aXRoIGNvbnRleHRDbGljaygpIG1ldGhvZCBpbiBXZWJLaXRUZXN0UnVubmVyLgorICAgICAgICBj
b250ZXh0Q2xpY2soKSBtZXRob2QgcmV0dXJucyBhbiBhcnJheSBvZiBtZW51IGl0ZW1zIG9iamVj
dHMgd2l0aCBmaWVsZCAndGl0bGUnIGNvbnRhaW5pbmcgdGl0bGUgb2Ygc2luZ2xlCisgICAgICAg
IGNvbnRleHQgbWVudSBlbnRyeS4gQWNjb3JkaW5nIHRvIHNvbWUgdGVzdHMgbWVudSBpdGVtcyBv
YmplY3RzIHNoYWxsIGFsc28gc3VwcG9ydCAnY2xpY2soKScgbWV0aG9kLCBidXQgaXQncyBub3QK
KyAgICAgICAgZGVsaXZlcmVkIGluIHRoaXMgcGF0Y2guCisKKyAgICAgICAgKiBXZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaWRs
OgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5n
Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXVFI6OkV2ZW50U2VuZGluZ0NvbnRyb2xsZXI6OmNv
bnRleHRDbGljayk6CisgICAgICAgIChXVFIpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5oOgorICAgICAgICAoRXZlbnRT
ZW5kaW5nQ29udHJvbGxlcik6CisKIDIwMTItMTEtMTQgIFJ5dWFuIENob2kgIDxyeXVhbi5jaG9p
QGdtYWlsLmNvbT4KIAogICAgICAgICBbRUZMXSBQb3J0IHRpbGVkIGJhY2tpbmcgc3RvcmUKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3Mv
RXZlbnRTZW5kaW5nQ29udHJvbGxlci5pZGwgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0JpbmRpbmdzL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaWRsCmluZGV4IDUyYTdh
NWIuLjFkNjJjOWIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvQmluZGluZ3MvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5pZGwKKysrIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9FdmVudFNlbmRpbmdDb250cm9s
bGVyLmlkbApAQCAtMjksNiArMjksNyBAQCBpbnRlcmZhY2UgRXZlbnRTZW5kaW5nQ29udHJvbGxl
ciB7CiAgICAgdm9pZCBtb3VzZU1vdmVUbyhpbiBsb25nIHgsIGluIGxvbmcgeSk7CiAgICAgdm9p
ZCBtb3VzZVNjcm9sbEJ5KGluIGxvbmcgeCwgaW4gbG9uZyB5KTsKICAgICB2b2lkIGNvbnRpbnVv
dXNNb3VzZVNjcm9sbEJ5KGluIGxvbmcgeCwgaW4gbG9uZyB5LCBpbiBbT3B0aW9uYWxdIGJvb2xl
YW4gcGFnZWQpOworICAgIG9iamVjdCBjb250ZXh0Q2xpY2soKTsKICAgICB2b2lkIHNjaGVkdWxl
QXN5bmNocm9ub3VzQ2xpY2soKTsKIAogICAgIHZvaWQgbGVhcEZvcndhcmQoaW4gbG9uZyBtaWxs
aXNlY29uZHMpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5jcHAKaW5kZXggYmY2ZDliYy4u
NWZmNmFiMyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuY3BwCkBAIC0zMTksNiArMzE5
LDM2IEBAIHZvaWQgRXZlbnRTZW5kaW5nQ29udHJvbGxlcjo6Y29udGludW91c01vdXNlU2Nyb2xs
QnkoaW50IHgsIGludCB5LCBib29sIHBhZ2VkKQogICAgIFdLQnVuZGxlUG9zdFN5bmNocm9ub3Vz
TWVzc2FnZShJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkuYnVuZGxlKCksIEV2ZW50U2VuZGVyTWVz
c2FnZU5hbWUuZ2V0KCksIEV2ZW50U2VuZGVyTWVzc2FnZUJvZHkuZ2V0KCksIDApOwogfQogCitK
U1ZhbHVlUmVmIEV2ZW50U2VuZGluZ0NvbnRyb2xsZXI6OmNvbnRleHRDbGljaygpCit7CisgICAg
V0tCdW5kbGVQYWdlUmVmIHBhZ2UgPSBJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkucGFnZSgpLT5w
YWdlKCk7CisgICAgV0tCdW5kbGVGcmFtZVJlZiBtYWluRnJhbWUgPSBXS0J1bmRsZVBhZ2VHZXRN
YWluRnJhbWUocGFnZSk7CisgICAgSlNDb250ZXh0UmVmIGNvbnRleHQgPSBXS0J1bmRsZUZyYW1l
R2V0SmF2YVNjcmlwdENvbnRleHQobWFpbkZyYW1lKTsKKyNpZiBFTkFCTEUoQ09OVEVYVF9NRU5V
UykKKyAgICAvLyBEbyBtb3VzZSBjb250ZXh0IGNsaWNrLgorICAgIG1vdXNlRG93bigyLCAwKTsK
KyAgICBtb3VzZVVwKDIsIDApOworCisgICAgV0tSZXRhaW5QdHI8V0tBcnJheVJlZj4gZW50cmll
c05hbWVzID0gYWRvcHRXSyhXS0J1bmRsZVBhZ2VDb3B5Q29udGV4dE1lbnVJdGVtVGl0bGVzKHBh
Z2UpKTsKKyAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4ganNQcm9wZXJ0eU5hbWUoQWRvcHQs
IEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJ0aXRsZSIpKTsKKyAgICBzaXplX3QgZW50
cmllc1NpemUgPSBXS0FycmF5R2V0U2l6ZShlbnRyaWVzTmFtZXMuZ2V0KCkpOworICAgIE93bkFy
cmF5UHRyPEpTVmFsdWVSZWY+IGpzVmFsdWVzQXJyYXkgPSBhZG9wdEFycmF5UHRyKG5ldyBKU1Zh
bHVlUmVmW2VudHJpZXNTaXplXSk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBlbnRyaWVz
U2l6ZTsgKytpKSB7CisgICAgICAgIEFTU0VSVChXS0dldFR5cGVJRChXS0FycmF5R2V0SXRlbUF0
SW5kZXgoZW50cmllc05hbWVzLmdldCgpLCBpKSkgPT0gV0tTdHJpbmdHZXRUeXBlSUQoKSk7Cisg
ICAgICAgIFdLU3RyaW5nUmVmIHdrRW50cnlOYW1lID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+
KFdLQXJyYXlHZXRJdGVtQXRJbmRleChlbnRyaWVzTmFtZXMuZ2V0KCksIGkpKTsKKyAgICAgICAg
SlNPYmplY3RSZWYganNJdGVtT2JqZWN0ID0gSlNPYmplY3RNYWtlKGNvbnRleHQsIDAsIDApOwor
ICAgICAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4ganNOYW1lQ29weShBZG9wdCwgV0tTdHJp
bmdDb3B5SlNTdHJpbmcod2tFbnRyeU5hbWUpKTsKKyAgICAgICAgSlNWYWx1ZVJlZiBqc0VudHJ5
TmFtZSA9IEpTVmFsdWVNYWtlU3RyaW5nKGNvbnRleHQsIGpzTmFtZUNvcHkuZ2V0KCkpOworICAg
ICAgICBKU09iamVjdFNldFByb3BlcnR5KGNvbnRleHQsIGpzSXRlbU9iamVjdCwganNQcm9wZXJ0
eU5hbWUuZ2V0KCksIGpzRW50cnlOYW1lLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5LCAw
KTsKKyAgICAgICAganNWYWx1ZXNBcnJheVtpXSA9IGpzSXRlbU9iamVjdDsKKyAgICB9CisKKyAg
ICByZXR1cm4gSlNPYmplY3RNYWtlQXJyYXkoY29udGV4dCwgZW50cmllc1NpemUsIGpzVmFsdWVz
QXJyYXkuZ2V0KCksIDApOworI2Vsc2UKKyAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQo
Y29udGV4dCk7CisjZW5kaWYKK30KKwogI2lmZGVmIFVTRV9XRUJQUk9DRVNTX0VWRU5UX1NJTVVM
QVRJT04KIHZvaWQgRXZlbnRTZW5kaW5nQ29udHJvbGxlcjo6dXBkYXRlQ2xpY2tDb3VudChXS0V2
ZW50TW91c2VCdXR0b24gYnV0dG9uKQogewpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmggYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaAppbmRl
eCA0MTNiOTFjLi42OWM1NGY5IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaAorKysgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaApAQCAtNTIs
NiArNTIsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBtb3VzZU1vdmVUbyhpbnQgeCwgaW50IHkpOwog
ICAgIHZvaWQgbW91c2VTY3JvbGxCeShpbnQgeCwgaW50IHkpOwogICAgIHZvaWQgY29udGludW91
c01vdXNlU2Nyb2xsQnkoaW50IHgsIGludCB5LCBib29sIHBhZ2VkKTsKKyAgICBKU1ZhbHVlUmVm
IGNvbnRleHRDbGljaygpOwogICAgIHZvaWQgbGVhcEZvcndhcmQoaW50IG1pbGxpc2Vjb25kcyk7
CiAgICAgdm9pZCBzY2hlZHVsZUFzeW5jaHJvbm91c0NsaWNrKCk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175428</attachid>
            <date>2012-11-21 06:34:37 -0800</date>
            <delta_ts>2012-11-21 06:45:43 -0800</delta_ts>
            <desc>eventSender.contextClick() method partially implemented.</desc>
            <filename>contextClick.patch</filename>
            <type>text/plain</type>
            <size>19174</size>
            <attacher name="Wojciech Bielawski">w.bielawski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyMGU1YWJiLi42YmI2MmY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMTEt
MjEgIFdvamNpZWNoIEJpZWxhd3NraSAgPHcuYmllbGF3c2tpQHNhbXN1bmcuY29tPgorCisgICAg
ICAgIFtXSzJdW1dLVFJdIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgZXZlbnRTZW5kZXIuY29udGV4
dENsaWNrKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTg2ODgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgZXhwZWN0ZWQgcmVzdWx0cyBmb3IgdHdvIHRlc3RzIGZvciBFRkwgcGxhdGZvcm0uIFRl
c3QgZXhwZWN0YXRpb25zIGNoYW5nZWQKKyAgICAgICAgZm9yIEVGTCBXSzEvV0syIGFuZCBHVEsg
cGxhdGZvcm1zCisKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9uczoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9lZmwtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxh
dGZvcm0vZWZsLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL2drdC13
azIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvZWRpdGluZy9zZWxl
Y3Rpb24vNTM1NDQ1NS0yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvZWRp
dGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vZWZsL2Zhc3QvZXZlbnRzL2NvbnRleHQtbm8tZGVzZWxlY3QtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKwogMjAxMi0xMS0yMSAgSnVzc2kgS3Vra29uZW4gIDxqdXNzaS5rdWtrb25lbkBp
bnRlbC5jb20+CiAKICAgICAgICAgW0VGTF1bV0syXSBHYXJkZW5pbmc6IGNzczMvZGV2aWNlLWFk
YXB0L29wZXJhL2NvbnN0cmFpbi0wMDYgYW5kIC0wMDcgZmFpbApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZWZsLXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZWZsLXdrMS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDdiNTExOTMuLmRkZTBiZjAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC13azEvVGVzdEV4cGVjdGF0aW9ucwor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI3
OCwzICsyNzgsNiBAQCB3ZWJraXQub3JnL2IvMTAyNTE3IGNzczMvZGV2aWNlLWFkYXB0L29wZXJh
L2NvbnN0cmFpbi0wMjAueGh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMDI1MTcgY3Nz
My9kZXZpY2UtYWRhcHQvb3BlcmEvc3ludGF4LTAwMS54aHRtbCBbIEZhaWx1cmUgXQogd2Via2l0
Lm9yZy9iLzEwMjUxNyBjc3MzL2RldmljZS1hZGFwdC9vcGVyYS9zeW50YXgtMDAyLnhodG1sIFsg
RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTAyNTE3IGNzczMvZGV2aWNlLWFkYXB0L29wZXJhL3N5
bnRheC0wMDMueGh0bWwgWyBGYWlsdXJlIF0KKworIyBFU0Mga2V5IGRvZXMgbm90IGNhbmNlbCBj
b250ZXh0IG1lbnUgaW4gRUZMIHBvcnQKK0J1ZyhFRkwpIGVkaXRpbmcvc2VsZWN0aW9uLzUzNTQ0
NTUtMS5odG1sIFsgRmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9l
Zmwtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwtd2syL1Rl
c3RFeHBlY3RhdGlvbnMKaW5kZXggZWI1YWU5Zi4uYjhiZjg4MyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZWZsLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2VmbC13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjc2LDIzICsyNzYsOSBAQCB3
ZWJraXQub3JnL2IvOTk1NjIgaHR0cC90ZXN0cy9wbHVnaW5zL3Bvc3QtdXJsLWZpbGUuaHRtbCBb
IEZhaWx1cmUgXQogIyBDb21wYXJpc29uIG9mIHR3byBqYXZhc2NyaXB0IG9iamVjdHMgaW4gQysr
IGlzIGZhaWxpbmcuCiB3ZWJraXQub3JnL2IvOTg3MzkgcGx1Z2lucy9ucHJ1bnRpbWUvZW1iZWQt
cHJvcGVydHktZXF1YWxpdHkuaHRtbCBbIEZhaWx1cmUgXQogCi0jIFdlYktpdFRlc3RSdW5uZXIg
bmVlZHMgYW4gaW1wbGVtZW50YXRpb24gZm9yIGV2ZW50U2VuZGVyLmNvbnRleHRDbGljawotd2Vi
a2l0Lm9yZy9iLzg2ODgxIGVkaXRpbmcvcGFzdGVib2FyZC9jb3B5LXN0YW5kYWxvbmUtaW1hZ2Ut
Y3Jhc2guaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2ODgxIGVkaXRpbmcvc2VsZWN0
aW9uLzUzNTQ0NTUtMS5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODY4ODEgZWRpdGlu
Zy9zZWxlY3Rpb24vNTM1NDQ1NS0yLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84Njg4
MSBlZGl0aW5nL3NlbGVjdGlvbi9idXR0b24tcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1cmUgXQot
d2Via2l0Lm9yZy9iLzg2ODgxIGVkaXRpbmcvc2VsZWN0aW9uL2NvbnRleHQtbWVudS1vbi10ZXh0
Lmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84Njg4MSBlZGl0aW5nL3NlbGVjdGlvbi9j
b250ZXh0LW1lbnUtdGV4dC1zZWxlY3Rpb24uaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9i
Lzg2ODgxIGVkaXRpbmcvc2VsZWN0aW9uL2VtcHR5LWNlbGwtcmlnaHQtY2xpY2suaHRtbCBbIEZh
aWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2ODgxIGVkaXRpbmcvc2hhZG93L3JpZ2h0Y2xpY2stb24t
bWV0ZXItaW4tc2hhZG93LWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84Njg4
MSBlZGl0aW5nL3NwZWxsaW5nL2NvbnRleHQtbWVudS1zdWdnZXN0aW9ucy5odG1sIFsgRmFpbHVy
ZSBdCi13ZWJraXQub3JnL2IvODY4ODEgZmFzdC9ldmVudHMvY29udGV4dC1uby1kZXNlbGVjdC5o
dG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODY4ODEgZmFzdC9ldmVudHMvY29udGV4dC1v
bm1vdXNlZG93bi1ldmVudC5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODY4ODEgZmFz
dC9ldmVudHMvY29udGV4dG1lbnUtc2Nyb2xsZWQtcGFnZS13aXRoLWZyYW1lLmh0bWwgWyBGYWls
dXJlIF0KLXdlYmtpdC5vcmcvYi84Njg4MSBmYXN0L2V2ZW50cy9yaWdodC1jbGljay1mb2N1cy5o
dG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODY4ODEgZmFzdC9ldmVudHMvc2VsZWN0c3Rh
cnQtcHJldmVudC1zZWxlY3Rpb24tb24tcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1cmUgXQotd2Vi
a2l0Lm9yZy9iLzg2ODgxIG1lZGlhL2NvbnRleHQtbWVudS1hY3Rpb25zLmh0bWwgWyBGYWlsdXJl
IF0KLXdlYmtpdC5vcmcvYi84Njg4MSBtZWRpYS9jb250cm9scy1yaWdodC1jbGljay1vbi10aW1l
YmFyLmh0bWwgWyBGYWlsdXJlIF0KKyMgRUZMJ3MgRXZlbnRTZW5kZXIgY29udGV4dENsaWNrIHNo
b3VsZCByZXR1cm4gb2JqZWN0cyB0aGF0IGltcGxlbWVudHMgY2xpY2soKSBtZXRob2QKK3dlYmtp
dC5vcmcvYi85ODQxMCBlZGl0aW5nL3Bhc3RlYm9hcmQvY29weS1zdGFuZGFsb25lLWltYWdlLWNy
YXNoLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi85ODQxMCBtZWRpYS9jb250ZXh0LW1l
bnUtYWN0aW9ucy5odG1sIFsgRmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8xMDIyMDEgZmFzdC9k
b20vV2luZG93L3dpbmRvdy1yZXNpemUuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzEw
MjIwMSBmYXN0L2RvbS9XaW5kb3cvb3Blbi13aW5kb3ctbWluLXNpemUuaHRtbCBbIEZhaWx1cmUg
XQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBhYjQ0OWQz
Li5kY2JiZDVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtMTY4NCwzICsxNjg0LDkgQEAgd2Via2l0Lm9yZy9iLzEwMjM2NCBjb21wb3NpdGluZy9vdmVy
Zmxvdy9zY3JvbGxpbmctd2l0aG91dC1wYWludGluZy5odG1sIFsgRmFpbHUKIHdlYmtpdC5vcmcv
Yi8xMDIzNjcgZmFzdC9mb3Jtcy96b29tZWQtY29udHJvbHMuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgTWlzc2luZyBdCiAKIHdlYmtpdC5vcmcvYi8xMDI0OTMgZmFzdC9ldmVudHMvbW91c2UtY3Vy
c29yLmh0bWwgWyBGYWlsdXJlIF0KKworIyBTdGFydCBvZiBtZWRpYSBwbGF5ZXIgY2F1c2VzIHRp
bWVvdXQuCitCdWcoRUZMKSBtZWRpYS9jb250cm9scy1yaWdodC1jbGljay1vbi10aW1lYmFyLmh0
bWwgWyBGYWlsdXJlIF0KKworIyBObyBzcGVsbGNoZWNrIHN1Z2dlc3Rpb25zIGluIGNvbnRleHQg
bWVudQorQnVnKEVGTCkgZWRpdGluZy9zcGVsbGluZy9jb250ZXh0LW1lbnUtc3VnZ2VzdGlvbnMu
aHRtbCBbIEZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrLXdr
Mi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrLXdrMi9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IGMwNGQyYmUuLjVhZTRjNWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGstd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEzMiwxOSArMTMyLDYgQEAgQnVnKEdU
SykgZWRpdGluZy9zZWxlY3Rpb24vZXh0ZW5kLWFmdGVyLW1vdXNlLXNlbGVjdGlvbi5odG1sIFsg
RmFpbHVyZSBdCiAjIFdlYktpdDIgbmVlZHMgdGV4dElucHV0Q29udHJvbGxlci5zZWxlY3RlZFJh
bmdlCiBCdWcoR1RLKSBlZGl0aW5nL3NlbGVjdGlvbi9taXhlZC1lZGl0YWJpbGl0eS0xMC5odG1s
IFsgRmFpbHVyZSBdCiAKLSMgSW1wbGVtZW50IGV2ZW50U2VuZGVyLmNvbnRleHRDbGljawotQnVn
KEdUSykgZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktc3RhbmRhbG9uZS1pbWFnZS1jcmFzaC5odG1s
IFsgRmFpbHVyZSBdCi1CdWcoR1RLKSBlZGl0aW5nL3NlbGVjdGlvbi9lbXB0eS1jZWxsLXJpZ2h0
LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhHVEspIGVkaXRpbmcvc2VsZWN0aW9uL2J1dHRv
bi1yaWdodC1jbGljay5odG1sIFsgRmFpbHVyZSBdCi1CdWcoR1RLKSBlZGl0aW5nL3NlbGVjdGlv
bi9jb250ZXh0LW1lbnUtb24tdGV4dC5odG1sIFsgRmFpbHVyZSBdCi1CdWcoR1RLKSBlZGl0aW5n
L3NlbGVjdGlvbi9lbXB0eS1jZWxsLXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhH
VEspIGZhc3QvZXZlbnRzL3NlbGVjdHN0YXJ0LXByZXZlbnQtc2VsZWN0aW9uLW9uLXJpZ2h0LWNs
aWNrLmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhHVEspIGZhc3QvZXZlbnRzL2NvbnRleHQtbm8tZGVz
ZWxlY3QuaHRtbCBbIEZhaWx1cmUgXQotQnVnKEdUSykgZmFzdC9ldmVudHMvY29udGV4dG1lbnUt
c2Nyb2xsZWQtcGFnZS13aXRoLWZyYW1lLmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhHVEspIGZhc3Qv
ZXZlbnRzL2NvbnRleHQtb25tb3VzZWRvd24tZXZlbnQuaHRtbCBbIEZhaWx1cmUgXQotQnVnKEdU
SykgbWVkaWEvY29udHJvbHMtcmlnaHQtY2xpY2stb24tdGltZWJhci5odG1sIFsgRmFpbHVyZSBd
Ci1CdWcoR1RLKSBzdmcvY3VzdG9tL3VzZS1ldmVudHMtY3Jhc2guc3ZnIFsgRmFpbHVyZSBdCi0K
ICMgSW1wbGVtZW50IFBhZ2VDbGllbnRJbXBsOjpyZWdpc3RlckVkaXRDb21tYW5kIGFuZCBoYW5k
bGluZyBjb21tYW5kcyBmdW5jdGlvbnMKIEJ1ZyhHVEspIGVkaXRpbmcvZGVsZXRpbmcvZGVsZXRl
LWJ5LXdvcmQtMDAyLmh0bWwgWyBGYWlsdXJlIF0KIEJ1ZyhHVEspIGVkaXRpbmcvZGVsZXRpbmcv
ZGVsZXRlLWFuZC11bmRvLmh0bWwgWyBGYWlsdXJlIF0KQEAgLTU5MiwzICs1NzksMjUgQEAgd2Vi
a2l0Lm9yZy9iLzEwMjc3NiBtZWRpYS90cmFjay90cmFjay1jdWUtY29udGFpbmVyLXJlbmRlcmlu
Zy1wb3NpdGlvbi5odG1sIFsgRmEKICMgRW5kIG9mIFRlc3RzIHdvcmtpbmcgaW4gV0syIGFuZCBm
YWlsaW5nIGluIFdLMQogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KIAorCisjIFNl
bGVjdGlvbiBkb2Vzbid0IHdvcmsgcHJvcGVybHkuCitCdWcoR1RLKSBlZGl0aW5nL3NlbGVjdGlv
bi9jb250ZXh0LW1lbnUtdGV4dC1zZWxlY3Rpb24uaHRtbCBbIEZhaWx1cmUgUGFzcyBdCitCdWco
R1RLKSBlZGl0aW5nL3NlbGVjdGlvbi9lbXB0eS1jZWxsLXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWls
dXJlIF0KK0J1ZyhHVEspIGVkaXRpbmcvc3BlbGxpbmcvY29udGV4dC1tZW51LXN1Z2dlc3Rpb25z
Lmh0bWwgWyBGYWlsdXJlIF0KKworIyBFdmVudFNlbmRlcidzIGNvbnRleHRDbGljayBzaG91bGQg
cmV0dXJuIG9iamVjdHMgdGhhdCBpbXBsZW1lbnRzIGNsaWNrKCkgbWV0aG9kCit3ZWJraXQub3Jn
L2IvOTg0MTAgZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktc3RhbmRhbG9uZS1pbWFnZS1jcmFzaC5o
dG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvOTg0MTAgbWVkaWEvY29udGV4dC1tZW51LWFj
dGlvbnMuaHRtbCBbIEZhaWx1cmUgXQorCisjIEFuIG9uY29udGV4dG1lbnUgYXR0cmlidXRlIGlz
IG5vdCBjYWxsZWQuCitCdWcoR1RLKSBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsY2hlY2staW5wdXQt
c2VhcmNoLWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KK0J1ZyhHVEspIGZhc3QvZXZlbnRzL2NvbnRl
eHRtZW51LXNjcm9sbGVkLXBhZ2Utd2l0aC1mcmFtZS5odG1sIFsgRmFpbHVyZSBdCisKKyMgQW4g
b25tb3VzZWRvd24gYXR0cmlidXRlIGlzIG5vdCBjYWxsZWQuCitCdWcoR1RLKSBmYXN0L2V2ZW50
cy9jb250ZXh0LW9ubW91c2Vkb3duLWV2ZW50Lmh0bWwgWyBGYWlsdXJlIF0KKworIyBBbiBvbnNl
bGVjdHN0YXJ0IGF0dHJpYnV0ZSBpcyBub3QgY2FsbGVkLgorQnVnKEdUSykgZmFzdC9ldmVudHMv
c2VsZWN0c3RhcnQtcHJldmVudC1zZWxlY3Rpb24tb24tcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1
cmUgXQorCisjIFN0YXJ0IG9mIG1lZGlhIHBsYXllciBjYXVzZXMgdGltZW91dAorQnVnKEdUSykg
bWVkaWEvY29udHJvbHMtcmlnaHQtY2xpY2stb24tdGltZWJhci5odG1sIFsgRmFpbHVyZSBdCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKaW5kZXggMmVmMGMzZi4uZjg2OTVjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBA
CisyMDEyLTExLTIxICBXb2pjaWVjaCBCaWVsYXdza2kgIDx3LmJpZWxhd3NraUBzYW1zdW5nLmNv
bT4KKworICAgICAgICBbV0syXVtXS1RSXSBXZWJLaXRUZXN0UnVubmVyIG5lZWRzIGV2ZW50U2Vu
ZGVyLmNvbnRleHRDbGljaygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04Njg4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEluamVjdGVkQnVuZGxlIEFQSSBleHRlbmRlZCB0byByZXRyaWV2ZSBjb250ZXh0
TWVudSBlbnRyaWVzIG5hbWVzLgorICAgICAgICBXZWJDb250ZXh0TWVudSBleHRlZGVkIHdpdGgg
ZnVuY3Rpb24gdG8gcmV0cmlldmUgbWVudSBpdGVtcy4KKyAgICAgICAgVGhpcyBBUEkgaXMgcmVx
dWlyZWQgYnkgbGF5b3V0IHRlc3RzLgorICAgICAgICBDb21tb24gY29kZSBpbiBXZWJDb250ZXh0
TWVudS5jcHAgbW92ZWQgdG8gc2VhcmF0ZSBtZXRob2QgbWVudUl0ZW1zV2l0aFVzZXJEYXRhKCku
CisgICAgICAgIEJlaGF2aW91ciBvZiBkZXBlbmRlbmQgbWV0aG9kcyBpcyB1bmNoYW5nZWQuCisK
KyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5j
cHA6CisgICAgICAgIChXS0J1bmRsZVBhZ2VHZXRDb250ZXh0TWVudUVudHJpZXNOYW1lcyk6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJDb250ZXh0TWVudTo6aXRlbXMpOgorICAgICAgICAoV2ViS2l0KToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuaDoKKyAgICAgICAgKFdl
YkNvbnRleHRNZW51KToKKwogMjAxMi0xMS0yMSAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2lt
QHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdW1dLMl0gU3VwcG9ydCBDb250ZXh0IE1lbnUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L2MvV0tCdW5kbGVQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcAppbmRleCA1M2RkZjYxLi5kZjRjOTc0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dL
QnVuZGxlUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCkBAIC0zMCwxMyArMzAsMTkgQEAKICNpbmNsdWRl
ICJJbmplY3RlZEJ1bmRsZUJhY2tGb3J3YXJkTGlzdC5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVu
ZGxlTm9kZUhhbmRsZS5oIgogI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgorI2luY2x1ZGUgIldLQXJy
YXkuaCIKICNpbmNsdWRlICJXS0J1bmRsZUFQSUNhc3QuaCIKKyNpbmNsdWRlICJXS1JldGFpblB0
ci5oIgorI2luY2x1ZGUgIldLU3RyaW5nLmgiCisjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnUuaCIK
KyNpbmNsdWRlICJXZWJDb250ZXh0TWVudUl0ZW0uaCIKICNpbmNsdWRlICJXZWJGcmFtZS5oIgog
I2luY2x1ZGUgIldlYkZ1bGxTY3JlZW5NYW5hZ2VyLmgiCiAjaW5jbHVkZSAiV2ViSW1hZ2UuaCIK
ICNpbmNsdWRlICJXZWJQYWdlLmgiCiAjaW5jbHVkZSAiV2ViUmVuZGVyTGF5ZXIuaCIKICNpbmNs
dWRlICJXZWJSZW5kZXJPYmplY3QuaCIKKyNpbmNsdWRlICJXZWJTdHJpbmcuaCIKICNpbmNsdWRl
ICJXZWJVUkwuaCIKICNpbmNsdWRlICJXZWJVUkxSZXF1ZXN0LmgiCiAKQEAgLTE0NSw2ICsxNTEs
MjMgQEAgV0tCdW5kbGVGcmFtZVJlZiBXS0J1bmRsZVBhZ2VHZXRNYWluRnJhbWUoV0tCdW5kbGVQ
YWdlUmVmIHBhZ2VSZWYpCiAgICAgcmV0dXJuIHRvQVBJKHRvSW1wbChwYWdlUmVmKS0+bWFpbldl
YkZyYW1lKCkpOwogfQogCitXS0FycmF5UmVmIFdLQnVuZGxlUGFnZUNvcHlDb250ZXh0TWVudUl0
ZW1UaXRsZXMoV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYpCit7CisjaWYgRU5BQkxFKENPTlRFWFRf
TUVOVVMpCisgICAgV2ViQ29udGV4dE1lbnUqIGNvbnRleHRNZW51ID0gdG9JbXBsKHBhZ2VSZWYp
LT5jb250ZXh0TWVudSgpOworICAgIGNvbnN0IFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRh
PiAmaXRlbXMgPSBjb250ZXh0TWVudS0+aXRlbXMoKTsKKyAgICBzaXplX3QgYXJyYXlMZW5ndGgg
PSBpdGVtcy5zaXplKCk7CisgICAgT3duQXJyYXlQdHI8V0tUeXBlUmVmPiBpdGVtTmFtZXMgPSBh
ZG9wdEFycmF5UHRyKG5ldyBXS1R5cGVSZWZbYXJyYXlMZW5ndGhdKTsKKyAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IGFycmF5TGVuZ3RoOyArK2kpIHsKKyAgICAgICAgaXRlbU5hbWVzW2ldID0g
V0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoaXRlbXNbaV0udGl0bGUoKS51dGY4KCkuZGF0
YSgpKTsKKyAgICB9CisKKyAgICByZXR1cm4gV0tBcnJheUNyZWF0ZShpdGVtTmFtZXMuZ2V0KCks
IGFycmF5TGVuZ3RoKTsKKyNlbHNlCisgICAgcmV0dXJuIDA7CisjZW5kaWYKK30KKwogdm9pZCog
V0tBY2Nlc3NpYmlsaXR5Um9vdE9iamVjdChXS0J1bmRsZVBhZ2VSZWYgcGFnZVJlZikKIHsKICNp
ZiBIQVZFKEFDQ0VTU0lCSUxJVFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUHJpdmF0
ZS5oCmluZGV4IDExYjIwZGMuLmQ3NjlmYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUHJpdmF0ZS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQ
YWdlUHJpdmF0ZS5oCkBAIC03Nyw2ICs3Nyw4IEBAIFdLX0VYUE9SVCBib29sIFdLQnVuZGxlUGFn
ZUNhblNob3dNSU1FVHlwZShXS0J1bmRsZVBhZ2VSZWYsIFdLU3RyaW5nUmVmIG1pbWVUeXBlCiBX
S19FWFBPUlQgdm9pZCogV0tBY2Nlc3NpYmlsaXR5Um9vdE9iamVjdChXS0J1bmRsZVBhZ2VSZWYp
OwogV0tfRVhQT1JUIHZvaWQqIFdLQWNjZXNzaWJpbGl0eUZvY3VzZWRPYmplY3QoV0tCdW5kbGVQ
YWdlUmVmKTsKIAorV0tfRVhQT1JUIFdLQXJyYXlSZWYgV0tCdW5kbGVQYWdlQ29weUNvbnRleHRN
ZW51SXRlbVRpdGxlcyhXS0J1bmRsZVBhZ2VSZWYpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0K
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YkNvbnRleHRNZW51LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJD
b250ZXh0TWVudS5jcHAKaW5kZXggM2E5MWQ5MC4uMjNmZmMzZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuY3BwCkBAIC02OSw2
ICs2OSwzMiBAQCB2b2lkIFdlYkNvbnRleHRNZW51OjpzaG93KCkKICAgICBpZiAoIXZpZXcpCiAg
ICAgICAgIHJldHVybjsKIAorICAgIFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiBtZW51
SXRlbXM7CisgICAgUmVmUHRyPEFQSU9iamVjdD4gdXNlckRhdGE7CisgICAgbWVudUl0ZW1zV2l0
aFVzZXJEYXRhKG1lbnVJdGVtcywgdXNlckRhdGEpOworICAgIFdlYkhpdFRlc3RSZXN1bHQ6OkRh
dGEgd2ViSGl0VGVzdFJlc3VsdERhdGEoY29udHJvbGxlci0+aGl0VGVzdFJlc3VsdCgpKTsKKwor
ICAgIC8vIE1hcmsgdGhlIFdlYlBhZ2UgaGFzIGhhdmluZyBhIHNob3duIGNvbnRleHQgbWVudSB0
aGVuIG5vdGlmeSB0aGUgVUlQcm9jZXNzLgorICAgIG1fcGFnZS0+Y29udGV4dE1lbnVTaG93aW5n
KCk7CisgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNob3dDb250ZXh0
TWVudSh2aWV3LT5jb250ZW50c1RvV2luZG93KGNvbnRyb2xsZXItPmhpdFRlc3RSZXN1bHQoKS5y
b3VuZGVkUG9pbnQoKSksIHdlYkhpdFRlc3RSZXN1bHREYXRhLCBtZW51SXRlbXMsIEluamVjdGVk
QnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyKHVzZXJEYXRhLmdldCgpKSkpOworfQorCit2b2lkIFdl
YkNvbnRleHRNZW51OjppdGVtU2VsZWN0ZWQoY29uc3QgV2ViQ29udGV4dE1lbnVJdGVtRGF0YSYg
aXRlbSkKK3sKKyAgICBDb250ZXh0TWVudUl0ZW0gY29yZUl0ZW0oQWN0aW9uVHlwZSwgc3RhdGlj
X2Nhc3Q8Q29udGV4dE1lbnVBY3Rpb24+KGl0ZW0uYWN0aW9uKCkpLCBpdGVtLnRpdGxlKCkpOwor
ICAgIG1fcGFnZS0+Y29yZVBhZ2UoKS0+Y29udGV4dE1lbnVDb250cm9sbGVyKCktPmNvbnRleHRN
ZW51SXRlbVNlbGVjdGVkKCZjb3JlSXRlbSk7Cit9CisKK3ZvaWQgV2ViQ29udGV4dE1lbnU6Om1l
bnVJdGVtc1dpdGhVc2VyRGF0YShWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4gJm1lbnVJ
dGVtcywgUmVmUHRyPEFQSU9iamVjdD4mIHVzZXJEYXRhKSBjb25zdAoreworICAgIENvbnRleHRN
ZW51Q29udHJvbGxlciogY29udHJvbGxlciA9IG1fcGFnZS0+Y29yZVBhZ2UoKS0+Y29udGV4dE1l
bnVDb250cm9sbGVyKCk7CisgICAgaWYgKCFjb250cm9sbGVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBDb250ZXh0TWVudSogbWVudSA9IGNvbnRyb2xsZXItPmNvbnRleHRNZW51KCk7CisgICAg
aWYgKCFtZW51KQorICAgICAgICByZXR1cm47CisKICAgICAvLyBHaXZlIHRoZSBidW5kbGUgY2xp
ZW50IGEgY2hhbmNlIHRvIHByb2Nlc3MgdGhlIG1lbnUuCiAjaWYgVVNFKENST1NTX1BMQVRGT1JN
X0NPTlRFWFRfTUVOVVMpCiAgICAgY29uc3QgVmVjdG9yPENvbnRleHRNZW51SXRlbT4mIGNvcmVJ
dGVtcyA9IG1lbnUtPml0ZW1zKCk7CkBAIC03NywyMiArMTAzLDE4IEBAIHZvaWQgV2ViQ29udGV4
dE1lbnU6OnNob3coKQogI2VuZGlmCiAgICAgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+
IHByb3Bvc2VkTWVudSA9IGtpdEl0ZW1zKGNvcmVJdGVtcywgbWVudSk7CiAgICAgVmVjdG9yPFdl
YkNvbnRleHRNZW51SXRlbURhdGE+IG5ld01lbnU7Ci0gICAgUmVmUHRyPEFQSU9iamVjdD4gdXNl
ckRhdGE7CiAgICAgUmVmUHRyPEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdD4gaGl0VGVzdFJl
c3VsdCA9IEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdDo6Y3JlYXRlKGNvbnRyb2xsZXItPmhp
dFRlc3RSZXN1bHQoKSk7CiAgICAgaWYgKG1fcGFnZS0+aW5qZWN0ZWRCdW5kbGVDb250ZXh0TWVu
dUNsaWVudCgpLmdldEN1c3RvbU1lbnVGcm9tRGVmYXVsdEl0ZW1zKG1fcGFnZSwgaGl0VGVzdFJl
c3VsdC5nZXQoKSwgcHJvcG9zZWRNZW51LCBuZXdNZW51LCB1c2VyRGF0YSkpCiAgICAgICAgIHBy
b3Bvc2VkTWVudSA9IG5ld01lbnU7Ci0KLSAgICBXZWJIaXRUZXN0UmVzdWx0OjpEYXRhIHdlYkhp
dFRlc3RSZXN1bHREYXRhKGNvbnRyb2xsZXItPmhpdFRlc3RSZXN1bHQoKSk7Ci0KLSAgICAvLyBN
YXJrIHRoZSBXZWJQYWdlIGhhcyBoYXZpbmcgYSBzaG93biBjb250ZXh0IG1lbnUgdGhlbiBub3Rp
ZnkgdGhlIFVJUHJvY2Vzcy4KLSAgICBtX3BhZ2UtPmNvbnRleHRNZW51U2hvd2luZygpOwotICAg
IG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTaG93Q29udGV4dE1lbnUodmll
dy0+Y29udGVudHNUb1dpbmRvdyhjb250cm9sbGVyLT5oaXRUZXN0UmVzdWx0KCkucm91bmRlZFBv
aW50KCkpLCB3ZWJIaXRUZXN0UmVzdWx0RGF0YSwgcHJvcG9zZWRNZW51LCBJbmplY3RlZEJ1bmRs
ZVVzZXJNZXNzYWdlRW5jb2Rlcih1c2VyRGF0YS5nZXQoKSkpKTsKKyAgICBtZW51SXRlbXMgPSBw
cm9wb3NlZE1lbnU7CiB9CiAKLXZvaWQgV2ViQ29udGV4dE1lbnU6Oml0ZW1TZWxlY3RlZChjb25z
dCBXZWJDb250ZXh0TWVudUl0ZW1EYXRhJiBpdGVtKQorVmVjdG9yPFdlYkNvbnRleHRNZW51SXRl
bURhdGE+IFdlYkNvbnRleHRNZW51OjppdGVtcygpIGNvbnN0CiB7Ci0gICAgQ29udGV4dE1lbnVJ
dGVtIGNvcmVJdGVtKEFjdGlvblR5cGUsIHN0YXRpY19jYXN0PENvbnRleHRNZW51QWN0aW9uPihp
dGVtLmFjdGlvbigpKSwgaXRlbS50aXRsZSgpKTsKLSAgICBtX3BhZ2UtPmNvcmVQYWdlKCktPmNv
bnRleHRNZW51Q29udHJvbGxlcigpLT5jb250ZXh0TWVudUl0ZW1TZWxlY3RlZCgmY29yZUl0ZW0p
OworICAgIFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiBtZW51SXRlbXM7CisgICAgUmVm
UHRyPEFQSU9iamVjdD4gdXNlckRhdGE7CisgICAgbWVudUl0ZW1zV2l0aFVzZXJEYXRhKG1lbnVJ
dGVtcywgdXNlckRhdGEpOworICAgIHJldHVybiBtZW51SXRlbXM7CiB9CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYkNvbnRleHRNZW51LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
Q29udGV4dE1lbnUuaAppbmRleCBjOGE1ZjVhLi5hNGNmNDIxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuaApAQCAtNDMsMTAgKzQz
LDEyIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2hvdygpOwogICAgIHZvaWQgaXRlbVNlbGVjdGVk
KGNvbnN0IFdlYkNvbnRleHRNZW51SXRlbURhdGEmKTsKKyAgICBWZWN0b3I8V2ViQ29udGV4dE1l
bnVJdGVtRGF0YT4gaXRlbXMoKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBXZWJDb250ZXh0TWVu
dShXZWJQYWdlKik7Ci0gICAgCisgICAgdm9pZCBtZW51SXRlbXNXaXRoVXNlckRhdGEoVmVjdG9y
PFdlYkNvbnRleHRNZW51SXRlbURhdGE+ICYsIFJlZlB0cjxBUElPYmplY3Q+JikgY29uc3Q7CisK
ICAgICBXZWJQYWdlKiBtX3BhZ2U7CiB9OwogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYmEzYjBhZC4uMmY3YzViNSAxMDA2NDQKLS0tIGEvVG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEy
LTExLTIxICBXb2pjaWVjaCBCaWVsYXdza2kgIDx3LmJpZWxhd3NraUBzYW1zdW5nLmNvbT4KKwor
ICAgICAgICBbV0syXVtXS1RSXSBXZWJLaXRUZXN0UnVubmVyIG5lZWRzIGV2ZW50U2VuZGVyLmNv
bnRleHRDbGljaygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04Njg4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIGV2ZW50U2VuZGVyIG9iamVjdCBleHRlbmRlZCB3aXRoIGNvbnRleHRDbGljaygpIG1ldGhv
ZCBpbiBXZWJLaXRUZXN0UnVubmVyLgorICAgICAgICBjb250ZXh0Q2xpY2soKSBtZXRob2QgcmV0
dXJucyBhbiBhcnJheSBvZiBtZW51IGl0ZW1zIG9iamVjdHMgd2l0aCBmaWVsZCAndGl0bGUnIGNv
bnRhaW5pbmcgdGl0bGUgb2Ygc2luZ2xlCisgICAgICAgIGNvbnRleHQgbWVudSBlbnRyeS4gQWNj
b3JkaW5nIHRvIHNvbWUgdGVzdHMgbWVudSBpdGVtcyBvYmplY3RzIHNoYWxsIGFsc28gc3VwcG9y
dCAnY2xpY2soKScgbWV0aG9kLCBidXQgaXQncyBub3QKKyAgICAgICAgZGVsaXZlcmVkIGluIHRo
aXMgcGF0Y2guCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Jp
bmRpbmdzL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaWRsOgorICAgICAgICAqIFdlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5jcHA6CisgICAgICAg
IChXVFI6OkV2ZW50U2VuZGluZ0NvbnRyb2xsZXI6OmNvbnRleHRDbGljayk6CisgICAgICAgIChX
VFIpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5k
aW5nQ29udHJvbGxlci5oOgorICAgICAgICAoRXZlbnRTZW5kaW5nQ29udHJvbGxlcik6CisKIDIw
MTItMTEtMjEgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMzUzNDAuCmRpZmYgLS1naXQgYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0V2ZW50U2VuZGluZ0NvbnRyb2xs
ZXIuaWRsIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9F
dmVudFNlbmRpbmdDb250cm9sbGVyLmlkbAppbmRleCA1MmE3YTViLi4xZDYyYzliIDEwMDY0NAot
LS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0V2ZW50
U2VuZGluZ0NvbnRyb2xsZXIuaWRsCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvQmluZGluZ3MvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5pZGwKQEAgLTI5LDYgKzI5
LDcgQEAgaW50ZXJmYWNlIEV2ZW50U2VuZGluZ0NvbnRyb2xsZXIgewogICAgIHZvaWQgbW91c2VN
b3ZlVG8oaW4gbG9uZyB4LCBpbiBsb25nIHkpOwogICAgIHZvaWQgbW91c2VTY3JvbGxCeShpbiBs
b25nIHgsIGluIGxvbmcgeSk7CiAgICAgdm9pZCBjb250aW51b3VzTW91c2VTY3JvbGxCeShpbiBs
b25nIHgsIGluIGxvbmcgeSwgaW4gW09wdGlvbmFsXSBib29sZWFuIHBhZ2VkKTsKKyAgICBvYmpl
Y3QgY29udGV4dENsaWNrKCk7CiAgICAgdm9pZCBzY2hlZHVsZUFzeW5jaHJvbm91c0NsaWNrKCk7
CiAKICAgICB2b2lkIGxlYXBGb3J3YXJkKGluIGxvbmcgbWlsbGlzZWNvbmRzKTsKZGlmZiAtLWdp
dCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29u
dHJvbGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2ZW50
U2VuZGluZ0NvbnRyb2xsZXIuY3BwCmluZGV4IGJmNmQ5YmMuLjVmZjZhYjMgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJv
bGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVu
dFNlbmRpbmdDb250cm9sbGVyLmNwcApAQCAtMzE5LDYgKzMxOSwzNiBAQCB2b2lkIEV2ZW50U2Vu
ZGluZ0NvbnRyb2xsZXI6OmNvbnRpbnVvdXNNb3VzZVNjcm9sbEJ5KGludCB4LCBpbnQgeSwgYm9v
bCBwYWdlZCkKICAgICBXS0J1bmRsZVBvc3RTeW5jaHJvbm91c01lc3NhZ2UoSW5qZWN0ZWRCdW5k
bGU6OnNoYXJlZCgpLmJ1bmRsZSgpLCBFdmVudFNlbmRlck1lc3NhZ2VOYW1lLmdldCgpLCBFdmVu
dFNlbmRlck1lc3NhZ2VCb2R5LmdldCgpLCAwKTsKIH0KIAorSlNWYWx1ZVJlZiBFdmVudFNlbmRp
bmdDb250cm9sbGVyOjpjb250ZXh0Q2xpY2soKQoreworICAgIFdLQnVuZGxlUGFnZVJlZiBwYWdl
ID0gSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnBhZ2UoKS0+cGFnZSgpOworICAgIFdLQnVuZGxl
RnJhbWVSZWYgbWFpbkZyYW1lID0gV0tCdW5kbGVQYWdlR2V0TWFpbkZyYW1lKHBhZ2UpOworICAg
IEpTQ29udGV4dFJlZiBjb250ZXh0ID0gV0tCdW5kbGVGcmFtZUdldEphdmFTY3JpcHRDb250ZXh0
KG1haW5GcmFtZSk7CisjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCisgICAgLy8gRG8gbW91c2Ug
Y29udGV4dCBjbGljay4KKyAgICBtb3VzZURvd24oMiwgMCk7CisgICAgbW91c2VVcCgyLCAwKTsK
KworICAgIFdLUmV0YWluUHRyPFdLQXJyYXlSZWY+IGVudHJpZXNOYW1lcyA9IGFkb3B0V0soV0tC
dW5kbGVQYWdlQ29weUNvbnRleHRNZW51SXRlbVRpdGxlcyhwYWdlKSk7CisgICAgSlNSZXRhaW5Q
dHI8SlNTdHJpbmdSZWY+IGpzUHJvcGVydHlOYW1lKEFkb3B0LCBKU1N0cmluZ0NyZWF0ZVdpdGhV
VEY4Q1N0cmluZygidGl0bGUiKSk7CisgICAgc2l6ZV90IGVudHJpZXNTaXplID0gV0tBcnJheUdl
dFNpemUoZW50cmllc05hbWVzLmdldCgpKTsKKyAgICBPd25BcnJheVB0cjxKU1ZhbHVlUmVmPiBq
c1ZhbHVlc0FycmF5ID0gYWRvcHRBcnJheVB0cihuZXcgSlNWYWx1ZVJlZltlbnRyaWVzU2l6ZV0p
OworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZW50cmllc1NpemU7ICsraSkgeworICAgICAg
ICBBU1NFUlQoV0tHZXRUeXBlSUQoV0tBcnJheUdldEl0ZW1BdEluZGV4KGVudHJpZXNOYW1lcy5n
ZXQoKSwgaSkpID09IFdLU3RyaW5nR2V0VHlwZUlEKCkpOworICAgICAgICBXS1N0cmluZ1JlZiB3
a0VudHJ5TmFtZSA9IHN0YXRpY19jYXN0PFdLU3RyaW5nUmVmPihXS0FycmF5R2V0SXRlbUF0SW5k
ZXgoZW50cmllc05hbWVzLmdldCgpLCBpKSk7CisgICAgICAgIEpTT2JqZWN0UmVmIGpzSXRlbU9i
amVjdCA9IEpTT2JqZWN0TWFrZShjb250ZXh0LCAwLCAwKTsKKyAgICAgICAgSlNSZXRhaW5QdHI8
SlNTdHJpbmdSZWY+IGpzTmFtZUNvcHkoQWRvcHQsIFdLU3RyaW5nQ29weUpTU3RyaW5nKHdrRW50
cnlOYW1lKSk7CisgICAgICAgIEpTVmFsdWVSZWYganNFbnRyeU5hbWUgPSBKU1ZhbHVlTWFrZVN0
cmluZyhjb250ZXh0LCBqc05hbWVDb3B5LmdldCgpKTsKKyAgICAgICAgSlNPYmplY3RTZXRQcm9w
ZXJ0eShjb250ZXh0LCBqc0l0ZW1PYmplY3QsIGpzUHJvcGVydHlOYW1lLmdldCgpLCBqc0VudHJ5
TmFtZSwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSwgMCk7CisgICAgICAgIGpzVmFsdWVz
QXJyYXlbaV0gPSBqc0l0ZW1PYmplY3Q7CisgICAgfQorCisgICAgcmV0dXJuIEpTT2JqZWN0TWFr
ZUFycmF5KGNvbnRleHQsIGVudHJpZXNTaXplLCBqc1ZhbHVlc0FycmF5LmdldCgpLCAwKTsKKyNl
bHNlCisgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworI2VuZGlmCit9
CisKICNpZmRlZiBVU0VfV0VCUFJPQ0VTU19FVkVOVF9TSU1VTEFUSU9OCiB2b2lkIEV2ZW50U2Vu
ZGluZ0NvbnRyb2xsZXI6OnVwZGF0ZUNsaWNrQ291bnQoV0tFdmVudE1vdXNlQnV0dG9uIGJ1dHRv
bikKIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
RXZlbnRTZW5kaW5nQ29udHJvbGxlci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmgKaW5kZXggNDEzYjkxYy4uNjljNTRmOSAx
MDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNl
bmRpbmdDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmgKQEAgLTUyLDYgKzUyLDcgQEAgcHVibGljOgog
ICAgIHZvaWQgbW91c2VNb3ZlVG8oaW50IHgsIGludCB5KTsKICAgICB2b2lkIG1vdXNlU2Nyb2xs
QnkoaW50IHgsIGludCB5KTsKICAgICB2b2lkIGNvbnRpbnVvdXNNb3VzZVNjcm9sbEJ5KGludCB4
LCBpbnQgeSwgYm9vbCBwYWdlZCk7CisgICAgSlNWYWx1ZVJlZiBjb250ZXh0Q2xpY2soKTsKICAg
ICB2b2lkIGxlYXBGb3J3YXJkKGludCBtaWxsaXNlY29uZHMpOwogICAgIHZvaWQgc2NoZWR1bGVB
c3luY2hyb25vdXNDbGljaygpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175431</attachid>
            <date>2012-11-21 06:45:43 -0800</date>
            <delta_ts>2012-11-21 07:04:52 -0800</delta_ts>
            <desc>eventSender.contextClick() method partially implemented.</desc>
            <filename>contextClick.patch</filename>
            <type>text/plain</type>
            <size>19165</size>
            <attacher name="Wojciech Bielawski">w.bielawski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmODIwOTFlLi5kZDYwZjZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMTEt
MjEgIFdvamNpZWNoIEJpZWxhd3NraSAgPHcuYmllbGF3c2tpQHNhbXN1bmcuY29tPgorCisgICAg
ICAgIFtXSzJdW1dLVFJdIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgZXZlbnRTZW5kZXIuY29udGV4
dENsaWNrKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTg2ODgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgZXhwZWN0ZWQgcmVzdWx0cyBmb3IgdHdvIHRlc3RzIGZvciBFRkwgcGxhdGZvcm0uIFRl
c3QgZXhwZWN0YXRpb25zIGNoYW5nZWQKKyAgICAgICAgZm9yIEVGTCBXSzEvV0syIGFuZCBHVEsg
cGxhdGZvcm1zCisKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9uczoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9lZmwtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxh
dGZvcm0vZWZsLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL2drdC13
azIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvZWRpdGluZy9zZWxl
Y3Rpb24vNTM1NDQ1NS0yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvZWRp
dGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vZWZsL2Zhc3QvZXZlbnRzL2NvbnRleHQtbm8tZGVzZWxlY3QtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKwogMjAxMi0xMS0yMSAgSnVzc2kgS3Vra29uZW4gIDxqdXNzaS5rdWtrb25lbkBp
bnRlbC5jb20+CiAKICAgICAgICAgW0VGTF1bV0syXSBHYXJkZW5pbmc6IGNzczMvZGV2aWNlLWFk
YXB0L29wZXJhL2NvbnN0cmFpbi0wMDYgYW5kIC0wMDcgZmFpbApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZWZsLXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZWZsLXdrMS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDdiNTExOTMuLmRkZTBiZjAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC13azEvVGVzdEV4cGVjdGF0aW9ucwor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI3
OCwzICsyNzgsNiBAQCB3ZWJraXQub3JnL2IvMTAyNTE3IGNzczMvZGV2aWNlLWFkYXB0L29wZXJh
L2NvbnN0cmFpbi0wMjAueGh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMDI1MTcgY3Nz
My9kZXZpY2UtYWRhcHQvb3BlcmEvc3ludGF4LTAwMS54aHRtbCBbIEZhaWx1cmUgXQogd2Via2l0
Lm9yZy9iLzEwMjUxNyBjc3MzL2RldmljZS1hZGFwdC9vcGVyYS9zeW50YXgtMDAyLnhodG1sIFsg
RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTAyNTE3IGNzczMvZGV2aWNlLWFkYXB0L29wZXJhL3N5
bnRheC0wMDMueGh0bWwgWyBGYWlsdXJlIF0KKworIyBFU0Mga2V5IGRvZXMgbm90IGNhbmNlbCBj
b250ZXh0IG1lbnUgaW4gRUZMIHBvcnQKK0J1ZyhFRkwpIGVkaXRpbmcvc2VsZWN0aW9uLzUzNTQ0
NTUtMS5odG1sIFsgRmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9l
Zmwtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwtd2syL1Rl
c3RFeHBlY3RhdGlvbnMKaW5kZXggZWI1YWU5Zi4uYjhiZjg4MyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZWZsLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2VmbC13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjc2LDIzICsyNzYsOSBAQCB3
ZWJraXQub3JnL2IvOTk1NjIgaHR0cC90ZXN0cy9wbHVnaW5zL3Bvc3QtdXJsLWZpbGUuaHRtbCBb
IEZhaWx1cmUgXQogIyBDb21wYXJpc29uIG9mIHR3byBqYXZhc2NyaXB0IG9iamVjdHMgaW4gQysr
IGlzIGZhaWxpbmcuCiB3ZWJraXQub3JnL2IvOTg3MzkgcGx1Z2lucy9ucHJ1bnRpbWUvZW1iZWQt
cHJvcGVydHktZXF1YWxpdHkuaHRtbCBbIEZhaWx1cmUgXQogCi0jIFdlYktpdFRlc3RSdW5uZXIg
bmVlZHMgYW4gaW1wbGVtZW50YXRpb24gZm9yIGV2ZW50U2VuZGVyLmNvbnRleHRDbGljawotd2Vi
a2l0Lm9yZy9iLzg2ODgxIGVkaXRpbmcvcGFzdGVib2FyZC9jb3B5LXN0YW5kYWxvbmUtaW1hZ2Ut
Y3Jhc2guaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2ODgxIGVkaXRpbmcvc2VsZWN0
aW9uLzUzNTQ0NTUtMS5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODY4ODEgZWRpdGlu
Zy9zZWxlY3Rpb24vNTM1NDQ1NS0yLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84Njg4
MSBlZGl0aW5nL3NlbGVjdGlvbi9idXR0b24tcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1cmUgXQot
d2Via2l0Lm9yZy9iLzg2ODgxIGVkaXRpbmcvc2VsZWN0aW9uL2NvbnRleHQtbWVudS1vbi10ZXh0
Lmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84Njg4MSBlZGl0aW5nL3NlbGVjdGlvbi9j
b250ZXh0LW1lbnUtdGV4dC1zZWxlY3Rpb24uaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9i
Lzg2ODgxIGVkaXRpbmcvc2VsZWN0aW9uL2VtcHR5LWNlbGwtcmlnaHQtY2xpY2suaHRtbCBbIEZh
aWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2ODgxIGVkaXRpbmcvc2hhZG93L3JpZ2h0Y2xpY2stb24t
bWV0ZXItaW4tc2hhZG93LWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84Njg4
MSBlZGl0aW5nL3NwZWxsaW5nL2NvbnRleHQtbWVudS1zdWdnZXN0aW9ucy5odG1sIFsgRmFpbHVy
ZSBdCi13ZWJraXQub3JnL2IvODY4ODEgZmFzdC9ldmVudHMvY29udGV4dC1uby1kZXNlbGVjdC5o
dG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODY4ODEgZmFzdC9ldmVudHMvY29udGV4dC1v
bm1vdXNlZG93bi1ldmVudC5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODY4ODEgZmFz
dC9ldmVudHMvY29udGV4dG1lbnUtc2Nyb2xsZWQtcGFnZS13aXRoLWZyYW1lLmh0bWwgWyBGYWls
dXJlIF0KLXdlYmtpdC5vcmcvYi84Njg4MSBmYXN0L2V2ZW50cy9yaWdodC1jbGljay1mb2N1cy5o
dG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODY4ODEgZmFzdC9ldmVudHMvc2VsZWN0c3Rh
cnQtcHJldmVudC1zZWxlY3Rpb24tb24tcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1cmUgXQotd2Vi
a2l0Lm9yZy9iLzg2ODgxIG1lZGlhL2NvbnRleHQtbWVudS1hY3Rpb25zLmh0bWwgWyBGYWlsdXJl
IF0KLXdlYmtpdC5vcmcvYi84Njg4MSBtZWRpYS9jb250cm9scy1yaWdodC1jbGljay1vbi10aW1l
YmFyLmh0bWwgWyBGYWlsdXJlIF0KKyMgRUZMJ3MgRXZlbnRTZW5kZXIgY29udGV4dENsaWNrIHNo
b3VsZCByZXR1cm4gb2JqZWN0cyB0aGF0IGltcGxlbWVudHMgY2xpY2soKSBtZXRob2QKK3dlYmtp
dC5vcmcvYi85ODQxMCBlZGl0aW5nL3Bhc3RlYm9hcmQvY29weS1zdGFuZGFsb25lLWltYWdlLWNy
YXNoLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi85ODQxMCBtZWRpYS9jb250ZXh0LW1l
bnUtYWN0aW9ucy5odG1sIFsgRmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8xMDIyMDEgZmFzdC9k
b20vV2luZG93L3dpbmRvdy1yZXNpemUuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzEw
MjIwMSBmYXN0L2RvbS9XaW5kb3cvb3Blbi13aW5kb3ctbWluLXNpemUuaHRtbCBbIEZhaWx1cmUg
XQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBhYjQ0OWQz
Li5kY2JiZDVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtMTY4NCwzICsxNjg0LDkgQEAgd2Via2l0Lm9yZy9iLzEwMjM2NCBjb21wb3NpdGluZy9vdmVy
Zmxvdy9zY3JvbGxpbmctd2l0aG91dC1wYWludGluZy5odG1sIFsgRmFpbHUKIHdlYmtpdC5vcmcv
Yi8xMDIzNjcgZmFzdC9mb3Jtcy96b29tZWQtY29udHJvbHMuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgTWlzc2luZyBdCiAKIHdlYmtpdC5vcmcvYi8xMDI0OTMgZmFzdC9ldmVudHMvbW91c2UtY3Vy
c29yLmh0bWwgWyBGYWlsdXJlIF0KKworIyBTdGFydCBvZiBtZWRpYSBwbGF5ZXIgY2F1c2VzIHRp
bWVvdXQuCitCdWcoRUZMKSBtZWRpYS9jb250cm9scy1yaWdodC1jbGljay1vbi10aW1lYmFyLmh0
bWwgWyBGYWlsdXJlIF0KKworIyBObyBzcGVsbGNoZWNrIHN1Z2dlc3Rpb25zIGluIGNvbnRleHQg
bWVudQorQnVnKEVGTCkgZWRpdGluZy9zcGVsbGluZy9jb250ZXh0LW1lbnUtc3VnZ2VzdGlvbnMu
aHRtbCBbIEZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrLXdr
Mi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrLXdrMi9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IGMwNGQyYmUuLjVhZTRjNWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGstd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEzMiwxOSArMTMyLDYgQEAgQnVnKEdU
SykgZWRpdGluZy9zZWxlY3Rpb24vZXh0ZW5kLWFmdGVyLW1vdXNlLXNlbGVjdGlvbi5odG1sIFsg
RmFpbHVyZSBdCiAjIFdlYktpdDIgbmVlZHMgdGV4dElucHV0Q29udHJvbGxlci5zZWxlY3RlZFJh
bmdlCiBCdWcoR1RLKSBlZGl0aW5nL3NlbGVjdGlvbi9taXhlZC1lZGl0YWJpbGl0eS0xMC5odG1s
IFsgRmFpbHVyZSBdCiAKLSMgSW1wbGVtZW50IGV2ZW50U2VuZGVyLmNvbnRleHRDbGljawotQnVn
KEdUSykgZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktc3RhbmRhbG9uZS1pbWFnZS1jcmFzaC5odG1s
IFsgRmFpbHVyZSBdCi1CdWcoR1RLKSBlZGl0aW5nL3NlbGVjdGlvbi9lbXB0eS1jZWxsLXJpZ2h0
LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhHVEspIGVkaXRpbmcvc2VsZWN0aW9uL2J1dHRv
bi1yaWdodC1jbGljay5odG1sIFsgRmFpbHVyZSBdCi1CdWcoR1RLKSBlZGl0aW5nL3NlbGVjdGlv
bi9jb250ZXh0LW1lbnUtb24tdGV4dC5odG1sIFsgRmFpbHVyZSBdCi1CdWcoR1RLKSBlZGl0aW5n
L3NlbGVjdGlvbi9lbXB0eS1jZWxsLXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhH
VEspIGZhc3QvZXZlbnRzL3NlbGVjdHN0YXJ0LXByZXZlbnQtc2VsZWN0aW9uLW9uLXJpZ2h0LWNs
aWNrLmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhHVEspIGZhc3QvZXZlbnRzL2NvbnRleHQtbm8tZGVz
ZWxlY3QuaHRtbCBbIEZhaWx1cmUgXQotQnVnKEdUSykgZmFzdC9ldmVudHMvY29udGV4dG1lbnUt
c2Nyb2xsZWQtcGFnZS13aXRoLWZyYW1lLmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhHVEspIGZhc3Qv
ZXZlbnRzL2NvbnRleHQtb25tb3VzZWRvd24tZXZlbnQuaHRtbCBbIEZhaWx1cmUgXQotQnVnKEdU
SykgbWVkaWEvY29udHJvbHMtcmlnaHQtY2xpY2stb24tdGltZWJhci5odG1sIFsgRmFpbHVyZSBd
Ci1CdWcoR1RLKSBzdmcvY3VzdG9tL3VzZS1ldmVudHMtY3Jhc2guc3ZnIFsgRmFpbHVyZSBdCi0K
ICMgSW1wbGVtZW50IFBhZ2VDbGllbnRJbXBsOjpyZWdpc3RlckVkaXRDb21tYW5kIGFuZCBoYW5k
bGluZyBjb21tYW5kcyBmdW5jdGlvbnMKIEJ1ZyhHVEspIGVkaXRpbmcvZGVsZXRpbmcvZGVsZXRl
LWJ5LXdvcmQtMDAyLmh0bWwgWyBGYWlsdXJlIF0KIEJ1ZyhHVEspIGVkaXRpbmcvZGVsZXRpbmcv
ZGVsZXRlLWFuZC11bmRvLmh0bWwgWyBGYWlsdXJlIF0KQEAgLTU5MiwzICs1NzksMjUgQEAgd2Vi
a2l0Lm9yZy9iLzEwMjc3NiBtZWRpYS90cmFjay90cmFjay1jdWUtY29udGFpbmVyLXJlbmRlcmlu
Zy1wb3NpdGlvbi5odG1sIFsgRmEKICMgRW5kIG9mIFRlc3RzIHdvcmtpbmcgaW4gV0syIGFuZCBm
YWlsaW5nIGluIFdLMQogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KIAorCisjIFNl
bGVjdGlvbiBkb2Vzbid0IHdvcmsgcHJvcGVybHkuCitCdWcoR1RLKSBlZGl0aW5nL3NlbGVjdGlv
bi9jb250ZXh0LW1lbnUtdGV4dC1zZWxlY3Rpb24uaHRtbCBbIEZhaWx1cmUgUGFzcyBdCitCdWco
R1RLKSBlZGl0aW5nL3NlbGVjdGlvbi9lbXB0eS1jZWxsLXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWls
dXJlIF0KK0J1ZyhHVEspIGVkaXRpbmcvc3BlbGxpbmcvY29udGV4dC1tZW51LXN1Z2dlc3Rpb25z
Lmh0bWwgWyBGYWlsdXJlIF0KKworIyBFdmVudFNlbmRlcidzIGNvbnRleHRDbGljayBzaG91bGQg
cmV0dXJuIG9iamVjdHMgdGhhdCBpbXBsZW1lbnRzIGNsaWNrKCkgbWV0aG9kCit3ZWJraXQub3Jn
L2IvOTg0MTAgZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktc3RhbmRhbG9uZS1pbWFnZS1jcmFzaC5o
dG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvOTg0MTAgbWVkaWEvY29udGV4dC1tZW51LWFj
dGlvbnMuaHRtbCBbIEZhaWx1cmUgXQorCisjIEFuIG9uY29udGV4dG1lbnUgYXR0cmlidXRlIGlz
IG5vdCBjYWxsZWQuCitCdWcoR1RLKSBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsY2hlY2staW5wdXQt
c2VhcmNoLWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KK0J1ZyhHVEspIGZhc3QvZXZlbnRzL2NvbnRl
eHRtZW51LXNjcm9sbGVkLXBhZ2Utd2l0aC1mcmFtZS5odG1sIFsgRmFpbHVyZSBdCisKKyMgQW4g
b25tb3VzZWRvd24gYXR0cmlidXRlIGlzIG5vdCBjYWxsZWQuCitCdWcoR1RLKSBmYXN0L2V2ZW50
cy9jb250ZXh0LW9ubW91c2Vkb3duLWV2ZW50Lmh0bWwgWyBGYWlsdXJlIF0KKworIyBBbiBvbnNl
bGVjdHN0YXJ0IGF0dHJpYnV0ZSBpcyBub3QgY2FsbGVkLgorQnVnKEdUSykgZmFzdC9ldmVudHMv
c2VsZWN0c3RhcnQtcHJldmVudC1zZWxlY3Rpb24tb24tcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1
cmUgXQorCisjIFN0YXJ0IG9mIG1lZGlhIHBsYXllciBjYXVzZXMgdGltZW91dAorQnVnKEdUSykg
bWVkaWEvY29udHJvbHMtcmlnaHQtY2xpY2stb24tdGltZWJhci5odG1sIFsgRmFpbHVyZSBdCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKaW5kZXggMmVmMGMzZi4uZjg2OTVjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBA
CisyMDEyLTExLTIxICBXb2pjaWVjaCBCaWVsYXdza2kgIDx3LmJpZWxhd3NraUBzYW1zdW5nLmNv
bT4KKworICAgICAgICBbV0syXVtXS1RSXSBXZWJLaXRUZXN0UnVubmVyIG5lZWRzIGV2ZW50U2Vu
ZGVyLmNvbnRleHRDbGljaygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04Njg4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEluamVjdGVkQnVuZGxlIEFQSSBleHRlbmRlZCB0byByZXRyaWV2ZSBjb250ZXh0
TWVudSBlbnRyaWVzIG5hbWVzLgorICAgICAgICBXZWJDb250ZXh0TWVudSBleHRlZGVkIHdpdGgg
ZnVuY3Rpb24gdG8gcmV0cmlldmUgbWVudSBpdGVtcy4KKyAgICAgICAgVGhpcyBBUEkgaXMgcmVx
dWlyZWQgYnkgbGF5b3V0IHRlc3RzLgorICAgICAgICBDb21tb24gY29kZSBpbiBXZWJDb250ZXh0
TWVudS5jcHAgbW92ZWQgdG8gc2VhcmF0ZSBtZXRob2QgbWVudUl0ZW1zV2l0aFVzZXJEYXRhKCku
CisgICAgICAgIEJlaGF2aW91ciBvZiBkZXBlbmRlbmQgbWV0aG9kcyBpcyB1bmNoYW5nZWQuCisK
KyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5j
cHA6CisgICAgICAgIChXS0J1bmRsZVBhZ2VHZXRDb250ZXh0TWVudUVudHJpZXNOYW1lcyk6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJDb250ZXh0TWVudTo6aXRlbXMpOgorICAgICAgICAoV2ViS2l0KToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuaDoKKyAgICAgICAgKFdl
YkNvbnRleHRNZW51KToKKwogMjAxMi0xMS0yMSAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2lt
QHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdW1dLMl0gU3VwcG9ydCBDb250ZXh0IE1lbnUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L2MvV0tCdW5kbGVQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcAppbmRleCA1M2RkZjYxLi5hN2FkZmVmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dL
QnVuZGxlUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCkBAIC0zMCwxMyArMzAsMTkgQEAKICNpbmNsdWRl
ICJJbmplY3RlZEJ1bmRsZUJhY2tGb3J3YXJkTGlzdC5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVu
ZGxlTm9kZUhhbmRsZS5oIgogI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgorI2luY2x1ZGUgIldLQXJy
YXkuaCIKICNpbmNsdWRlICJXS0J1bmRsZUFQSUNhc3QuaCIKKyNpbmNsdWRlICJXS1JldGFpblB0
ci5oIgorI2luY2x1ZGUgIldLU3RyaW5nLmgiCisjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnUuaCIK
KyNpbmNsdWRlICJXZWJDb250ZXh0TWVudUl0ZW0uaCIKICNpbmNsdWRlICJXZWJGcmFtZS5oIgog
I2luY2x1ZGUgIldlYkZ1bGxTY3JlZW5NYW5hZ2VyLmgiCiAjaW5jbHVkZSAiV2ViSW1hZ2UuaCIK
ICNpbmNsdWRlICJXZWJQYWdlLmgiCiAjaW5jbHVkZSAiV2ViUmVuZGVyTGF5ZXIuaCIKICNpbmNs
dWRlICJXZWJSZW5kZXJPYmplY3QuaCIKKyNpbmNsdWRlICJXZWJTdHJpbmcuaCIKICNpbmNsdWRl
ICJXZWJVUkwuaCIKICNpbmNsdWRlICJXZWJVUkxSZXF1ZXN0LmgiCiAKQEAgLTE0NSw2ICsxNTEs
MjIgQEAgV0tCdW5kbGVGcmFtZVJlZiBXS0J1bmRsZVBhZ2VHZXRNYWluRnJhbWUoV0tCdW5kbGVQ
YWdlUmVmIHBhZ2VSZWYpCiAgICAgcmV0dXJuIHRvQVBJKHRvSW1wbChwYWdlUmVmKS0+bWFpbldl
YkZyYW1lKCkpOwogfQogCitXS0FycmF5UmVmIFdLQnVuZGxlUGFnZUNvcHlDb250ZXh0TWVudUl0
ZW1UaXRsZXMoV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYpCit7CisjaWYgRU5BQkxFKENPTlRFWFRf
TUVOVVMpCisgICAgV2ViQ29udGV4dE1lbnUqIGNvbnRleHRNZW51ID0gdG9JbXBsKHBhZ2VSZWYp
LT5jb250ZXh0TWVudSgpOworICAgIGNvbnN0IFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRh
PiAmaXRlbXMgPSBjb250ZXh0TWVudS0+aXRlbXMoKTsKKyAgICBzaXplX3QgYXJyYXlMZW5ndGgg
PSBpdGVtcy5zaXplKCk7CisgICAgT3duQXJyYXlQdHI8V0tUeXBlUmVmPiBpdGVtTmFtZXMgPSBh
ZG9wdEFycmF5UHRyKG5ldyBXS1R5cGVSZWZbYXJyYXlMZW5ndGhdKTsKKyAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IGFycmF5TGVuZ3RoOyArK2kpCisgICAgICAgIGl0ZW1OYW1lc1tpXSA9IFdL
U3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKGl0ZW1zW2ldLnRpdGxlKCkudXRmOCgpLmRhdGEo
KSk7CisKKyAgICByZXR1cm4gV0tBcnJheUNyZWF0ZShpdGVtTmFtZXMuZ2V0KCksIGFycmF5TGVu
Z3RoKTsKKyNlbHNlCisgICAgcmV0dXJuIDA7CisjZW5kaWYKK30KKwogdm9pZCogV0tBY2Nlc3Np
YmlsaXR5Um9vdE9iamVjdChXS0J1bmRsZVBhZ2VSZWYgcGFnZVJlZikKIHsKICNpZiBIQVZFKEFD
Q0VTU0lCSUxJVFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUHJpdmF0ZS5oCmluZGV4
IDExYjIwZGMuLmQ3NjlmYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUHJpdmF0
ZS5oCkBAIC03Nyw2ICs3Nyw4IEBAIFdLX0VYUE9SVCBib29sIFdLQnVuZGxlUGFnZUNhblNob3dN
SU1FVHlwZShXS0J1bmRsZVBhZ2VSZWYsIFdLU3RyaW5nUmVmIG1pbWVUeXBlCiBXS19FWFBPUlQg
dm9pZCogV0tBY2Nlc3NpYmlsaXR5Um9vdE9iamVjdChXS0J1bmRsZVBhZ2VSZWYpOwogV0tfRVhQ
T1JUIHZvaWQqIFdLQWNjZXNzaWJpbGl0eUZvY3VzZWRPYmplY3QoV0tCdW5kbGVQYWdlUmVmKTsK
IAorV0tfRVhQT1JUIFdLQXJyYXlSZWYgV0tCdW5kbGVQYWdlQ29weUNvbnRleHRNZW51SXRlbVRp
dGxlcyhXS0J1bmRsZVBhZ2VSZWYpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRN
ZW51LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVu
dS5jcHAKaW5kZXggM2E5MWQ5MC4uMjNmZmMzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuY3BwCkBAIC02OSw2ICs2OSwzMiBA
QCB2b2lkIFdlYkNvbnRleHRNZW51OjpzaG93KCkKICAgICBpZiAoIXZpZXcpCiAgICAgICAgIHJl
dHVybjsKIAorICAgIFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiBtZW51SXRlbXM7Cisg
ICAgUmVmUHRyPEFQSU9iamVjdD4gdXNlckRhdGE7CisgICAgbWVudUl0ZW1zV2l0aFVzZXJEYXRh
KG1lbnVJdGVtcywgdXNlckRhdGEpOworICAgIFdlYkhpdFRlc3RSZXN1bHQ6OkRhdGEgd2ViSGl0
VGVzdFJlc3VsdERhdGEoY29udHJvbGxlci0+aGl0VGVzdFJlc3VsdCgpKTsKKworICAgIC8vIE1h
cmsgdGhlIFdlYlBhZ2UgaGFzIGhhdmluZyBhIHNob3duIGNvbnRleHQgbWVudSB0aGVuIG5vdGlm
eSB0aGUgVUlQcm9jZXNzLgorICAgIG1fcGFnZS0+Y29udGV4dE1lbnVTaG93aW5nKCk7CisgICAg
bV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNob3dDb250ZXh0TWVudSh2aWV3
LT5jb250ZW50c1RvV2luZG93KGNvbnRyb2xsZXItPmhpdFRlc3RSZXN1bHQoKS5yb3VuZGVkUG9p
bnQoKSksIHdlYkhpdFRlc3RSZXN1bHREYXRhLCBtZW51SXRlbXMsIEluamVjdGVkQnVuZGxlVXNl
ck1lc3NhZ2VFbmNvZGVyKHVzZXJEYXRhLmdldCgpKSkpOworfQorCit2b2lkIFdlYkNvbnRleHRN
ZW51OjppdGVtU2VsZWN0ZWQoY29uc3QgV2ViQ29udGV4dE1lbnVJdGVtRGF0YSYgaXRlbSkKK3sK
KyAgICBDb250ZXh0TWVudUl0ZW0gY29yZUl0ZW0oQWN0aW9uVHlwZSwgc3RhdGljX2Nhc3Q8Q29u
dGV4dE1lbnVBY3Rpb24+KGl0ZW0uYWN0aW9uKCkpLCBpdGVtLnRpdGxlKCkpOworICAgIG1fcGFn
ZS0+Y29yZVBhZ2UoKS0+Y29udGV4dE1lbnVDb250cm9sbGVyKCktPmNvbnRleHRNZW51SXRlbVNl
bGVjdGVkKCZjb3JlSXRlbSk7Cit9CisKK3ZvaWQgV2ViQ29udGV4dE1lbnU6Om1lbnVJdGVtc1dp
dGhVc2VyRGF0YShWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4gJm1lbnVJdGVtcywgUmVm
UHRyPEFQSU9iamVjdD4mIHVzZXJEYXRhKSBjb25zdAoreworICAgIENvbnRleHRNZW51Q29udHJv
bGxlciogY29udHJvbGxlciA9IG1fcGFnZS0+Y29yZVBhZ2UoKS0+Y29udGV4dE1lbnVDb250cm9s
bGVyKCk7CisgICAgaWYgKCFjb250cm9sbGVyKQorICAgICAgICByZXR1cm47CisKKyAgICBDb250
ZXh0TWVudSogbWVudSA9IGNvbnRyb2xsZXItPmNvbnRleHRNZW51KCk7CisgICAgaWYgKCFtZW51
KQorICAgICAgICByZXR1cm47CisKICAgICAvLyBHaXZlIHRoZSBidW5kbGUgY2xpZW50IGEgY2hh
bmNlIHRvIHByb2Nlc3MgdGhlIG1lbnUuCiAjaWYgVVNFKENST1NTX1BMQVRGT1JNX0NPTlRFWFRf
TUVOVVMpCiAgICAgY29uc3QgVmVjdG9yPENvbnRleHRNZW51SXRlbT4mIGNvcmVJdGVtcyA9IG1l
bnUtPml0ZW1zKCk7CkBAIC03NywyMiArMTAzLDE4IEBAIHZvaWQgV2ViQ29udGV4dE1lbnU6OnNo
b3coKQogI2VuZGlmCiAgICAgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+IHByb3Bvc2Vk
TWVudSA9IGtpdEl0ZW1zKGNvcmVJdGVtcywgbWVudSk7CiAgICAgVmVjdG9yPFdlYkNvbnRleHRN
ZW51SXRlbURhdGE+IG5ld01lbnU7Ci0gICAgUmVmUHRyPEFQSU9iamVjdD4gdXNlckRhdGE7CiAg
ICAgUmVmUHRyPEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdD4gaGl0VGVzdFJlc3VsdCA9IElu
amVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdDo6Y3JlYXRlKGNvbnRyb2xsZXItPmhpdFRlc3RSZXN1
bHQoKSk7CiAgICAgaWYgKG1fcGFnZS0+aW5qZWN0ZWRCdW5kbGVDb250ZXh0TWVudUNsaWVudCgp
LmdldEN1c3RvbU1lbnVGcm9tRGVmYXVsdEl0ZW1zKG1fcGFnZSwgaGl0VGVzdFJlc3VsdC5nZXQo
KSwgcHJvcG9zZWRNZW51LCBuZXdNZW51LCB1c2VyRGF0YSkpCiAgICAgICAgIHByb3Bvc2VkTWVu
dSA9IG5ld01lbnU7Ci0KLSAgICBXZWJIaXRUZXN0UmVzdWx0OjpEYXRhIHdlYkhpdFRlc3RSZXN1
bHREYXRhKGNvbnRyb2xsZXItPmhpdFRlc3RSZXN1bHQoKSk7Ci0KLSAgICAvLyBNYXJrIHRoZSBX
ZWJQYWdlIGhhcyBoYXZpbmcgYSBzaG93biBjb250ZXh0IG1lbnUgdGhlbiBub3RpZnkgdGhlIFVJ
UHJvY2Vzcy4KLSAgICBtX3BhZ2UtPmNvbnRleHRNZW51U2hvd2luZygpOwotICAgIG1fcGFnZS0+
c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTaG93Q29udGV4dE1lbnUodmlldy0+Y29udGVu
dHNUb1dpbmRvdyhjb250cm9sbGVyLT5oaXRUZXN0UmVzdWx0KCkucm91bmRlZFBvaW50KCkpLCB3
ZWJIaXRUZXN0UmVzdWx0RGF0YSwgcHJvcG9zZWRNZW51LCBJbmplY3RlZEJ1bmRsZVVzZXJNZXNz
YWdlRW5jb2Rlcih1c2VyRGF0YS5nZXQoKSkpKTsKKyAgICBtZW51SXRlbXMgPSBwcm9wb3NlZE1l
bnU7CiB9CiAKLXZvaWQgV2ViQ29udGV4dE1lbnU6Oml0ZW1TZWxlY3RlZChjb25zdCBXZWJDb250
ZXh0TWVudUl0ZW1EYXRhJiBpdGVtKQorVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+IFdl
YkNvbnRleHRNZW51OjppdGVtcygpIGNvbnN0CiB7Ci0gICAgQ29udGV4dE1lbnVJdGVtIGNvcmVJ
dGVtKEFjdGlvblR5cGUsIHN0YXRpY19jYXN0PENvbnRleHRNZW51QWN0aW9uPihpdGVtLmFjdGlv
bigpKSwgaXRlbS50aXRsZSgpKTsKLSAgICBtX3BhZ2UtPmNvcmVQYWdlKCktPmNvbnRleHRNZW51
Q29udHJvbGxlcigpLT5jb250ZXh0TWVudUl0ZW1TZWxlY3RlZCgmY29yZUl0ZW0pOworICAgIFZl
Y3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiBtZW51SXRlbXM7CisgICAgUmVmUHRyPEFQSU9i
amVjdD4gdXNlckRhdGE7CisgICAgbWVudUl0ZW1zV2l0aFVzZXJEYXRhKG1lbnVJdGVtcywgdXNl
ckRhdGEpOworICAgIHJldHVybiBtZW51SXRlbXM7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRl
eHRNZW51LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1l
bnUuaAppbmRleCBjOGE1ZjVhLi5hNGNmNDIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuaApAQCAtNDMsMTAgKzQzLDEyIEBAIHB1
YmxpYzoKIAogICAgIHZvaWQgc2hvdygpOwogICAgIHZvaWQgaXRlbVNlbGVjdGVkKGNvbnN0IFdl
YkNvbnRleHRNZW51SXRlbURhdGEmKTsKKyAgICBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0
YT4gaXRlbXMoKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBXZWJDb250ZXh0TWVudShXZWJQYWdl
Kik7Ci0gICAgCisgICAgdm9pZCBtZW51SXRlbXNXaXRoVXNlckRhdGEoVmVjdG9yPFdlYkNvbnRl
eHRNZW51SXRlbURhdGE+ICYsIFJlZlB0cjxBUElPYmplY3Q+JikgY29uc3Q7CisKICAgICBXZWJQ
YWdlKiBtX3BhZ2U7CiB9OwogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9D
aGFuZ2VMb2cKaW5kZXggYmEzYjBhZC4uMmY3YzViNSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdl
TG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTExLTIxICBX
b2pjaWVjaCBCaWVsYXdza2kgIDx3LmJpZWxhd3NraUBzYW1zdW5nLmNvbT4KKworICAgICAgICBb
V0syXVtXS1RSXSBXZWJLaXRUZXN0UnVubmVyIG5lZWRzIGV2ZW50U2VuZGVyLmNvbnRleHRDbGlj
aygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Njg4
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGV2ZW50
U2VuZGVyIG9iamVjdCBleHRlbmRlZCB3aXRoIGNvbnRleHRDbGljaygpIG1ldGhvZCBpbiBXZWJL
aXRUZXN0UnVubmVyLgorICAgICAgICBjb250ZXh0Q2xpY2soKSBtZXRob2QgcmV0dXJucyBhbiBh
cnJheSBvZiBtZW51IGl0ZW1zIG9iamVjdHMgd2l0aCBmaWVsZCAndGl0bGUnIGNvbnRhaW5pbmcg
dGl0bGUgb2Ygc2luZ2xlCisgICAgICAgIGNvbnRleHQgbWVudSBlbnRyeS4gQWNjb3JkaW5nIHRv
IHNvbWUgdGVzdHMgbWVudSBpdGVtcyBvYmplY3RzIHNoYWxsIGFsc28gc3VwcG9ydCAnY2xpY2so
KScgbWV0aG9kLCBidXQgaXQncyBub3QKKyAgICAgICAgZGVsaXZlcmVkIGluIHRoaXMgcGF0Y2gu
CisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0V2
ZW50U2VuZGluZ0NvbnRyb2xsZXIuaWRsOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXVFI6OkV2
ZW50U2VuZGluZ0NvbnRyb2xsZXI6OmNvbnRleHRDbGljayk6CisgICAgICAgIChXVFIpOgorICAg
ICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJv
bGxlci5oOgorICAgICAgICAoRXZlbnRTZW5kaW5nQ29udHJvbGxlcik6CisKIDIwMTItMTEtMjEg
IEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3
ZWQsIHJvbGxpbmcgb3V0IHIxMzUzNDAuCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaWRsIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9FdmVudFNlbmRp
bmdDb250cm9sbGVyLmlkbAppbmRleCA1MmE3YTViLi4xZDYyYzliIDEwMDY0NAotLS0gYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0V2ZW50U2VuZGluZ0Nv
bnRyb2xsZXIuaWRsCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
QmluZGluZ3MvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5pZGwKQEAgLTI5LDYgKzI5LDcgQEAgaW50
ZXJmYWNlIEV2ZW50U2VuZGluZ0NvbnRyb2xsZXIgewogICAgIHZvaWQgbW91c2VNb3ZlVG8oaW4g
bG9uZyB4LCBpbiBsb25nIHkpOwogICAgIHZvaWQgbW91c2VTY3JvbGxCeShpbiBsb25nIHgsIGlu
IGxvbmcgeSk7CiAgICAgdm9pZCBjb250aW51b3VzTW91c2VTY3JvbGxCeShpbiBsb25nIHgsIGlu
IGxvbmcgeSwgaW4gW09wdGlvbmFsXSBib29sZWFuIHBhZ2VkKTsKKyAgICBvYmplY3QgY29udGV4
dENsaWNrKCk7CiAgICAgdm9pZCBzY2hlZHVsZUFzeW5jaHJvbm91c0NsaWNrKCk7CiAKICAgICB2
b2lkIGxlYXBGb3J3YXJkKGluIGxvbmcgbWlsbGlzZWNvbmRzKTsKZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5j
cHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0Nv
bnRyb2xsZXIuY3BwCmluZGV4IGJmNmQ5YmMuLjVmZjZhYjMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5jcHAK
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdD
b250cm9sbGVyLmNwcApAQCAtMzE5LDYgKzMxOSwzNiBAQCB2b2lkIEV2ZW50U2VuZGluZ0NvbnRy
b2xsZXI6OmNvbnRpbnVvdXNNb3VzZVNjcm9sbEJ5KGludCB4LCBpbnQgeSwgYm9vbCBwYWdlZCkK
ICAgICBXS0J1bmRsZVBvc3RTeW5jaHJvbm91c01lc3NhZ2UoSW5qZWN0ZWRCdW5kbGU6OnNoYXJl
ZCgpLmJ1bmRsZSgpLCBFdmVudFNlbmRlck1lc3NhZ2VOYW1lLmdldCgpLCBFdmVudFNlbmRlck1l
c3NhZ2VCb2R5LmdldCgpLCAwKTsKIH0KIAorSlNWYWx1ZVJlZiBFdmVudFNlbmRpbmdDb250cm9s
bGVyOjpjb250ZXh0Q2xpY2soKQoreworICAgIFdLQnVuZGxlUGFnZVJlZiBwYWdlID0gSW5qZWN0
ZWRCdW5kbGU6OnNoYXJlZCgpLnBhZ2UoKS0+cGFnZSgpOworICAgIFdLQnVuZGxlRnJhbWVSZWYg
bWFpbkZyYW1lID0gV0tCdW5kbGVQYWdlR2V0TWFpbkZyYW1lKHBhZ2UpOworICAgIEpTQ29udGV4
dFJlZiBjb250ZXh0ID0gV0tCdW5kbGVGcmFtZUdldEphdmFTY3JpcHRDb250ZXh0KG1haW5GcmFt
ZSk7CisjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCisgICAgLy8gRG8gbW91c2UgY29udGV4dCBj
bGljay4KKyAgICBtb3VzZURvd24oMiwgMCk7CisgICAgbW91c2VVcCgyLCAwKTsKKworICAgIFdL
UmV0YWluUHRyPFdLQXJyYXlSZWY+IGVudHJpZXNOYW1lcyA9IGFkb3B0V0soV0tCdW5kbGVQYWdl
Q29weUNvbnRleHRNZW51SXRlbVRpdGxlcyhwYWdlKSk7CisgICAgSlNSZXRhaW5QdHI8SlNTdHJp
bmdSZWY+IGpzUHJvcGVydHlOYW1lKEFkb3B0LCBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmlu
ZygidGl0bGUiKSk7CisgICAgc2l6ZV90IGVudHJpZXNTaXplID0gV0tBcnJheUdldFNpemUoZW50
cmllc05hbWVzLmdldCgpKTsKKyAgICBPd25BcnJheVB0cjxKU1ZhbHVlUmVmPiBqc1ZhbHVlc0Fy
cmF5ID0gYWRvcHRBcnJheVB0cihuZXcgSlNWYWx1ZVJlZltlbnRyaWVzU2l6ZV0pOworICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgZW50cmllc1NpemU7ICsraSkgeworICAgICAgICBBU1NFUlQo
V0tHZXRUeXBlSUQoV0tBcnJheUdldEl0ZW1BdEluZGV4KGVudHJpZXNOYW1lcy5nZXQoKSwgaSkp
ID09IFdLU3RyaW5nR2V0VHlwZUlEKCkpOworICAgICAgICBXS1N0cmluZ1JlZiB3a0VudHJ5TmFt
ZSA9IHN0YXRpY19jYXN0PFdLU3RyaW5nUmVmPihXS0FycmF5R2V0SXRlbUF0SW5kZXgoZW50cmll
c05hbWVzLmdldCgpLCBpKSk7CisgICAgICAgIEpTT2JqZWN0UmVmIGpzSXRlbU9iamVjdCA9IEpT
T2JqZWN0TWFrZShjb250ZXh0LCAwLCAwKTsKKyAgICAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdS
ZWY+IGpzTmFtZUNvcHkoQWRvcHQsIFdLU3RyaW5nQ29weUpTU3RyaW5nKHdrRW50cnlOYW1lKSk7
CisgICAgICAgIEpTVmFsdWVSZWYganNFbnRyeU5hbWUgPSBKU1ZhbHVlTWFrZVN0cmluZyhjb250
ZXh0LCBqc05hbWVDb3B5LmdldCgpKTsKKyAgICAgICAgSlNPYmplY3RTZXRQcm9wZXJ0eShjb250
ZXh0LCBqc0l0ZW1PYmplY3QsIGpzUHJvcGVydHlOYW1lLmdldCgpLCBqc0VudHJ5TmFtZSwga0pT
UHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSwgMCk7CisgICAgICAgIGpzVmFsdWVzQXJyYXlbaV0g
PSBqc0l0ZW1PYmplY3Q7CisgICAgfQorCisgICAgcmV0dXJuIEpTT2JqZWN0TWFrZUFycmF5KGNv
bnRleHQsIGVudHJpZXNTaXplLCBqc1ZhbHVlc0FycmF5LmdldCgpLCAwKTsKKyNlbHNlCisgICAg
cmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworI2VuZGlmCit9CisKICNpZmRl
ZiBVU0VfV0VCUFJPQ0VTU19FVkVOVF9TSU1VTEFUSU9OCiB2b2lkIEV2ZW50U2VuZGluZ0NvbnRy
b2xsZXI6OnVwZGF0ZUNsaWNrQ291bnQoV0tFdmVudE1vdXNlQnV0dG9uIGJ1dHRvbikKIHsKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5k
aW5nQ29udHJvbGxlci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9F
dmVudFNlbmRpbmdDb250cm9sbGVyLmgKaW5kZXggNDEzYjkxYy4uNjljNTRmOSAxMDA2NDQKLS0t
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250
cm9sbGVyLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVu
dFNlbmRpbmdDb250cm9sbGVyLmgKQEAgLTUyLDYgKzUyLDcgQEAgcHVibGljOgogICAgIHZvaWQg
bW91c2VNb3ZlVG8oaW50IHgsIGludCB5KTsKICAgICB2b2lkIG1vdXNlU2Nyb2xsQnkoaW50IHgs
IGludCB5KTsKICAgICB2b2lkIGNvbnRpbnVvdXNNb3VzZVNjcm9sbEJ5KGludCB4LCBpbnQgeSwg
Ym9vbCBwYWdlZCk7CisgICAgSlNWYWx1ZVJlZiBjb250ZXh0Q2xpY2soKTsKICAgICB2b2lkIGxl
YXBGb3J3YXJkKGludCBtaWxsaXNlY29uZHMpOwogICAgIHZvaWQgc2NoZWR1bGVBc3luY2hyb25v
dXNDbGljaygpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175435</attachid>
            <date>2012-11-21 07:04:52 -0800</date>
            <delta_ts>2012-11-23 03:45:55 -0800</delta_ts>
            <desc>eventSender.contextClick() method partially implemented.</desc>
            <filename>contextClick.patch</filename>
            <type>text/plain</type>
            <size>19198</size>
            <attacher name="Wojciech Bielawski">w.bielawski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmODIwOTFlLi5kZDYwZjZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMTEt
MjEgIFdvamNpZWNoIEJpZWxhd3NraSAgPHcuYmllbGF3c2tpQHNhbXN1bmcuY29tPgorCisgICAg
ICAgIFtXSzJdW1dLVFJdIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgZXZlbnRTZW5kZXIuY29udGV4
dENsaWNrKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTg2ODgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgZXhwZWN0ZWQgcmVzdWx0cyBmb3IgdHdvIHRlc3RzIGZvciBFRkwgcGxhdGZvcm0uIFRl
c3QgZXhwZWN0YXRpb25zIGNoYW5nZWQKKyAgICAgICAgZm9yIEVGTCBXSzEvV0syIGFuZCBHVEsg
cGxhdGZvcm1zCisKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9uczoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9lZmwtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxh
dGZvcm0vZWZsLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL2drdC13
azIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvZWRpdGluZy9zZWxl
Y3Rpb24vNTM1NDQ1NS0yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvZWRp
dGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vZWZsL2Zhc3QvZXZlbnRzL2NvbnRleHQtbm8tZGVzZWxlY3QtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKwogMjAxMi0xMS0yMSAgSnVzc2kgS3Vra29uZW4gIDxqdXNzaS5rdWtrb25lbkBp
bnRlbC5jb20+CiAKICAgICAgICAgW0VGTF1bV0syXSBHYXJkZW5pbmc6IGNzczMvZGV2aWNlLWFk
YXB0L29wZXJhL2NvbnN0cmFpbi0wMDYgYW5kIC0wMDcgZmFpbApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZWZsLXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZWZsLXdrMS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDdiNTExOTMuLmRkZTBiZjAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC13azEvVGVzdEV4cGVjdGF0aW9ucwor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI3
OCwzICsyNzgsNiBAQCB3ZWJraXQub3JnL2IvMTAyNTE3IGNzczMvZGV2aWNlLWFkYXB0L29wZXJh
L2NvbnN0cmFpbi0wMjAueGh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMDI1MTcgY3Nz
My9kZXZpY2UtYWRhcHQvb3BlcmEvc3ludGF4LTAwMS54aHRtbCBbIEZhaWx1cmUgXQogd2Via2l0
Lm9yZy9iLzEwMjUxNyBjc3MzL2RldmljZS1hZGFwdC9vcGVyYS9zeW50YXgtMDAyLnhodG1sIFsg
RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTAyNTE3IGNzczMvZGV2aWNlLWFkYXB0L29wZXJhL3N5
bnRheC0wMDMueGh0bWwgWyBGYWlsdXJlIF0KKworIyBFU0Mga2V5IGRvZXMgbm90IGNhbmNlbCBj
b250ZXh0IG1lbnUgaW4gRUZMIHBvcnQKK0J1ZyhFRkwpIGVkaXRpbmcvc2VsZWN0aW9uLzUzNTQ0
NTUtMS5odG1sIFsgRmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9l
Zmwtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwtd2syL1Rl
c3RFeHBlY3RhdGlvbnMKaW5kZXggZWI1YWU5Zi4uYjhiZjg4MyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZWZsLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2VmbC13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjc2LDIzICsyNzYsOSBAQCB3
ZWJraXQub3JnL2IvOTk1NjIgaHR0cC90ZXN0cy9wbHVnaW5zL3Bvc3QtdXJsLWZpbGUuaHRtbCBb
IEZhaWx1cmUgXQogIyBDb21wYXJpc29uIG9mIHR3byBqYXZhc2NyaXB0IG9iamVjdHMgaW4gQysr
IGlzIGZhaWxpbmcuCiB3ZWJraXQub3JnL2IvOTg3MzkgcGx1Z2lucy9ucHJ1bnRpbWUvZW1iZWQt
cHJvcGVydHktZXF1YWxpdHkuaHRtbCBbIEZhaWx1cmUgXQogCi0jIFdlYktpdFRlc3RSdW5uZXIg
bmVlZHMgYW4gaW1wbGVtZW50YXRpb24gZm9yIGV2ZW50U2VuZGVyLmNvbnRleHRDbGljawotd2Vi
a2l0Lm9yZy9iLzg2ODgxIGVkaXRpbmcvcGFzdGVib2FyZC9jb3B5LXN0YW5kYWxvbmUtaW1hZ2Ut
Y3Jhc2guaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2ODgxIGVkaXRpbmcvc2VsZWN0
aW9uLzUzNTQ0NTUtMS5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODY4ODEgZWRpdGlu
Zy9zZWxlY3Rpb24vNTM1NDQ1NS0yLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84Njg4
MSBlZGl0aW5nL3NlbGVjdGlvbi9idXR0b24tcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1cmUgXQot
d2Via2l0Lm9yZy9iLzg2ODgxIGVkaXRpbmcvc2VsZWN0aW9uL2NvbnRleHQtbWVudS1vbi10ZXh0
Lmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84Njg4MSBlZGl0aW5nL3NlbGVjdGlvbi9j
b250ZXh0LW1lbnUtdGV4dC1zZWxlY3Rpb24uaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9i
Lzg2ODgxIGVkaXRpbmcvc2VsZWN0aW9uL2VtcHR5LWNlbGwtcmlnaHQtY2xpY2suaHRtbCBbIEZh
aWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2ODgxIGVkaXRpbmcvc2hhZG93L3JpZ2h0Y2xpY2stb24t
bWV0ZXItaW4tc2hhZG93LWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84Njg4
MSBlZGl0aW5nL3NwZWxsaW5nL2NvbnRleHQtbWVudS1zdWdnZXN0aW9ucy5odG1sIFsgRmFpbHVy
ZSBdCi13ZWJraXQub3JnL2IvODY4ODEgZmFzdC9ldmVudHMvY29udGV4dC1uby1kZXNlbGVjdC5o
dG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODY4ODEgZmFzdC9ldmVudHMvY29udGV4dC1v
bm1vdXNlZG93bi1ldmVudC5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODY4ODEgZmFz
dC9ldmVudHMvY29udGV4dG1lbnUtc2Nyb2xsZWQtcGFnZS13aXRoLWZyYW1lLmh0bWwgWyBGYWls
dXJlIF0KLXdlYmtpdC5vcmcvYi84Njg4MSBmYXN0L2V2ZW50cy9yaWdodC1jbGljay1mb2N1cy5o
dG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODY4ODEgZmFzdC9ldmVudHMvc2VsZWN0c3Rh
cnQtcHJldmVudC1zZWxlY3Rpb24tb24tcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1cmUgXQotd2Vi
a2l0Lm9yZy9iLzg2ODgxIG1lZGlhL2NvbnRleHQtbWVudS1hY3Rpb25zLmh0bWwgWyBGYWlsdXJl
IF0KLXdlYmtpdC5vcmcvYi84Njg4MSBtZWRpYS9jb250cm9scy1yaWdodC1jbGljay1vbi10aW1l
YmFyLmh0bWwgWyBGYWlsdXJlIF0KKyMgRUZMJ3MgRXZlbnRTZW5kZXIgY29udGV4dENsaWNrIHNo
b3VsZCByZXR1cm4gb2JqZWN0cyB0aGF0IGltcGxlbWVudHMgY2xpY2soKSBtZXRob2QKK3dlYmtp
dC5vcmcvYi85ODQxMCBlZGl0aW5nL3Bhc3RlYm9hcmQvY29weS1zdGFuZGFsb25lLWltYWdlLWNy
YXNoLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi85ODQxMCBtZWRpYS9jb250ZXh0LW1l
bnUtYWN0aW9ucy5odG1sIFsgRmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8xMDIyMDEgZmFzdC9k
b20vV2luZG93L3dpbmRvdy1yZXNpemUuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzEw
MjIwMSBmYXN0L2RvbS9XaW5kb3cvb3Blbi13aW5kb3ctbWluLXNpemUuaHRtbCBbIEZhaWx1cmUg
XQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBhYjQ0OWQz
Li5kY2JiZDVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtMTY4NCwzICsxNjg0LDkgQEAgd2Via2l0Lm9yZy9iLzEwMjM2NCBjb21wb3NpdGluZy9vdmVy
Zmxvdy9zY3JvbGxpbmctd2l0aG91dC1wYWludGluZy5odG1sIFsgRmFpbHUKIHdlYmtpdC5vcmcv
Yi8xMDIzNjcgZmFzdC9mb3Jtcy96b29tZWQtY29udHJvbHMuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgTWlzc2luZyBdCiAKIHdlYmtpdC5vcmcvYi8xMDI0OTMgZmFzdC9ldmVudHMvbW91c2UtY3Vy
c29yLmh0bWwgWyBGYWlsdXJlIF0KKworIyBTdGFydCBvZiBtZWRpYSBwbGF5ZXIgY2F1c2VzIHRp
bWVvdXQuCitCdWcoRUZMKSBtZWRpYS9jb250cm9scy1yaWdodC1jbGljay1vbi10aW1lYmFyLmh0
bWwgWyBGYWlsdXJlIF0KKworIyBObyBzcGVsbGNoZWNrIHN1Z2dlc3Rpb25zIGluIGNvbnRleHQg
bWVudQorQnVnKEVGTCkgZWRpdGluZy9zcGVsbGluZy9jb250ZXh0LW1lbnUtc3VnZ2VzdGlvbnMu
aHRtbCBbIEZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrLXdr
Mi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrLXdrMi9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IGMwNGQyYmUuLjVhZTRjNWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGstd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEzMiwxOSArMTMyLDYgQEAgQnVnKEdU
SykgZWRpdGluZy9zZWxlY3Rpb24vZXh0ZW5kLWFmdGVyLW1vdXNlLXNlbGVjdGlvbi5odG1sIFsg
RmFpbHVyZSBdCiAjIFdlYktpdDIgbmVlZHMgdGV4dElucHV0Q29udHJvbGxlci5zZWxlY3RlZFJh
bmdlCiBCdWcoR1RLKSBlZGl0aW5nL3NlbGVjdGlvbi9taXhlZC1lZGl0YWJpbGl0eS0xMC5odG1s
IFsgRmFpbHVyZSBdCiAKLSMgSW1wbGVtZW50IGV2ZW50U2VuZGVyLmNvbnRleHRDbGljawotQnVn
KEdUSykgZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktc3RhbmRhbG9uZS1pbWFnZS1jcmFzaC5odG1s
IFsgRmFpbHVyZSBdCi1CdWcoR1RLKSBlZGl0aW5nL3NlbGVjdGlvbi9lbXB0eS1jZWxsLXJpZ2h0
LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhHVEspIGVkaXRpbmcvc2VsZWN0aW9uL2J1dHRv
bi1yaWdodC1jbGljay5odG1sIFsgRmFpbHVyZSBdCi1CdWcoR1RLKSBlZGl0aW5nL3NlbGVjdGlv
bi9jb250ZXh0LW1lbnUtb24tdGV4dC5odG1sIFsgRmFpbHVyZSBdCi1CdWcoR1RLKSBlZGl0aW5n
L3NlbGVjdGlvbi9lbXB0eS1jZWxsLXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhH
VEspIGZhc3QvZXZlbnRzL3NlbGVjdHN0YXJ0LXByZXZlbnQtc2VsZWN0aW9uLW9uLXJpZ2h0LWNs
aWNrLmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhHVEspIGZhc3QvZXZlbnRzL2NvbnRleHQtbm8tZGVz
ZWxlY3QuaHRtbCBbIEZhaWx1cmUgXQotQnVnKEdUSykgZmFzdC9ldmVudHMvY29udGV4dG1lbnUt
c2Nyb2xsZWQtcGFnZS13aXRoLWZyYW1lLmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhHVEspIGZhc3Qv
ZXZlbnRzL2NvbnRleHQtb25tb3VzZWRvd24tZXZlbnQuaHRtbCBbIEZhaWx1cmUgXQotQnVnKEdU
SykgbWVkaWEvY29udHJvbHMtcmlnaHQtY2xpY2stb24tdGltZWJhci5odG1sIFsgRmFpbHVyZSBd
Ci1CdWcoR1RLKSBzdmcvY3VzdG9tL3VzZS1ldmVudHMtY3Jhc2guc3ZnIFsgRmFpbHVyZSBdCi0K
ICMgSW1wbGVtZW50IFBhZ2VDbGllbnRJbXBsOjpyZWdpc3RlckVkaXRDb21tYW5kIGFuZCBoYW5k
bGluZyBjb21tYW5kcyBmdW5jdGlvbnMKIEJ1ZyhHVEspIGVkaXRpbmcvZGVsZXRpbmcvZGVsZXRl
LWJ5LXdvcmQtMDAyLmh0bWwgWyBGYWlsdXJlIF0KIEJ1ZyhHVEspIGVkaXRpbmcvZGVsZXRpbmcv
ZGVsZXRlLWFuZC11bmRvLmh0bWwgWyBGYWlsdXJlIF0KQEAgLTU5MiwzICs1NzksMjUgQEAgd2Vi
a2l0Lm9yZy9iLzEwMjc3NiBtZWRpYS90cmFjay90cmFjay1jdWUtY29udGFpbmVyLXJlbmRlcmlu
Zy1wb3NpdGlvbi5odG1sIFsgRmEKICMgRW5kIG9mIFRlc3RzIHdvcmtpbmcgaW4gV0syIGFuZCBm
YWlsaW5nIGluIFdLMQogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KIAorCisjIFNl
bGVjdGlvbiBkb2Vzbid0IHdvcmsgcHJvcGVybHkuCitCdWcoR1RLKSBlZGl0aW5nL3NlbGVjdGlv
bi9jb250ZXh0LW1lbnUtdGV4dC1zZWxlY3Rpb24uaHRtbCBbIEZhaWx1cmUgUGFzcyBdCitCdWco
R1RLKSBlZGl0aW5nL3NlbGVjdGlvbi9lbXB0eS1jZWxsLXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWls
dXJlIF0KK0J1ZyhHVEspIGVkaXRpbmcvc3BlbGxpbmcvY29udGV4dC1tZW51LXN1Z2dlc3Rpb25z
Lmh0bWwgWyBGYWlsdXJlIF0KKworIyBFdmVudFNlbmRlcidzIGNvbnRleHRDbGljayBzaG91bGQg
cmV0dXJuIG9iamVjdHMgdGhhdCBpbXBsZW1lbnRzIGNsaWNrKCkgbWV0aG9kCit3ZWJraXQub3Jn
L2IvOTg0MTAgZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktc3RhbmRhbG9uZS1pbWFnZS1jcmFzaC5o
dG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvOTg0MTAgbWVkaWEvY29udGV4dC1tZW51LWFj
dGlvbnMuaHRtbCBbIEZhaWx1cmUgXQorCisjIEFuIG9uY29udGV4dG1lbnUgYXR0cmlidXRlIGlz
IG5vdCBjYWxsZWQuCitCdWcoR1RLKSBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsY2hlY2staW5wdXQt
c2VhcmNoLWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KK0J1ZyhHVEspIGZhc3QvZXZlbnRzL2NvbnRl
eHRtZW51LXNjcm9sbGVkLXBhZ2Utd2l0aC1mcmFtZS5odG1sIFsgRmFpbHVyZSBdCisKKyMgQW4g
b25tb3VzZWRvd24gYXR0cmlidXRlIGlzIG5vdCBjYWxsZWQuCitCdWcoR1RLKSBmYXN0L2V2ZW50
cy9jb250ZXh0LW9ubW91c2Vkb3duLWV2ZW50Lmh0bWwgWyBGYWlsdXJlIF0KKworIyBBbiBvbnNl
bGVjdHN0YXJ0IGF0dHJpYnV0ZSBpcyBub3QgY2FsbGVkLgorQnVnKEdUSykgZmFzdC9ldmVudHMv
c2VsZWN0c3RhcnQtcHJldmVudC1zZWxlY3Rpb24tb24tcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1
cmUgXQorCisjIFN0YXJ0IG9mIG1lZGlhIHBsYXllciBjYXVzZXMgdGltZW91dAorQnVnKEdUSykg
bWVkaWEvY29udHJvbHMtcmlnaHQtY2xpY2stb24tdGltZWJhci5odG1sIFsgRmFpbHVyZSBdCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKaW5kZXggMmVmMGMzZi4uNWQ2M2E1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBA
CisyMDEyLTExLTIxICBXb2pjaWVjaCBCaWVsYXdza2kgIDx3LmJpZWxhd3NraUBzYW1zdW5nLmNv
bT4KKworICAgICAgICBbV0syXVtXS1RSXSBXZWJLaXRUZXN0UnVubmVyIG5lZWRzIGV2ZW50U2Vu
ZGVyLmNvbnRleHRDbGljaygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04Njg4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEluamVjdGVkQnVuZGxlIEFQSSBleHRlbmRlZCB0byByZXRyaWV2ZSBjb250ZXh0
TWVudSBlbnRyaWVzIG5hbWVzLgorICAgICAgICBXZWJDb250ZXh0TWVudSBleHRlZGVkIHdpdGgg
ZnVuY3Rpb24gdG8gcmV0cmlldmUgbWVudSBpdGVtcy4KKyAgICAgICAgVGhpcyBBUEkgaXMgcmVx
dWlyZWQgYnkgbGF5b3V0IHRlc3RzLgorICAgICAgICBDb21tb24gY29kZSBpbiBXZWJDb250ZXh0
TWVudS5jcHAgbW92ZWQgdG8gc2VwYXJhdGUgbWV0aG9kIG1lbnVJdGVtc1dpdGhVc2VyRGF0YSgp
LgorICAgICAgICBCZWhhdmlvdXIgb2YgZGVwZW5kZW5kIG1ldGhvZHMgaXMgdW5jaGFuZ2VkLgor
CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2Uu
Y3BwOgorICAgICAgICAoV0tCdW5kbGVQYWdlR2V0Q29udGV4dE1lbnVFbnRyaWVzTmFtZXMpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmg6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViQ29udGV4dE1lbnU6Oml0ZW1zKToKKyAgICAgICAgKFdlYktpdCk6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51Lmg6CisgICAgICAgIChX
ZWJDb250ZXh0TWVudSk6CisKIDIwMTItMTEtMjEgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtp
bUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXVtXSzJdIFN1cHBvcnQgQ29udGV4dCBNZW51
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS9jL1dLQnVuZGxlUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAKaW5kZXggNTNkZGY2MS4uYTdhZGZlZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9X
S0J1bmRsZVBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcApAQCAtMzAsMTMgKzMwLDE5IEBACiAjaW5jbHVk
ZSAiSW5qZWN0ZWRCdW5kbGVCYWNrRm9yd2FyZExpc3QuaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1
bmRsZU5vZGVIYW5kbGUuaCIKICNpbmNsdWRlICJXS0FQSUNhc3QuaCIKKyNpbmNsdWRlICJXS0Fy
cmF5LmgiCiAjaW5jbHVkZSAiV0tCdW5kbGVBUElDYXN0LmgiCisjaW5jbHVkZSAiV0tSZXRhaW5Q
dHIuaCIKKyNpbmNsdWRlICJXS1N0cmluZy5oIgorI2luY2x1ZGUgIldlYkNvbnRleHRNZW51Lmgi
CisjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJdGVtLmgiCiAjaW5jbHVkZSAiV2ViRnJhbWUuaCIK
ICNpbmNsdWRlICJXZWJGdWxsU2NyZWVuTWFuYWdlci5oIgogI2luY2x1ZGUgIldlYkltYWdlLmgi
CiAjaW5jbHVkZSAiV2ViUGFnZS5oIgogI2luY2x1ZGUgIldlYlJlbmRlckxheWVyLmgiCiAjaW5j
bHVkZSAiV2ViUmVuZGVyT2JqZWN0LmgiCisjaW5jbHVkZSAiV2ViU3RyaW5nLmgiCiAjaW5jbHVk
ZSAiV2ViVVJMLmgiCiAjaW5jbHVkZSAiV2ViVVJMUmVxdWVzdC5oIgogCkBAIC0xNDUsNiArMTUx
LDIyIEBAIFdLQnVuZGxlRnJhbWVSZWYgV0tCdW5kbGVQYWdlR2V0TWFpbkZyYW1lKFdLQnVuZGxl
UGFnZVJlZiBwYWdlUmVmKQogICAgIHJldHVybiB0b0FQSSh0b0ltcGwocGFnZVJlZiktPm1haW5X
ZWJGcmFtZSgpKTsKIH0KIAorV0tBcnJheVJlZiBXS0J1bmRsZVBhZ2VDb3B5Q29udGV4dE1lbnVJ
dGVtVGl0bGVzKFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVmKQoreworI2lmIEVOQUJMRShDT05URVhU
X01FTlVTKQorICAgIFdlYkNvbnRleHRNZW51KiBjb250ZXh0TWVudSA9IHRvSW1wbChwYWdlUmVm
KS0+Y29udGV4dE1lbnUoKTsKKyAgICBjb25zdCBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0
YT4gJml0ZW1zID0gY29udGV4dE1lbnUtPml0ZW1zKCk7CisgICAgc2l6ZV90IGFycmF5TGVuZ3Ro
ID0gaXRlbXMuc2l6ZSgpOworICAgIE93bkFycmF5UHRyPFdLVHlwZVJlZj4gaXRlbU5hbWVzID0g
YWRvcHRBcnJheVB0cihuZXcgV0tUeXBlUmVmW2FycmF5TGVuZ3RoXSk7CisgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBhcnJheUxlbmd0aDsgKytpKQorICAgICAgICBpdGVtTmFtZXNbaV0gPSBX
S1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZyhpdGVtc1tpXS50aXRsZSgpLnV0ZjgoKS5kYXRh
KCkpOworCisgICAgcmV0dXJuIFdLQXJyYXlDcmVhdGUoaXRlbU5hbWVzLmdldCgpLCBhcnJheUxl
bmd0aCk7CisjZWxzZQorICAgIHJldHVybiAwOworI2VuZGlmCit9CisKIHZvaWQqIFdLQWNjZXNz
aWJpbGl0eVJvb3RPYmplY3QoV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYpCiB7CiAjaWYgSEFWRShB
Q0NFU1NJQklMSVRZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVByaXZhdGUuaAppbmRl
eCAxMWIyMGRjLi5kNzY5ZmI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVByaXZhdGUuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVByaXZh
dGUuaApAQCAtNzcsNiArNzcsOCBAQCBXS19FWFBPUlQgYm9vbCBXS0J1bmRsZVBhZ2VDYW5TaG93
TUlNRVR5cGUoV0tCdW5kbGVQYWdlUmVmLCBXS1N0cmluZ1JlZiBtaW1lVHlwZQogV0tfRVhQT1JU
IHZvaWQqIFdLQWNjZXNzaWJpbGl0eVJvb3RPYmplY3QoV0tCdW5kbGVQYWdlUmVmKTsKIFdLX0VY
UE9SVCB2b2lkKiBXS0FjY2Vzc2liaWxpdHlGb2N1c2VkT2JqZWN0KFdLQnVuZGxlUGFnZVJlZik7
CiAKK1dLX0VYUE9SVCBXS0FycmF5UmVmIFdLQnVuZGxlUGFnZUNvcHlDb250ZXh0TWVudUl0ZW1U
aXRsZXMoV0tCdW5kbGVQYWdlUmVmKTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0
TWVudS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1l
bnUuY3BwCmluZGV4IDNhOTFkOTAuLjIzZmZjM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmNwcApAQCAtNjksNiArNjksMzIg
QEAgdm9pZCBXZWJDb250ZXh0TWVudTo6c2hvdygpCiAgICAgaWYgKCF2aWV3KQogICAgICAgICBy
ZXR1cm47CiAKKyAgICBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4gbWVudUl0ZW1zOwor
ICAgIFJlZlB0cjxBUElPYmplY3Q+IHVzZXJEYXRhOworICAgIG1lbnVJdGVtc1dpdGhVc2VyRGF0
YShtZW51SXRlbXMsIHVzZXJEYXRhKTsKKyAgICBXZWJIaXRUZXN0UmVzdWx0OjpEYXRhIHdlYkhp
dFRlc3RSZXN1bHREYXRhKGNvbnRyb2xsZXItPmhpdFRlc3RSZXN1bHQoKSk7CisKKyAgICAvLyBN
YXJrIHRoZSBXZWJQYWdlIGhhcyBoYXZpbmcgYSBzaG93biBjb250ZXh0IG1lbnUgdGhlbiBub3Rp
ZnkgdGhlIFVJUHJvY2Vzcy4KKyAgICBtX3BhZ2UtPmNvbnRleHRNZW51U2hvd2luZygpOworICAg
IG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTaG93Q29udGV4dE1lbnUodmll
dy0+Y29udGVudHNUb1dpbmRvdyhjb250cm9sbGVyLT5oaXRUZXN0UmVzdWx0KCkucm91bmRlZFBv
aW50KCkpLCB3ZWJIaXRUZXN0UmVzdWx0RGF0YSwgbWVudUl0ZW1zLCBJbmplY3RlZEJ1bmRsZVVz
ZXJNZXNzYWdlRW5jb2Rlcih1c2VyRGF0YS5nZXQoKSkpKTsKK30KKwordm9pZCBXZWJDb250ZXh0
TWVudTo6aXRlbVNlbGVjdGVkKGNvbnN0IFdlYkNvbnRleHRNZW51SXRlbURhdGEmIGl0ZW0pCit7
CisgICAgQ29udGV4dE1lbnVJdGVtIGNvcmVJdGVtKEFjdGlvblR5cGUsIHN0YXRpY19jYXN0PENv
bnRleHRNZW51QWN0aW9uPihpdGVtLmFjdGlvbigpKSwgaXRlbS50aXRsZSgpKTsKKyAgICBtX3Bh
Z2UtPmNvcmVQYWdlKCktPmNvbnRleHRNZW51Q29udHJvbGxlcigpLT5jb250ZXh0TWVudUl0ZW1T
ZWxlY3RlZCgmY29yZUl0ZW0pOworfQorCit2b2lkIFdlYkNvbnRleHRNZW51OjptZW51SXRlbXNX
aXRoVXNlckRhdGEoVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+ICZtZW51SXRlbXMsIFJl
ZlB0cjxBUElPYmplY3Q+JiB1c2VyRGF0YSkgY29uc3QKK3sKKyAgICBDb250ZXh0TWVudUNvbnRy
b2xsZXIqIGNvbnRyb2xsZXIgPSBtX3BhZ2UtPmNvcmVQYWdlKCktPmNvbnRleHRNZW51Q29udHJv
bGxlcigpOworICAgIGlmICghY29udHJvbGxlcikKKyAgICAgICAgcmV0dXJuOworCisgICAgQ29u
dGV4dE1lbnUqIG1lbnUgPSBjb250cm9sbGVyLT5jb250ZXh0TWVudSgpOworICAgIGlmICghbWVu
dSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgLy8gR2l2ZSB0aGUgYnVuZGxlIGNsaWVudCBhIGNo
YW5jZSB0byBwcm9jZXNzIHRoZSBtZW51LgogI2lmIFVTRShDUk9TU19QTEFURk9STV9DT05URVhU
X01FTlVTKQogICAgIGNvbnN0IFZlY3RvcjxDb250ZXh0TWVudUl0ZW0+JiBjb3JlSXRlbXMgPSBt
ZW51LT5pdGVtcygpOwpAQCAtNzcsMjIgKzEwMywxOCBAQCB2b2lkIFdlYkNvbnRleHRNZW51Ojpz
aG93KCkKICNlbmRpZgogICAgIFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiBwcm9wb3Nl
ZE1lbnUgPSBraXRJdGVtcyhjb3JlSXRlbXMsIG1lbnUpOwogICAgIFZlY3RvcjxXZWJDb250ZXh0
TWVudUl0ZW1EYXRhPiBuZXdNZW51OwotICAgIFJlZlB0cjxBUElPYmplY3Q+IHVzZXJEYXRhOwog
ICAgIFJlZlB0cjxJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQ+IGhpdFRlc3RSZXN1bHQgPSBJ
bmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQ6OmNyZWF0ZShjb250cm9sbGVyLT5oaXRUZXN0UmVz
dWx0KCkpOwogICAgIGlmIChtX3BhZ2UtPmluamVjdGVkQnVuZGxlQ29udGV4dE1lbnVDbGllbnQo
KS5nZXRDdXN0b21NZW51RnJvbURlZmF1bHRJdGVtcyhtX3BhZ2UsIGhpdFRlc3RSZXN1bHQuZ2V0
KCksIHByb3Bvc2VkTWVudSwgbmV3TWVudSwgdXNlckRhdGEpKQogICAgICAgICBwcm9wb3NlZE1l
bnUgPSBuZXdNZW51OwotCi0gICAgV2ViSGl0VGVzdFJlc3VsdDo6RGF0YSB3ZWJIaXRUZXN0UmVz
dWx0RGF0YShjb250cm9sbGVyLT5oaXRUZXN0UmVzdWx0KCkpOwotCi0gICAgLy8gTWFyayB0aGUg
V2ViUGFnZSBoYXMgaGF2aW5nIGEgc2hvd24gY29udGV4dCBtZW51IHRoZW4gbm90aWZ5IHRoZSBV
SVByb2Nlc3MuCi0gICAgbV9wYWdlLT5jb250ZXh0TWVudVNob3dpbmcoKTsKLSAgICBtX3BhZ2Ut
PnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2hvd0NvbnRleHRNZW51KHZpZXctPmNvbnRl
bnRzVG9XaW5kb3coY29udHJvbGxlci0+aGl0VGVzdFJlc3VsdCgpLnJvdW5kZWRQb2ludCgpKSwg
d2ViSGl0VGVzdFJlc3VsdERhdGEsIHByb3Bvc2VkTWVudSwgSW5qZWN0ZWRCdW5kbGVVc2VyTWVz
c2FnZUVuY29kZXIodXNlckRhdGEuZ2V0KCkpKSk7CisgICAgbWVudUl0ZW1zID0gcHJvcG9zZWRN
ZW51OwogfQogCi12b2lkIFdlYkNvbnRleHRNZW51OjppdGVtU2VsZWN0ZWQoY29uc3QgV2ViQ29u
dGV4dE1lbnVJdGVtRGF0YSYgaXRlbSkKK1ZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiBX
ZWJDb250ZXh0TWVudTo6aXRlbXMoKSBjb25zdAogewotICAgIENvbnRleHRNZW51SXRlbSBjb3Jl
SXRlbShBY3Rpb25UeXBlLCBzdGF0aWNfY2FzdDxDb250ZXh0TWVudUFjdGlvbj4oaXRlbS5hY3Rp
b24oKSksIGl0ZW0udGl0bGUoKSk7Ci0gICAgbV9wYWdlLT5jb3JlUGFnZSgpLT5jb250ZXh0TWVu
dUNvbnRyb2xsZXIoKS0+Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoJmNvcmVJdGVtKTsKKyAgICBW
ZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4gbWVudUl0ZW1zOworICAgIFJlZlB0cjxBUElP
YmplY3Q+IHVzZXJEYXRhOworICAgIG1lbnVJdGVtc1dpdGhVc2VyRGF0YShtZW51SXRlbXMsIHVz
ZXJEYXRhKTsKKyAgICByZXR1cm4gbWVudUl0ZW1zOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250
ZXh0TWVudS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRN
ZW51LmgKaW5kZXggYzhhNWY1YS4uYTRjZjQyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmgKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmgKQEAgLTQzLDEwICs0MywxMiBAQCBw
dWJsaWM6CiAKICAgICB2b2lkIHNob3coKTsKICAgICB2b2lkIGl0ZW1TZWxlY3RlZChjb25zdCBX
ZWJDb250ZXh0TWVudUl0ZW1EYXRhJik7CisgICAgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURh
dGE+IGl0ZW1zKCkgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgV2ViQ29udGV4dE1lbnUoV2ViUGFn
ZSopOwotICAgIAorICAgIHZvaWQgbWVudUl0ZW1zV2l0aFVzZXJEYXRhKFZlY3RvcjxXZWJDb250
ZXh0TWVudUl0ZW1EYXRhPiAmLCBSZWZQdHI8QVBJT2JqZWN0PiYpIGNvbnN0OworCiAgICAgV2Vi
UGFnZSogbV9wYWdlOwogfTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMv
Q2hhbmdlTG9nCmluZGV4IGJhM2IwYWQuLjJmN2M1YjUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5n
ZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMi0xMS0yMSAg
V29qY2llY2ggQmllbGF3c2tpICA8dy5iaWVsYXdza2lAc2Ftc3VuZy5jb20+CisKKyAgICAgICAg
W1dLMl1bV0tUUl0gV2ViS2l0VGVzdFJ1bm5lciBuZWVkcyBldmVudFNlbmRlci5jb250ZXh0Q2xp
Y2soKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODY4
ODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBldmVu
dFNlbmRlciBvYmplY3QgZXh0ZW5kZWQgd2l0aCBjb250ZXh0Q2xpY2soKSBtZXRob2QgaW4gV2Vi
S2l0VGVzdFJ1bm5lci4KKyAgICAgICAgY29udGV4dENsaWNrKCkgbWV0aG9kIHJldHVybnMgYW4g
YXJyYXkgb2YgbWVudSBpdGVtcyBvYmplY3RzIHdpdGggZmllbGQgJ3RpdGxlJyBjb250YWluaW5n
IHRpdGxlIG9mIHNpbmdsZQorICAgICAgICBjb250ZXh0IG1lbnUgZW50cnkuIEFjY29yZGluZyB0
byBzb21lIHRlc3RzIG1lbnUgaXRlbXMgb2JqZWN0cyBzaGFsbCBhbHNvIHN1cHBvcnQgJ2NsaWNr
KCknIG1ldGhvZCwgYnV0IGl0J3Mgbm90CisgICAgICAgIGRlbGl2ZXJlZCBpbiB0aGlzIHBhdGNo
LgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9F
dmVudFNlbmRpbmdDb250cm9sbGVyLmlkbDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpF
dmVudFNlbmRpbmdDb250cm9sbGVyOjpjb250ZXh0Q2xpY2spOgorICAgICAgICAoV1RSKToKKyAg
ICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRy
b2xsZXIuaDoKKyAgICAgICAgKEV2ZW50U2VuZGluZ0NvbnRyb2xsZXIpOgorCiAyMDEyLTExLTIx
ICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTM1MzQwLgpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9FdmVudFNlbmRpbmdDb250cm9sbGVyLmlkbCBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvRXZlbnRTZW5k
aW5nQ29udHJvbGxlci5pZGwKaW5kZXggNTJhN2E1Yi4uMWQ2MmM5YiAxMDA2NDQKLS0tIGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9FdmVudFNlbmRpbmdD
b250cm9sbGVyLmlkbAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L0JpbmRpbmdzL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaWRsCkBAIC0yOSw2ICsyOSw3IEBAIGlu
dGVyZmFjZSBFdmVudFNlbmRpbmdDb250cm9sbGVyIHsKICAgICB2b2lkIG1vdXNlTW92ZVRvKGlu
IGxvbmcgeCwgaW4gbG9uZyB5KTsKICAgICB2b2lkIG1vdXNlU2Nyb2xsQnkoaW4gbG9uZyB4LCBp
biBsb25nIHkpOwogICAgIHZvaWQgY29udGludW91c01vdXNlU2Nyb2xsQnkoaW4gbG9uZyB4LCBp
biBsb25nIHksIGluIFtPcHRpb25hbF0gYm9vbGVhbiBwYWdlZCk7CisgICAgb2JqZWN0IGNvbnRl
eHRDbGljaygpOwogICAgIHZvaWQgc2NoZWR1bGVBc3luY2hyb25vdXNDbGljaygpOwogCiAgICAg
dm9pZCBsZWFwRm9yd2FyZChpbiBsb25nIG1pbGxpc2Vjb25kcyk7CmRpZmYgLS1naXQgYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIu
Y3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdD
b250cm9sbGVyLmNwcAppbmRleCBiZjZkOWJjLi40ZWU3ODIxIDEwMDY0NAotLS0gYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuY3Bw
CisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5n
Q29udHJvbGxlci5jcHAKQEAgLTMxOSw2ICszMTksMzcgQEAgdm9pZCBFdmVudFNlbmRpbmdDb250
cm9sbGVyOjpjb250aW51b3VzTW91c2VTY3JvbGxCeShpbnQgeCwgaW50IHksIGJvb2wgcGFnZWQp
CiAgICAgV0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaGFy
ZWQoKS5idW5kbGUoKSwgRXZlbnRTZW5kZXJNZXNzYWdlTmFtZS5nZXQoKSwgRXZlbnRTZW5kZXJN
ZXNzYWdlQm9keS5nZXQoKSwgMCk7CiB9CiAKK0pTVmFsdWVSZWYgRXZlbnRTZW5kaW5nQ29udHJv
bGxlcjo6Y29udGV4dENsaWNrKCkKK3sKKyAgICBXS0J1bmRsZVBhZ2VSZWYgcGFnZSA9IEluamVj
dGVkQnVuZGxlOjpzaGFyZWQoKS5wYWdlKCktPnBhZ2UoKTsKKyAgICBXS0J1bmRsZUZyYW1lUmVm
IG1haW5GcmFtZSA9IFdLQnVuZGxlUGFnZUdldE1haW5GcmFtZShwYWdlKTsKKyAgICBKU0NvbnRl
eHRSZWYgY29udGV4dCA9IFdLQnVuZGxlRnJhbWVHZXRKYXZhU2NyaXB0Q29udGV4dChtYWluRnJh
bWUpOworI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQorICAgIC8vIERvIG1vdXNlIGNvbnRleHQg
Y2xpY2suCisgICAgbW91c2VEb3duKDIsIDApOworICAgIG1vdXNlVXAoMiwgMCk7CisKKyAgICBX
S1JldGFpblB0cjxXS0FycmF5UmVmPiBlbnRyaWVzTmFtZXMgPSBhZG9wdFdLKFdLQnVuZGxlUGFn
ZUNvcHlDb250ZXh0TWVudUl0ZW1UaXRsZXMocGFnZSkpOworICAgIEpTUmV0YWluUHRyPEpTU3Ry
aW5nUmVmPiBqc1Byb3BlcnR5TmFtZShBZG9wdCwgSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJp
bmcoInRpdGxlIikpOworICAgIHNpemVfdCBlbnRyaWVzU2l6ZSA9IFdLQXJyYXlHZXRTaXplKGVu
dHJpZXNOYW1lcy5nZXQoKSk7CisgICAgT3duQXJyYXlQdHI8SlNWYWx1ZVJlZj4ganNWYWx1ZXNB
cnJheSA9IGFkb3B0QXJyYXlQdHIobmV3IEpTVmFsdWVSZWZbZW50cmllc1NpemVdKTsKKyAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IGVudHJpZXNTaXplOyArK2kpIHsKKyAgICAgICAgQVNTRVJU
KFdLR2V0VHlwZUlEKFdLQXJyYXlHZXRJdGVtQXRJbmRleChlbnRyaWVzTmFtZXMuZ2V0KCksIGkp
KSA9PSBXS1N0cmluZ0dldFR5cGVJRCgpKTsKKworICAgICAgICBXS1N0cmluZ1JlZiB3a0VudHJ5
TmFtZSA9IHN0YXRpY19jYXN0PFdLU3RyaW5nUmVmPihXS0FycmF5R2V0SXRlbUF0SW5kZXgoZW50
cmllc05hbWVzLmdldCgpLCBpKSk7CisgICAgICAgIEpTT2JqZWN0UmVmIGpzSXRlbU9iamVjdCA9
IEpTT2JqZWN0TWFrZShjb250ZXh0LCAvKiBKU0NsYXNzUmVmICovMCwgLyogcHJpdkRhdGEgKi8w
KTsKKyAgICAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IGpzTmFtZUNvcHkoQWRvcHQsIFdL
U3RyaW5nQ29weUpTU3RyaW5nKHdrRW50cnlOYW1lKSk7CisgICAgICAgIEpTVmFsdWVSZWYganNF
bnRyeU5hbWUgPSBKU1ZhbHVlTWFrZVN0cmluZyhjb250ZXh0LCBqc05hbWVDb3B5LmdldCgpKTsK
KyAgICAgICAgSlNPYmplY3RTZXRQcm9wZXJ0eShjb250ZXh0LCBqc0l0ZW1PYmplY3QsIGpzUHJv
cGVydHlOYW1lLmdldCgpLCBqc0VudHJ5TmFtZSwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25s
eSwgMCk7CisgICAgICAgIGpzVmFsdWVzQXJyYXlbaV0gPSBqc0l0ZW1PYmplY3Q7CisgICAgfQor
CisgICAgcmV0dXJuIEpTT2JqZWN0TWFrZUFycmF5KGNvbnRleHQsIGVudHJpZXNTaXplLCBqc1Zh
bHVlc0FycmF5LmdldCgpLCAwKTsKKyNlbHNlCisgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZp
bmVkKGNvbnRleHQpOworI2VuZGlmCit9CisKICNpZmRlZiBVU0VfV0VCUFJPQ0VTU19FVkVOVF9T
SU1VTEFUSU9OCiB2b2lkIEV2ZW50U2VuZGluZ0NvbnRyb2xsZXI6OnVwZGF0ZUNsaWNrQ291bnQo
V0tFdmVudE1vdXNlQnV0dG9uIGJ1dHRvbikKIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5oIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmgK
aW5kZXggNDEzYjkxYy4uNjljNTRmOSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmgKQEAg
LTUyLDYgKzUyLDcgQEAgcHVibGljOgogICAgIHZvaWQgbW91c2VNb3ZlVG8oaW50IHgsIGludCB5
KTsKICAgICB2b2lkIG1vdXNlU2Nyb2xsQnkoaW50IHgsIGludCB5KTsKICAgICB2b2lkIGNvbnRp
bnVvdXNNb3VzZVNjcm9sbEJ5KGludCB4LCBpbnQgeSwgYm9vbCBwYWdlZCk7CisgICAgSlNWYWx1
ZVJlZiBjb250ZXh0Q2xpY2soKTsKICAgICB2b2lkIGxlYXBGb3J3YXJkKGludCBtaWxsaXNlY29u
ZHMpOwogICAgIHZvaWQgc2NoZWR1bGVBc3luY2hyb25vdXNDbGljaygpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175772</attachid>
            <date>2012-11-23 03:45:55 -0800</date>
            <delta_ts>2012-11-23 04:38:10 -0800</delta_ts>
            <desc>eventSender.contextClick() method partially implemented.</desc>
            <filename>contextClick.patch</filename>
            <type>text/plain</type>
            <size>19847</size>
            <attacher name="Wojciech Bielawski">w.bielawski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3YTBiN2Q4Li5hOGJkNmNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMTEt
MjMgIFdvamNpZWNoIEJpZWxhd3NraSAgPHcuYmllbGF3c2tpQHNhbXN1bmcuY29tPgorCisgICAg
ICAgIFtXSzJdW1dLVFJdIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgZXZlbnRTZW5kZXIuY29udGV4
dENsaWNrKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTg2ODgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgZXhwZWN0ZWQgcmVzdWx0cyBmb3IgdHdvIHRlc3RzIGZvciBFRkwgcGxhdGZvcm0uIFRl
c3QgZXhwZWN0YXRpb25zIGNoYW5nZWQKKyAgICAgICAgZm9yIEVGTCBXSzEvV0syIGFuZCBHVEsg
cGxhdGZvcm1zCisKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9uczoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9lZmwtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxh
dGZvcm0vZWZsLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL2drdC13
azIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvZWRpdGluZy9zZWxl
Y3Rpb24vNTM1NDQ1NS0yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvZWRp
dGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vZWZsL2Zhc3QvZXZlbnRzL2NvbnRleHQtbm8tZGVzZWxlY3QtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKwogMjAxMi0xMS0yMiAgRXVnZW5lIEtseXVjaG5pa292ICA8ZXVzdGFzLmJ1Z0Bn
bWFpbC5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogTm8gIlNhdmUgSGVhcCBTbmFwc2hv
dCIgb3B0aW9uIGFmdGVyIGNhbmNlbGluZyBzYXZlIHRvIGZpbGUgZGlhbG9nLgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsLXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZWZsLXdrMS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDdiNTExOTMuLmRk
ZTBiZjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC13azEvVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwtd2sxL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTI3OCwzICsyNzgsNiBAQCB3ZWJraXQub3JnL2IvMTAyNTE3IGNzczMvZGV2aWNlLWFk
YXB0L29wZXJhL2NvbnN0cmFpbi0wMjAueGh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8x
MDI1MTcgY3NzMy9kZXZpY2UtYWRhcHQvb3BlcmEvc3ludGF4LTAwMS54aHRtbCBbIEZhaWx1cmUg
XQogd2Via2l0Lm9yZy9iLzEwMjUxNyBjc3MzL2RldmljZS1hZGFwdC9vcGVyYS9zeW50YXgtMDAy
LnhodG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTAyNTE3IGNzczMvZGV2aWNlLWFkYXB0
L29wZXJhL3N5bnRheC0wMDMueGh0bWwgWyBGYWlsdXJlIF0KKworIyBFU0Mga2V5IGRvZXMgbm90
IGNhbmNlbCBjb250ZXh0IG1lbnUgaW4gRUZMIHBvcnQKK0J1ZyhFRkwpIGVkaXRpbmcvc2VsZWN0
aW9uLzUzNTQ0NTUtMS5odG1sIFsgRmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9lZmwtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9l
Zmwtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZGVmMDgxMi4uZjliN2Y4OSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2VmbC13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjc5LDIzICsy
NzksOSBAQCB3ZWJraXQub3JnL2IvOTk1NjIgaHR0cC90ZXN0cy9wbHVnaW5zL3Bvc3QtdXJsLWZp
bGUuaHRtbCBbIEZhaWx1cmUgXQogIyBDb21wYXJpc29uIG9mIHR3byBqYXZhc2NyaXB0IG9iamVj
dHMgaW4gQysrIGlzIGZhaWxpbmcuCiB3ZWJraXQub3JnL2IvOTg3MzkgcGx1Z2lucy9ucHJ1bnRp
bWUvZW1iZWQtcHJvcGVydHktZXF1YWxpdHkuaHRtbCBbIEZhaWx1cmUgXQogCi0jIFdlYktpdFRl
c3RSdW5uZXIgbmVlZHMgYW4gaW1wbGVtZW50YXRpb24gZm9yIGV2ZW50U2VuZGVyLmNvbnRleHRD
bGljawotd2Via2l0Lm9yZy9iLzg2ODgxIGVkaXRpbmcvcGFzdGVib2FyZC9jb3B5LXN0YW5kYWxv
bmUtaW1hZ2UtY3Jhc2guaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2ODgxIGVkaXRp
bmcvc2VsZWN0aW9uLzUzNTQ0NTUtMS5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODY4
ODEgZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0yLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5v
cmcvYi84Njg4MSBlZGl0aW5nL3NlbGVjdGlvbi9idXR0b24tcmlnaHQtY2xpY2suaHRtbCBbIEZh
aWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2ODgxIGVkaXRpbmcvc2VsZWN0aW9uL2NvbnRleHQtbWVu
dS1vbi10ZXh0Lmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84Njg4MSBlZGl0aW5nL3Nl
bGVjdGlvbi9jb250ZXh0LW1lbnUtdGV4dC1zZWxlY3Rpb24uaHRtbCBbIEZhaWx1cmUgXQotd2Vi
a2l0Lm9yZy9iLzg2ODgxIGVkaXRpbmcvc2VsZWN0aW9uL2VtcHR5LWNlbGwtcmlnaHQtY2xpY2su
aHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2ODgxIGVkaXRpbmcvc2hhZG93L3JpZ2h0
Y2xpY2stb24tbWV0ZXItaW4tc2hhZG93LWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5v
cmcvYi84Njg4MSBlZGl0aW5nL3NwZWxsaW5nL2NvbnRleHQtbWVudS1zdWdnZXN0aW9ucy5odG1s
IFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODY4ODEgZmFzdC9ldmVudHMvY29udGV4dC1uby1k
ZXNlbGVjdC5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODY4ODEgZmFzdC9ldmVudHMv
Y29udGV4dC1vbm1vdXNlZG93bi1ldmVudC5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2Iv
ODY4ODEgZmFzdC9ldmVudHMvY29udGV4dG1lbnUtc2Nyb2xsZWQtcGFnZS13aXRoLWZyYW1lLmh0
bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84Njg4MSBmYXN0L2V2ZW50cy9yaWdodC1jbGlj
ay1mb2N1cy5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODY4ODEgZmFzdC9ldmVudHMv
c2VsZWN0c3RhcnQtcHJldmVudC1zZWxlY3Rpb24tb24tcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1
cmUgXQotd2Via2l0Lm9yZy9iLzg2ODgxIG1lZGlhL2NvbnRleHQtbWVudS1hY3Rpb25zLmh0bWwg
WyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84Njg4MSBtZWRpYS9jb250cm9scy1yaWdodC1jbGlj
ay1vbi10aW1lYmFyLmh0bWwgWyBGYWlsdXJlIF0KKyMgRUZMJ3MgRXZlbnRTZW5kZXIgY29udGV4
dENsaWNrIHNob3VsZCByZXR1cm4gb2JqZWN0cyB0aGF0IGltcGxlbWVudHMgY2xpY2soKSBtZXRo
b2QKK3dlYmtpdC5vcmcvYi85ODQxMCBlZGl0aW5nL3Bhc3RlYm9hcmQvY29weS1zdGFuZGFsb25l
LWltYWdlLWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi85ODQxMCBtZWRpYS9j
b250ZXh0LW1lbnUtYWN0aW9ucy5odG1sIFsgRmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8xMDIy
MDEgZmFzdC9kb20vV2luZG93L3dpbmRvdy1yZXNpemUuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0
Lm9yZy9iLzEwMjIwMSBmYXN0L2RvbS9XaW5kb3cvb3Blbi13aW5kb3ctbWluLXNpemUuaHRtbCBb
IEZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBl
Y3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucwppbmRl
eCBjYTc1MmM4Li5lMDhiZDczIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwv
VGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVj
dGF0aW9ucwpAQCAtMTU2Myw5ICsxNTYzLDYgQEAgd2Via2l0Lm9yZy9iLzEwMDQyNCBlZGl0aW5n
L3NlbGVjdGlvbi91c2VyLXNlbGVjdC1hbGwtc2VsZWN0aW9uLmh0bWwgWyBGYWlsdXJlIF0KICMg
RW50ZXJpbmcgaW50byBmdWxsIHNjcmVlbiBwbGF5YmFjayBtb2RlIGZhaWxzIHdoZW4gdHJpZ2dl
cmVkIGJ5IGNvbnRleHQgbWVudQogQnVnKEVGTCkgbWVkaWEvY29udGV4dC1tZW51LWFjdGlvbnMu
aHRtbCBbIEZhaWx1cmUgXQogCi0jIEVTQyBrZXkgZG9lcyBub3QgY2FuY2VsIGNvbnRleHQgbWVu
dSBpbiBFRkwgcG9ydAotQnVnKEVGTCkgZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0xLmh0bWwg
WyBGYWlsdXJlIF0KLQogIyBUZXN0cyB0aGF0IGNyZWF0ZSBhbiBleHRyYSBncmFwaGljcyBsYXll
cgogd2Via2l0Lm9yZy9iLzEwMjY5NyBjb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1hdXRv
LXdpdGgtdG91Y2gtbm8tb3ZlcmZsb3cuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzEw
MjY5NyBjb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1oaWRkZW4td2l0aC10b3VjaC5odG1s
IFsgRmFpbHVyZSBdCkBAIC0xNjg5LDMgKzE2ODYsOSBAQCB3ZWJraXQub3JnL2IvMTAyNDkzIGZh
c3QvZXZlbnRzL21vdXNlLWN1cnNvci5odG1sIFsgRmFpbHVyZSBdCiAKICMgRmFpbHMgdW50aWwg
d2UgZW5hYmxlIHRoZSBSZXNvdXJjZSBUaW1pbmcgQVBJLgogd2Via2l0Lm9yZy9iLzYxMTM4IGh0
dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcgWyBTa2lwIF0K
KworIyBTdGFydCBvZiBtZWRpYSBwbGF5ZXIgY2F1c2VzIHRpbWVvdXQuCitCdWcoRUZMKSBtZWRp
YS9jb250cm9scy1yaWdodC1jbGljay1vbi10aW1lYmFyLmh0bWwgWyBGYWlsdXJlIF0KKworIyBO
byBzcGVsbGNoZWNrIHN1Z2dlc3Rpb25zIGluIGNvbnRleHQgbWVudQorQnVnKEVGTCkgZWRpdGlu
Zy9zcGVsbGluZy9jb250ZXh0LW1lbnUtc3VnZ2VzdGlvbnMuaHRtbCBbIEZhaWx1cmUgXQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGMwNGQy
YmUuLjVhZTRjNWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay13azIvVGVz
dEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGstd2syL1Rlc3RFeHBl
Y3RhdGlvbnMKQEAgLTEzMiwxOSArMTMyLDYgQEAgQnVnKEdUSykgZWRpdGluZy9zZWxlY3Rpb24v
ZXh0ZW5kLWFmdGVyLW1vdXNlLXNlbGVjdGlvbi5odG1sIFsgRmFpbHVyZSBdCiAjIFdlYktpdDIg
bmVlZHMgdGV4dElucHV0Q29udHJvbGxlci5zZWxlY3RlZFJhbmdlCiBCdWcoR1RLKSBlZGl0aW5n
L3NlbGVjdGlvbi9taXhlZC1lZGl0YWJpbGl0eS0xMC5odG1sIFsgRmFpbHVyZSBdCiAKLSMgSW1w
bGVtZW50IGV2ZW50U2VuZGVyLmNvbnRleHRDbGljawotQnVnKEdUSykgZWRpdGluZy9wYXN0ZWJv
YXJkL2NvcHktc3RhbmRhbG9uZS1pbWFnZS1jcmFzaC5odG1sIFsgRmFpbHVyZSBdCi1CdWcoR1RL
KSBlZGl0aW5nL3NlbGVjdGlvbi9lbXB0eS1jZWxsLXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJl
IF0KLUJ1ZyhHVEspIGVkaXRpbmcvc2VsZWN0aW9uL2J1dHRvbi1yaWdodC1jbGljay5odG1sIFsg
RmFpbHVyZSBdCi1CdWcoR1RLKSBlZGl0aW5nL3NlbGVjdGlvbi9jb250ZXh0LW1lbnUtb24tdGV4
dC5odG1sIFsgRmFpbHVyZSBdCi1CdWcoR1RLKSBlZGl0aW5nL3NlbGVjdGlvbi9lbXB0eS1jZWxs
LXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhHVEspIGZhc3QvZXZlbnRzL3NlbGVj
dHN0YXJ0LXByZXZlbnQtc2VsZWN0aW9uLW9uLXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0K
LUJ1ZyhHVEspIGZhc3QvZXZlbnRzL2NvbnRleHQtbm8tZGVzZWxlY3QuaHRtbCBbIEZhaWx1cmUg
XQotQnVnKEdUSykgZmFzdC9ldmVudHMvY29udGV4dG1lbnUtc2Nyb2xsZWQtcGFnZS13aXRoLWZy
YW1lLmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhHVEspIGZhc3QvZXZlbnRzL2NvbnRleHQtb25tb3Vz
ZWRvd24tZXZlbnQuaHRtbCBbIEZhaWx1cmUgXQotQnVnKEdUSykgbWVkaWEvY29udHJvbHMtcmln
aHQtY2xpY2stb24tdGltZWJhci5odG1sIFsgRmFpbHVyZSBdCi1CdWcoR1RLKSBzdmcvY3VzdG9t
L3VzZS1ldmVudHMtY3Jhc2guc3ZnIFsgRmFpbHVyZSBdCi0KICMgSW1wbGVtZW50IFBhZ2VDbGll
bnRJbXBsOjpyZWdpc3RlckVkaXRDb21tYW5kIGFuZCBoYW5kbGluZyBjb21tYW5kcyBmdW5jdGlv
bnMKIEJ1ZyhHVEspIGVkaXRpbmcvZGVsZXRpbmcvZGVsZXRlLWJ5LXdvcmQtMDAyLmh0bWwgWyBG
YWlsdXJlIF0KIEJ1ZyhHVEspIGVkaXRpbmcvZGVsZXRpbmcvZGVsZXRlLWFuZC11bmRvLmh0bWwg
WyBGYWlsdXJlIF0KQEAgLTU5MiwzICs1NzksMjUgQEAgd2Via2l0Lm9yZy9iLzEwMjc3NiBtZWRp
YS90cmFjay90cmFjay1jdWUtY29udGFpbmVyLXJlbmRlcmluZy1wb3NpdGlvbi5odG1sIFsgRmEK
ICMgRW5kIG9mIFRlc3RzIHdvcmtpbmcgaW4gV0syIGFuZCBmYWlsaW5nIGluIFdLMQogIy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KIAorCisjIFNlbGVjdGlvbiBkb2Vzbid0IHdvcmsg
cHJvcGVybHkuCitCdWcoR1RLKSBlZGl0aW5nL3NlbGVjdGlvbi9jb250ZXh0LW1lbnUtdGV4dC1z
ZWxlY3Rpb24uaHRtbCBbIEZhaWx1cmUgUGFzcyBdCitCdWcoR1RLKSBlZGl0aW5nL3NlbGVjdGlv
bi9lbXB0eS1jZWxsLXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0KK0J1ZyhHVEspIGVkaXRp
bmcvc3BlbGxpbmcvY29udGV4dC1tZW51LXN1Z2dlc3Rpb25zLmh0bWwgWyBGYWlsdXJlIF0KKwor
IyBFdmVudFNlbmRlcidzIGNvbnRleHRDbGljayBzaG91bGQgcmV0dXJuIG9iamVjdHMgdGhhdCBp
bXBsZW1lbnRzIGNsaWNrKCkgbWV0aG9kCit3ZWJraXQub3JnL2IvOTg0MTAgZWRpdGluZy9wYXN0
ZWJvYXJkL2NvcHktc3RhbmRhbG9uZS1pbWFnZS1jcmFzaC5odG1sIFsgRmFpbHVyZSBdCit3ZWJr
aXQub3JnL2IvOTg0MTAgbWVkaWEvY29udGV4dC1tZW51LWFjdGlvbnMuaHRtbCBbIEZhaWx1cmUg
XQorCisjIEFuIG9uY29udGV4dG1lbnUgYXR0cmlidXRlIGlzIG5vdCBjYWxsZWQuCitCdWcoR1RL
KSBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsY2hlY2staW5wdXQtc2VhcmNoLWNyYXNoLmh0bWwgWyBG
YWlsdXJlIF0KK0J1ZyhHVEspIGZhc3QvZXZlbnRzL2NvbnRleHRtZW51LXNjcm9sbGVkLXBhZ2Ut
d2l0aC1mcmFtZS5odG1sIFsgRmFpbHVyZSBdCisKKyMgQW4gb25tb3VzZWRvd24gYXR0cmlidXRl
IGlzIG5vdCBjYWxsZWQuCitCdWcoR1RLKSBmYXN0L2V2ZW50cy9jb250ZXh0LW9ubW91c2Vkb3du
LWV2ZW50Lmh0bWwgWyBGYWlsdXJlIF0KKworIyBBbiBvbnNlbGVjdHN0YXJ0IGF0dHJpYnV0ZSBp
cyBub3QgY2FsbGVkLgorQnVnKEdUSykgZmFzdC9ldmVudHMvc2VsZWN0c3RhcnQtcHJldmVudC1z
ZWxlY3Rpb24tb24tcmlnaHQtY2xpY2suaHRtbCBbIEZhaWx1cmUgXQorCisjIFN0YXJ0IG9mIG1l
ZGlhIHBsYXllciBjYXVzZXMgdGltZW91dAorQnVnKEdUSykgbWVkaWEvY29udHJvbHMtcmlnaHQt
Y2xpY2stb24tdGltZWJhci5odG1sIFsgRmFpbHVyZSBdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMWVkMDVmYy4u
NDA5OWY3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTExLTIzICBXb2pjaWVj
aCBCaWVsYXdza2kgIDx3LmJpZWxhd3NraUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbV0syXVtX
S1RSXSBXZWJLaXRUZXN0UnVubmVyIG5lZWRzIGV2ZW50U2VuZGVyLmNvbnRleHRDbGljaygpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Njg4MQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluamVjdGVkQnVu
ZGxlIEFQSSBleHRlbmRlZCB0byByZXRyaWV2ZSBjb250ZXh0TWVudSBlbnRyaWVzIG5hbWVzLgor
ICAgICAgICBXZWJDb250ZXh0TWVudSBleHRlZGVkIHdpdGggZnVuY3Rpb24gdG8gcmV0cmlldmUg
bWVudSBpdGVtcy4KKyAgICAgICAgVGhpcyBBUEkgaXMgcmVxdWlyZWQgYnkgbGF5b3V0IHRlc3Rz
LgorICAgICAgICBDb21tb24gY29kZSBpbiBXZWJDb250ZXh0TWVudS5jcHAgbW92ZWQgdG8gc2Vw
YXJhdGUgbWV0aG9kIG1lbnVJdGVtc1dpdGhVc2VyRGF0YSgpLgorICAgICAgICBCZWhhdmlvdXIg
b2YgZGVwZW5kZW5kIG1ldGhvZHMgaXMgdW5jaGFuZ2VkLgorCisgICAgICAgICogV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwOgorICAgICAgICAoV0tCdW5k
bGVQYWdlR2V0Q29udGV4dE1lbnVFbnRyaWVzTmFtZXMpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4
dE1lbnU6Oml0ZW1zKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYkNvbnRleHRNZW51Lmg6CisgICAgICAgIChXZWJDb250ZXh0TWVudSk6CisKIDIw
MTItMTEtMjIgIFBpZXJyZSBSb3NzaSAgPHBpZXJyZS5yb3NzaUBnbWFpbC5jb20+CiAKICAgICAg
ICAgW1F0XSBBdm9pZCBpbml0aWFsaXppbmcgUGxhdGZvcm1TdHJhdGVnaWVzIHR3aWNlLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9X
S0J1bmRsZVBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCmluZGV4IDUzZGRmNjEuLjAwNTgxMWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5k
bGVQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAKQEAgLTMwLDEzICszMCwxOSBAQAogI2luY2x1ZGUgIklu
amVjdGVkQnVuZGxlQmFja0ZvcndhcmRMaXN0LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVO
b2RlSGFuZGxlLmgiCiAjaW5jbHVkZSAiV0tBUElDYXN0LmgiCisjaW5jbHVkZSAiV0tBcnJheS5o
IgogI2luY2x1ZGUgIldLQnVuZGxlQVBJQ2FzdC5oIgorI2luY2x1ZGUgIldLUmV0YWluUHRyLmgi
CisjaW5jbHVkZSAiV0tTdHJpbmcuaCIKKyNpbmNsdWRlICJXZWJDb250ZXh0TWVudS5oIgorI2lu
Y2x1ZGUgIldlYkNvbnRleHRNZW51SXRlbS5oIgogI2luY2x1ZGUgIldlYkZyYW1lLmgiCiAjaW5j
bHVkZSAiV2ViRnVsbFNjcmVlbk1hbmFnZXIuaCIKICNpbmNsdWRlICJXZWJJbWFnZS5oIgogI2lu
Y2x1ZGUgIldlYlBhZ2UuaCIKICNpbmNsdWRlICJXZWJSZW5kZXJMYXllci5oIgogI2luY2x1ZGUg
IldlYlJlbmRlck9iamVjdC5oIgorI2luY2x1ZGUgIldlYlN0cmluZy5oIgogI2luY2x1ZGUgIldl
YlVSTC5oIgogI2luY2x1ZGUgIldlYlVSTFJlcXVlc3QuaCIKIApAQCAtMTQ1LDYgKzE1MSwyMiBA
QCBXS0J1bmRsZUZyYW1lUmVmIFdLQnVuZGxlUGFnZUdldE1haW5GcmFtZShXS0J1bmRsZVBhZ2VS
ZWYgcGFnZVJlZikKICAgICByZXR1cm4gdG9BUEkodG9JbXBsKHBhZ2VSZWYpLT5tYWluV2ViRnJh
bWUoKSk7CiB9CiAKK1dLQXJyYXlSZWYgV0tCdW5kbGVQYWdlQ29weUNvbnRleHRNZW51SXRlbVRp
dGxlcyhXS0J1bmRsZVBhZ2VSZWYgcGFnZVJlZikKK3sKKyNpZiBFTkFCTEUoQ09OVEVYVF9NRU5V
UykKKyAgICBXZWJDb250ZXh0TWVudSogY29udGV4dE1lbnUgPSB0b0ltcGwocGFnZVJlZiktPmNv
bnRleHRNZW51KCk7CisgICAgY29uc3QgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+ICZp
dGVtcyA9IGNvbnRleHRNZW51LT5pdGVtcygpOworICAgIHNpemVfdCBhcnJheUxlbmd0aCA9IGl0
ZW1zLnNpemUoKTsKKyAgICBPd25BcnJheVB0cjxXS1R5cGVSZWY+IGl0ZW1OYW1lcyA9IGFkb3B0
QXJyYXlQdHIobmV3IFdLVHlwZVJlZlthcnJheUxlbmd0aF0pOworICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgYXJyYXlMZW5ndGg7ICsraSkKKyAgICAgICAgaXRlbU5hbWVzW2ldID0gV0tTdHJp
bmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoaXRlbXNbaV0udGl0bGUoKS51dGY4KCkuZGF0YSgpKTsK
KworICAgIHJldHVybiBXS0FycmF5Q3JlYXRlQWRvcHRpbmdWYWx1ZXMoaXRlbU5hbWVzLmdldCgp
LCBhcnJheUxlbmd0aCk7CisjZWxzZQorICAgIHJldHVybiAwOworI2VuZGlmCit9CisKIHZvaWQq
IFdLQWNjZXNzaWJpbGl0eVJvb3RPYmplY3QoV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYpCiB7CiAj
aWYgSEFWRShBQ0NFU1NJQklMSVRZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VQcml2YXRlLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVByaXZh
dGUuaAppbmRleCAxMWIyMGRjLi5kNzY5ZmI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVByaXZhdGUuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxl
UGFnZVByaXZhdGUuaApAQCAtNzcsNiArNzcsOCBAQCBXS19FWFBPUlQgYm9vbCBXS0J1bmRsZVBh
Z2VDYW5TaG93TUlNRVR5cGUoV0tCdW5kbGVQYWdlUmVmLCBXS1N0cmluZ1JlZiBtaW1lVHlwZQog
V0tfRVhQT1JUIHZvaWQqIFdLQWNjZXNzaWJpbGl0eVJvb3RPYmplY3QoV0tCdW5kbGVQYWdlUmVm
KTsKIFdLX0VYUE9SVCB2b2lkKiBXS0FjY2Vzc2liaWxpdHlGb2N1c2VkT2JqZWN0KFdLQnVuZGxl
UGFnZVJlZik7CiAKK1dLX0VYUE9SVCBXS0FycmF5UmVmIFdLQnVuZGxlUGFnZUNvcHlDb250ZXh0
TWVudUl0ZW1UaXRsZXMoV0tCdW5kbGVQYWdlUmVmKTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJDb250ZXh0TWVudS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
Q29udGV4dE1lbnUuY3BwCmluZGV4IDMyNzNiZGMuLmQyMWFmMDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmNwcApAQCAtNjYs
NiArNjYsMzIgQEAgdm9pZCBXZWJDb250ZXh0TWVudTo6c2hvdygpCiAgICAgaWYgKCF2aWV3KQog
ICAgICAgICByZXR1cm47CiAKKyAgICBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4gbWVu
dUl0ZW1zOworICAgIFJlZlB0cjxBUElPYmplY3Q+IHVzZXJEYXRhOworICAgIG1lbnVJdGVtc1dp
dGhVc2VyRGF0YShtZW51SXRlbXMsIHVzZXJEYXRhKTsKKyAgICBXZWJIaXRUZXN0UmVzdWx0OjpE
YXRhIHdlYkhpdFRlc3RSZXN1bHREYXRhKGNvbnRyb2xsZXItPmhpdFRlc3RSZXN1bHQoKSk7CisK
KyAgICAvLyBNYXJrIHRoZSBXZWJQYWdlIGhhcyBoYXZpbmcgYSBzaG93biBjb250ZXh0IG1lbnUg
dGhlbiBub3RpZnkgdGhlIFVJUHJvY2Vzcy4KKyAgICBtX3BhZ2UtPmNvbnRleHRNZW51U2hvd2lu
ZygpOworICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTaG93Q29udGV4
dE1lbnUodmlldy0+Y29udGVudHNUb1dpbmRvdyhjb250cm9sbGVyLT5oaXRUZXN0UmVzdWx0KCku
cm91bmRlZFBvaW50SW5Jbm5lck5vZGVGcmFtZSgpKSwgd2ViSGl0VGVzdFJlc3VsdERhdGEsIG1l
bnVJdGVtcywgSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIodXNlckRhdGEuZ2V0KCkp
KSk7Cit9CisKK3ZvaWQgV2ViQ29udGV4dE1lbnU6Oml0ZW1TZWxlY3RlZChjb25zdCBXZWJDb250
ZXh0TWVudUl0ZW1EYXRhJiBpdGVtKQoreworICAgIENvbnRleHRNZW51SXRlbSBjb3JlSXRlbShB
Y3Rpb25UeXBlLCBzdGF0aWNfY2FzdDxDb250ZXh0TWVudUFjdGlvbj4oaXRlbS5hY3Rpb24oKSks
IGl0ZW0udGl0bGUoKSk7CisgICAgbV9wYWdlLT5jb3JlUGFnZSgpLT5jb250ZXh0TWVudUNvbnRy
b2xsZXIoKS0+Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoJmNvcmVJdGVtKTsKK30KKwordm9pZCBX
ZWJDb250ZXh0TWVudTo6bWVudUl0ZW1zV2l0aFVzZXJEYXRhKFZlY3RvcjxXZWJDb250ZXh0TWVu
dUl0ZW1EYXRhPiAmbWVudUl0ZW1zLCBSZWZQdHI8QVBJT2JqZWN0PiYgdXNlckRhdGEpIGNvbnN0
Cit7CisgICAgQ29udGV4dE1lbnVDb250cm9sbGVyKiBjb250cm9sbGVyID0gbV9wYWdlLT5jb3Jl
UGFnZSgpLT5jb250ZXh0TWVudUNvbnRyb2xsZXIoKTsKKyAgICBpZiAoIWNvbnRyb2xsZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIENvbnRleHRNZW51KiBtZW51ID0gY29udHJvbGxlci0+Y29u
dGV4dE1lbnUoKTsKKyAgICBpZiAoIW1lbnUpCisgICAgICAgIHJldHVybjsKKwogICAgIC8vIEdp
dmUgdGhlIGJ1bmRsZSBjbGllbnQgYSBjaGFuY2UgdG8gcHJvY2VzcyB0aGUgbWVudS4KICNpZiBV
U0UoQ1JPU1NfUExBVEZPUk1fQ09OVEVYVF9NRU5VUykKICAgICBjb25zdCBWZWN0b3I8Q29udGV4
dE1lbnVJdGVtPiYgY29yZUl0ZW1zID0gbWVudS0+aXRlbXMoKTsKQEAgLTc0LDIyICsxMDAsMTgg
QEAgdm9pZCBXZWJDb250ZXh0TWVudTo6c2hvdygpCiAjZW5kaWYKICAgICBWZWN0b3I8V2ViQ29u
dGV4dE1lbnVJdGVtRGF0YT4gcHJvcG9zZWRNZW51ID0ga2l0SXRlbXMoY29yZUl0ZW1zLCBtZW51
KTsKICAgICBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4gbmV3TWVudTsKLSAgICBSZWZQ
dHI8QVBJT2JqZWN0PiB1c2VyRGF0YTsKICAgICBSZWZQdHI8SW5qZWN0ZWRCdW5kbGVIaXRUZXN0
UmVzdWx0PiBoaXRUZXN0UmVzdWx0ID0gSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0OjpjcmVh
dGUoY29udHJvbGxlci0+aGl0VGVzdFJlc3VsdCgpKTsKICAgICBpZiAobV9wYWdlLT5pbmplY3Rl
ZEJ1bmRsZUNvbnRleHRNZW51Q2xpZW50KCkuZ2V0Q3VzdG9tTWVudUZyb21EZWZhdWx0SXRlbXMo
bV9wYWdlLCBoaXRUZXN0UmVzdWx0LmdldCgpLCBwcm9wb3NlZE1lbnUsIG5ld01lbnUsIHVzZXJE
YXRhKSkKICAgICAgICAgcHJvcG9zZWRNZW51ID0gbmV3TWVudTsKLQotICAgIFdlYkhpdFRlc3RS
ZXN1bHQ6OkRhdGEgd2ViSGl0VGVzdFJlc3VsdERhdGEoY29udHJvbGxlci0+aGl0VGVzdFJlc3Vs
dCgpKTsKLQotICAgIC8vIE1hcmsgdGhlIFdlYlBhZ2UgaGFzIGhhdmluZyBhIHNob3duIGNvbnRl
eHQgbWVudSB0aGVuIG5vdGlmeSB0aGUgVUlQcm9jZXNzLgotICAgIG1fcGFnZS0+Y29udGV4dE1l
bnVTaG93aW5nKCk7Ci0gICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNo
b3dDb250ZXh0TWVudSh2aWV3LT5jb250ZW50c1RvV2luZG93KGNvbnRyb2xsZXItPmhpdFRlc3RS
ZXN1bHQoKS5yb3VuZGVkUG9pbnRJbklubmVyTm9kZUZyYW1lKCkpLCB3ZWJIaXRUZXN0UmVzdWx0
RGF0YSwgcHJvcG9zZWRNZW51LCBJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2Rlcih1c2Vy
RGF0YS5nZXQoKSkpKTsKKyAgICBtZW51SXRlbXMgPSBwcm9wb3NlZE1lbnU7CiB9CiAKLXZvaWQg
V2ViQ29udGV4dE1lbnU6Oml0ZW1TZWxlY3RlZChjb25zdCBXZWJDb250ZXh0TWVudUl0ZW1EYXRh
JiBpdGVtKQorVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+IFdlYkNvbnRleHRNZW51Ojpp
dGVtcygpIGNvbnN0CiB7Ci0gICAgQ29udGV4dE1lbnVJdGVtIGNvcmVJdGVtKEFjdGlvblR5cGUs
IHN0YXRpY19jYXN0PENvbnRleHRNZW51QWN0aW9uPihpdGVtLmFjdGlvbigpKSwgaXRlbS50aXRs
ZSgpKTsKLSAgICBtX3BhZ2UtPmNvcmVQYWdlKCktPmNvbnRleHRNZW51Q29udHJvbGxlcigpLT5j
b250ZXh0TWVudUl0ZW1TZWxlY3RlZCgmY29yZUl0ZW0pOworICAgIFZlY3RvcjxXZWJDb250ZXh0
TWVudUl0ZW1EYXRhPiBtZW51SXRlbXM7CisgICAgUmVmUHRyPEFQSU9iamVjdD4gdXNlckRhdGE7
CisgICAgbWVudUl0ZW1zV2l0aFVzZXJEYXRhKG1lbnVJdGVtcywgdXNlckRhdGEpOworICAgIHJl
dHVybiBtZW51SXRlbXM7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuaAppbmRleCBjOGE1
ZjVhLi5iNGZhNjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViQ29udGV4dE1lbnUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViQ29udGV4dE1lbnUuaApAQCAtNDMsMTAgKzQzLDEyIEBAIHB1YmxpYzoKIAogICAgIHZv
aWQgc2hvdygpOwogICAgIHZvaWQgaXRlbVNlbGVjdGVkKGNvbnN0IFdlYkNvbnRleHRNZW51SXRl
bURhdGEmKTsKKyAgICBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4gaXRlbXMoKSBjb25z
dDsKIAogcHJpdmF0ZToKICAgICBXZWJDb250ZXh0TWVudShXZWJQYWdlKik7Ci0gICAgCisgICAg
dm9pZCBtZW51SXRlbXNXaXRoVXNlckRhdGEoVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+
JiwgUmVmUHRyPEFQSU9iamVjdD4mKSBjb25zdDsKKwogICAgIFdlYlBhZ2UqIG1fcGFnZTsKIH07
CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA2
NGE1YjFjLi44MTdhNTc3IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTItMTEtMjMgIFdvamNpZWNoIEJpZWxhd3Nr
aSAgPHcuYmllbGF3c2tpQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtXSzJdW1dLVFJdIFdlYktp
dFRlc3RSdW5uZXIgbmVlZHMgZXZlbnRTZW5kZXIuY29udGV4dENsaWNrKCkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2ODgxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgZXZlbnRTZW5kZXIgb2JqZWN0IGV4
dGVuZGVkIHdpdGggY29udGV4dENsaWNrKCkgbWV0aG9kIGluIFdlYktpdFRlc3RSdW5uZXIuCisg
ICAgICAgIGNvbnRleHRDbGljaygpIG1ldGhvZCByZXR1cm5zIGFuIGFycmF5IG9mIG1lbnUgaXRl
bXMgb2JqZWN0cyB3aXRoIGZpZWxkICd0aXRsZScgY29udGFpbmluZyB0aXRsZSBvZiBzaW5nbGUK
KyAgICAgICAgY29udGV4dCBtZW51IGVudHJ5LiBBY2NvcmRpbmcgdG8gc29tZSB0ZXN0cyBtZW51
IGl0ZW1zIG9iamVjdHMgc2hhbGwgYWxzbyBzdXBwb3J0ICdjbGljaygpJyBtZXRob2QsIGJ1dCBp
dCdzIG5vdAorICAgICAgICBkZWxpdmVyZWQgaW4gdGhpcyBwYXRjaC4KKworICAgICAgICAqIFdl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvRXZlbnRTZW5kaW5nQ29udHJv
bGxlci5pZGw6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVu
dFNlbmRpbmdDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6RXZlbnRTZW5kaW5nQ29udHJv
bGxlcjo6Y29udGV4dENsaWNrKToKKyAgICAgICAgKFdUUik6CisgICAgICAgICogV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmg6CisgICAgICAg
IChFdmVudFNlbmRpbmdDb250cm9sbGVyKToKKwogMjAxMi0xMS0yMyAgU2ltb24gSGF1c21hbm4g
IDxzaW1vbi5oYXVzbWFubkBkaWdpYS5jb20+CiAKICAgICAgICAgW1F0XSBDb21waWxpbmcgYWdh
aW5zdCBRdFdlYmtpdCBBUEkgcmVxdWlyZXMgUVRfRExMIHRvIGJlIGRlZmluZWQKZGlmZiAtLWdp
dCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvRXZlbnRT
ZW5kaW5nQ29udHJvbGxlci5pZGwgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL0JpbmRpbmdzL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaWRsCmluZGV4IDUyYTdhNWIuLjFk
NjJjOWIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
QmluZGluZ3MvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5pZGwKKysrIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9FdmVudFNlbmRpbmdDb250cm9sbGVyLmlk
bApAQCAtMjksNiArMjksNyBAQCBpbnRlcmZhY2UgRXZlbnRTZW5kaW5nQ29udHJvbGxlciB7CiAg
ICAgdm9pZCBtb3VzZU1vdmVUbyhpbiBsb25nIHgsIGluIGxvbmcgeSk7CiAgICAgdm9pZCBtb3Vz
ZVNjcm9sbEJ5KGluIGxvbmcgeCwgaW4gbG9uZyB5KTsKICAgICB2b2lkIGNvbnRpbnVvdXNNb3Vz
ZVNjcm9sbEJ5KGluIGxvbmcgeCwgaW4gbG9uZyB5LCBpbiBbT3B0aW9uYWxdIGJvb2xlYW4gcGFn
ZWQpOworICAgIG9iamVjdCBjb250ZXh0Q2xpY2soKTsKICAgICB2b2lkIHNjaGVkdWxlQXN5bmNo
cm9ub3VzQ2xpY2soKTsKIAogICAgIHZvaWQgbGVhcEZvcndhcmQoaW4gbG9uZyBtaWxsaXNlY29u
ZHMpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9F
dmVudFNlbmRpbmdDb250cm9sbGVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5jcHAKaW5kZXggYmY2ZDliYy4uNGVlNzgy
MSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVu
dFNlbmRpbmdDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuY3BwCkBAIC0zMTksNiArMzE5LDM3IEBA
IHZvaWQgRXZlbnRTZW5kaW5nQ29udHJvbGxlcjo6Y29udGludW91c01vdXNlU2Nyb2xsQnkoaW50
IHgsIGludCB5LCBib29sIHBhZ2VkKQogICAgIFdLQnVuZGxlUG9zdFN5bmNocm9ub3VzTWVzc2Fn
ZShJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkuYnVuZGxlKCksIEV2ZW50U2VuZGVyTWVzc2FnZU5h
bWUuZ2V0KCksIEV2ZW50U2VuZGVyTWVzc2FnZUJvZHkuZ2V0KCksIDApOwogfQogCitKU1ZhbHVl
UmVmIEV2ZW50U2VuZGluZ0NvbnRyb2xsZXI6OmNvbnRleHRDbGljaygpCit7CisgICAgV0tCdW5k
bGVQYWdlUmVmIHBhZ2UgPSBJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkucGFnZSgpLT5wYWdlKCk7
CisgICAgV0tCdW5kbGVGcmFtZVJlZiBtYWluRnJhbWUgPSBXS0J1bmRsZVBhZ2VHZXRNYWluRnJh
bWUocGFnZSk7CisgICAgSlNDb250ZXh0UmVmIGNvbnRleHQgPSBXS0J1bmRsZUZyYW1lR2V0SmF2
YVNjcmlwdENvbnRleHQobWFpbkZyYW1lKTsKKyNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKKyAg
ICAvLyBEbyBtb3VzZSBjb250ZXh0IGNsaWNrLgorICAgIG1vdXNlRG93bigyLCAwKTsKKyAgICBt
b3VzZVVwKDIsIDApOworCisgICAgV0tSZXRhaW5QdHI8V0tBcnJheVJlZj4gZW50cmllc05hbWVz
ID0gYWRvcHRXSyhXS0J1bmRsZVBhZ2VDb3B5Q29udGV4dE1lbnVJdGVtVGl0bGVzKHBhZ2UpKTsK
KyAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4ganNQcm9wZXJ0eU5hbWUoQWRvcHQsIEpTU3Ry
aW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJ0aXRsZSIpKTsKKyAgICBzaXplX3QgZW50cmllc1Np
emUgPSBXS0FycmF5R2V0U2l6ZShlbnRyaWVzTmFtZXMuZ2V0KCkpOworICAgIE93bkFycmF5UHRy
PEpTVmFsdWVSZWY+IGpzVmFsdWVzQXJyYXkgPSBhZG9wdEFycmF5UHRyKG5ldyBKU1ZhbHVlUmVm
W2VudHJpZXNTaXplXSk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBlbnRyaWVzU2l6ZTsg
KytpKSB7CisgICAgICAgIEFTU0VSVChXS0dldFR5cGVJRChXS0FycmF5R2V0SXRlbUF0SW5kZXgo
ZW50cmllc05hbWVzLmdldCgpLCBpKSkgPT0gV0tTdHJpbmdHZXRUeXBlSUQoKSk7CisKKyAgICAg
ICAgV0tTdHJpbmdSZWYgd2tFbnRyeU5hbWUgPSBzdGF0aWNfY2FzdDxXS1N0cmluZ1JlZj4oV0tB
cnJheUdldEl0ZW1BdEluZGV4KGVudHJpZXNOYW1lcy5nZXQoKSwgaSkpOworICAgICAgICBKU09i
amVjdFJlZiBqc0l0ZW1PYmplY3QgPSBKU09iamVjdE1ha2UoY29udGV4dCwgLyogSlNDbGFzc1Jl
ZiAqLzAsIC8qIHByaXZEYXRhICovMCk7CisgICAgICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVm
PiBqc05hbWVDb3B5KEFkb3B0LCBXS1N0cmluZ0NvcHlKU1N0cmluZyh3a0VudHJ5TmFtZSkpOwor
ICAgICAgICBKU1ZhbHVlUmVmIGpzRW50cnlOYW1lID0gSlNWYWx1ZU1ha2VTdHJpbmcoY29udGV4
dCwganNOYW1lQ29weS5nZXQoKSk7CisgICAgICAgIEpTT2JqZWN0U2V0UHJvcGVydHkoY29udGV4
dCwganNJdGVtT2JqZWN0LCBqc1Byb3BlcnR5TmFtZS5nZXQoKSwganNFbnRyeU5hbWUsIGtKU1By
b3BlcnR5QXR0cmlidXRlUmVhZE9ubHksIDApOworICAgICAgICBqc1ZhbHVlc0FycmF5W2ldID0g
anNJdGVtT2JqZWN0OworICAgIH0KKworICAgIHJldHVybiBKU09iamVjdE1ha2VBcnJheShjb250
ZXh0LCBlbnRyaWVzU2l6ZSwganNWYWx1ZXNBcnJheS5nZXQoKSwgMCk7CisjZWxzZQorICAgIHJl
dHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKKyNlbmRpZgorfQorCiAjaWZkZWYg
VVNFX1dFQlBST0NFU1NfRVZFTlRfU0lNVUxBVElPTgogdm9pZCBFdmVudFNlbmRpbmdDb250cm9s
bGVyOjp1cGRhdGVDbGlja0NvdW50KFdLRXZlbnRNb3VzZUJ1dHRvbiBidXR0b24pCiB7CmRpZmYg
LS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2ZW50U2VuZGlu
Z0NvbnRyb2xsZXIuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZl
bnRTZW5kaW5nQ29udHJvbGxlci5oCmluZGV4IDQxM2I5MWMuLjY5YzU0ZjkgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJv
bGxlci5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRT
ZW5kaW5nQ29udHJvbGxlci5oCkBAIC01Miw2ICs1Miw3IEBAIHB1YmxpYzoKICAgICB2b2lkIG1v
dXNlTW92ZVRvKGludCB4LCBpbnQgeSk7CiAgICAgdm9pZCBtb3VzZVNjcm9sbEJ5KGludCB4LCBp
bnQgeSk7CiAgICAgdm9pZCBjb250aW51b3VzTW91c2VTY3JvbGxCeShpbnQgeCwgaW50IHksIGJv
b2wgcGFnZWQpOworICAgIEpTVmFsdWVSZWYgY29udGV4dENsaWNrKCk7CiAgICAgdm9pZCBsZWFw
Rm9yd2FyZChpbnQgbWlsbGlzZWNvbmRzKTsKICAgICB2b2lkIHNjaGVkdWxlQXN5bmNocm9ub3Vz
Q2xpY2soKTsKIAo=
</data>
<flag name="review"
          id="191322"
          type_id="1"
          status="+"
          setter="kenneth"
    />
    <flag name="commit-queue"
          id="191330"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175779</attachid>
            <date>2012-11-23 04:38:10 -0800</date>
            <delta_ts>2012-11-23 04:56:31 -0800</delta_ts>
            <desc>eventSender.contextClick() method partially implemented.</desc>
            <filename>contextClick.patch</filename>
            <type>text/plain</type>
            <size>19958</size>
            <attacher name="Wojciech Bielawski">w.bielawski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiMmVhOWExLi40ZWU5ZjhmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMTEt
MjMgIFdvamNpZWNoIEJpZWxhd3NraSAgPHcuYmllbGF3c2tpQHNhbXN1bmcuY29tPgorCisgICAg
ICAgIFtXSzJdW1dLVFJdIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgZXZlbnRTZW5kZXIuY29udGV4
dENsaWNrKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTg2ODgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4u
CisKKyAgICAgICAgQWRkZWQgZXhwZWN0ZWQgcmVzdWx0cyBmb3IgdHdvIHRlc3RzIGZvciBFRkwg
cGxhdGZvcm0uIFRlc3QgZXhwZWN0YXRpb25zIGNoYW5nZWQKKyAgICAgICAgZm9yIEVGTCBXSzEv
V0syIGFuZCBHVEsgcGxhdGZvcm1zCisKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvVGVzdEV4cGVj
dGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6Cisg
ICAgICAgICogcGxhdGZvcm0vZWZsLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBs
YXRmb3JtL2drdC13azIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsv
ZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9lZmwvZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0yLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vZWZsL2Zhc3QvZXZlbnRzL2NvbnRleHQtbm8tZGVzZWxlY3Qt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAxMi0xMS0yMyAgU3VkYXJzYW5hIE5hZ2luZW5pICA8
c3VkYXJzYW5hLm5hZ2luZW5pQGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXSBOZXdseSBhZGRl
ZCB0ZXN0cyBpbiByMTM1NDM2IGFuZCByMTM1NDU2IGFyZSBmYWlsbmcKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2VmbC13azEvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2VmbC13azEvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA3YjUxMTkzLi5kZGUwYmYw
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwtd2sxL1Rlc3RFeHBlY3RhdGlv
bnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsLXdrMS9UZXN0RXhwZWN0YXRpb25zCkBA
IC0yNzgsMyArMjc4LDYgQEAgd2Via2l0Lm9yZy9iLzEwMjUxNyBjc3MzL2RldmljZS1hZGFwdC9v
cGVyYS9jb25zdHJhaW4tMDIwLnhodG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTAyNTE3
IGNzczMvZGV2aWNlLWFkYXB0L29wZXJhL3N5bnRheC0wMDEueGh0bWwgWyBGYWlsdXJlIF0KIHdl
YmtpdC5vcmcvYi8xMDI1MTcgY3NzMy9kZXZpY2UtYWRhcHQvb3BlcmEvc3ludGF4LTAwMi54aHRt
bCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzEwMjUxNyBjc3MzL2RldmljZS1hZGFwdC9vcGVy
YS9zeW50YXgtMDAzLnhodG1sIFsgRmFpbHVyZSBdCisKKyMgRVNDIGtleSBkb2VzIG5vdCBjYW5j
ZWwgY29udGV4dCBtZW51IGluIEVGTCBwb3J0CitCdWcoRUZMKSBlZGl0aW5nL3NlbGVjdGlvbi81
MzU0NDU1LTEuaHRtbCBbIEZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZWZsLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsLXdr
Mi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDA3MjI0ODQuLjA0MWRjYWIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2VmbC13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9lZmwtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI3OSwyNCArMjc5LDEw
IEBAIHdlYmtpdC5vcmcvYi85OTU2MiBodHRwL3Rlc3RzL3BsdWdpbnMvcG9zdC11cmwtZmlsZS5o
dG1sIFsgRmFpbHVyZSBdCiAjIENvbXBhcmlzb24gb2YgdHdvIGphdmFzY3JpcHQgb2JqZWN0cyBp
biBDKysgaXMgZmFpbGluZy4KIHdlYmtpdC5vcmcvYi85ODczOSBwbHVnaW5zL25wcnVudGltZS9l
bWJlZC1wcm9wZXJ0eS1lcXVhbGl0eS5odG1sIFsgRmFpbHVyZSBdCiAKLSMgV2ViS2l0VGVzdFJ1
bm5lciBuZWVkcyBhbiBpbXBsZW1lbnRhdGlvbiBmb3IgZXZlbnRTZW5kZXIuY29udGV4dENsaWNr
Ci13ZWJraXQub3JnL2IvODY4ODEgZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktc3RhbmRhbG9uZS1p
bWFnZS1jcmFzaC5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODY4ODEgZWRpdGluZy9z
ZWxlY3Rpb24vNTM1NDQ1NS0xLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84Njg4MSBl
ZGl0aW5nL3NlbGVjdGlvbi81MzU0NDU1LTIuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9i
Lzg2ODgxIGVkaXRpbmcvc2VsZWN0aW9uL2J1dHRvbi1yaWdodC1jbGljay5odG1sIFsgRmFpbHVy
ZSBdCi13ZWJraXQub3JnL2IvODY4ODEgZWRpdGluZy9zZWxlY3Rpb24vY29udGV4dC1tZW51LW9u
LXRleHQuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2ODgxIGVkaXRpbmcvc2VsZWN0
aW9uL2NvbnRleHQtbWVudS10ZXh0LXNlbGVjdGlvbi5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQu
b3JnL2IvODY4ODEgZWRpdGluZy9zZWxlY3Rpb24vZW1wdHktY2VsbC1yaWdodC1jbGljay5odG1s
IFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODY4ODEgZWRpdGluZy9zaGFkb3cvcmlnaHRjbGlj
ay1vbi1tZXRlci1pbi1zaGFkb3ctY3Jhc2guaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9i
Lzg2ODgxIGVkaXRpbmcvc3BlbGxpbmcvY29udGV4dC1tZW51LXN1Z2dlc3Rpb25zLmh0bWwgWyBG
YWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84Njg4MSBmYXN0L2V2ZW50cy9jb250ZXh0LW5vLWRlc2Vs
ZWN0Lmh0bWwgWyBGYWlsdXJlIF0KKyMgRUZMJ3MgRXZlbnRTZW5kZXIgY29udGV4dENsaWNrIHNo
b3VsZCByZXR1cm4gb2JqZWN0cyB0aGF0IGltcGxlbWVudHMgY2xpY2soKSBtZXRob2QKK3dlYmtp
dC5vcmcvYi85ODQxMCBlZGl0aW5nL3Bhc3RlYm9hcmQvY29weS1zdGFuZGFsb25lLWltYWdlLWNy
YXNoLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi85ODQxMCBtZWRpYS9jb250ZXh0LW1l
bnUtYWN0aW9ucy5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvODY4ODEgZmFzdC9ldmVu
dHMvY29udGV4dC1ub2RyYWcuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2ODgxIGZh
c3QvZXZlbnRzL2NvbnRleHQtb25tb3VzZWRvd24tZXZlbnQuaHRtbCBbIEZhaWx1cmUgXQotd2Vi
a2l0Lm9yZy9iLzg2ODgxIGZhc3QvZXZlbnRzL2NvbnRleHRtZW51LXNjcm9sbGVkLXBhZ2Utd2l0
aC1mcmFtZS5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODY4ODEgZmFzdC9ldmVudHMv
cmlnaHQtY2xpY2stZm9jdXMuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzg2ODgxIGZh
c3QvZXZlbnRzL3NlbGVjdHN0YXJ0LXByZXZlbnQtc2VsZWN0aW9uLW9uLXJpZ2h0LWNsaWNrLmh0
bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84Njg4MSBtZWRpYS9jb250ZXh0LW1lbnUtYWN0
aW9ucy5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvODY4ODEgbWVkaWEvY29udHJvbHMt
cmlnaHQtY2xpY2stb24tdGltZWJhci5odG1sIFsgRmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8x
MDIyMDEgZmFzdC9kb20vV2luZG93L3dpbmRvdy1yZXNpemUuaHRtbCBbIEZhaWx1cmUgXQogd2Vi
a2l0Lm9yZy9iLzEwMjIwMSBmYXN0L2RvbS9XaW5kb3cvb3Blbi13aW5kb3ctbWluLXNpemUuaHRt
bCBbIEZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RF
eHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucwpp
bmRleCA0YTJiZWVhLi4wZGFkMGQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9l
ZmwvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4
cGVjdGF0aW9ucwpAQCAtMTU2Myw5ICsxNTYzLDYgQEAgd2Via2l0Lm9yZy9iLzEwMDQyNCBlZGl0
aW5nL3NlbGVjdGlvbi91c2VyLXNlbGVjdC1hbGwtc2VsZWN0aW9uLmh0bWwgWyBGYWlsdXJlIF0K
ICMgRW50ZXJpbmcgaW50byBmdWxsIHNjcmVlbiBwbGF5YmFjayBtb2RlIGZhaWxzIHdoZW4gdHJp
Z2dlcmVkIGJ5IGNvbnRleHQgbWVudQogQnVnKEVGTCkgbWVkaWEvY29udGV4dC1tZW51LWFjdGlv
bnMuaHRtbCBbIEZhaWx1cmUgXQogCi0jIEVTQyBrZXkgZG9lcyBub3QgY2FuY2VsIGNvbnRleHQg
bWVudSBpbiBFRkwgcG9ydAotQnVnKEVGTCkgZWRpdGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0xLmh0
bWwgWyBGYWlsdXJlIF0KLQogIyBUZXN0cyB0aGF0IGNyZWF0ZSBhbiBleHRyYSBncmFwaGljcyBs
YXllcgogd2Via2l0Lm9yZy9iLzEwMjY5NyBjb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1h
dXRvLXdpdGgtdG91Y2gtbm8tb3ZlcmZsb3cuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9i
LzEwMjY5NyBjb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1oaWRkZW4td2l0aC10b3VjaC5o
dG1sIFsgRmFpbHVyZSBdCkBAIC0xNjkxLDMgKzE2ODgsOSBAQCB3ZWJraXQub3JnL2IvMTAyNDkz
IGZhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2Iv
NjExMzggaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL3Jlc291cmNlLXRpbWluZyBb
IFNraXAgXQogCiB3ZWJraXQub3JnL2IvMTAzMTA5IGZhc3QvZG9tL3NoYWRvdy9ob3N0LXdyYXBw
ZXItcmVjbGFpbWVkLmh0bWwgWyBGYWlsdXJlIF0KKworIyBTdGFydCBvZiBtZWRpYSBwbGF5ZXIg
Y2F1c2VzIHRpbWVvdXQuCitCdWcoRUZMKSBtZWRpYS9jb250cm9scy1yaWdodC1jbGljay1vbi10
aW1lYmFyLmh0bWwgWyBGYWlsdXJlIF0KKworIyBObyBzcGVsbGNoZWNrIHN1Z2dlc3Rpb25zIGlu
IGNvbnRleHQgbWVudQorQnVnKEVGTCkgZWRpdGluZy9zcGVsbGluZy9jb250ZXh0LW1lbnUtc3Vn
Z2VzdGlvbnMuaHRtbCBbIEZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrLXdr
Mi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGMwNGQyYmUuLjVhZTRjNWIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGstd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEzMiwxOSArMTMyLDYg
QEAgQnVnKEdUSykgZWRpdGluZy9zZWxlY3Rpb24vZXh0ZW5kLWFmdGVyLW1vdXNlLXNlbGVjdGlv
bi5odG1sIFsgRmFpbHVyZSBdCiAjIFdlYktpdDIgbmVlZHMgdGV4dElucHV0Q29udHJvbGxlci5z
ZWxlY3RlZFJhbmdlCiBCdWcoR1RLKSBlZGl0aW5nL3NlbGVjdGlvbi9taXhlZC1lZGl0YWJpbGl0
eS0xMC5odG1sIFsgRmFpbHVyZSBdCiAKLSMgSW1wbGVtZW50IGV2ZW50U2VuZGVyLmNvbnRleHRD
bGljawotQnVnKEdUSykgZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktc3RhbmRhbG9uZS1pbWFnZS1j
cmFzaC5odG1sIFsgRmFpbHVyZSBdCi1CdWcoR1RLKSBlZGl0aW5nL3NlbGVjdGlvbi9lbXB0eS1j
ZWxsLXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhHVEspIGVkaXRpbmcvc2VsZWN0
aW9uL2J1dHRvbi1yaWdodC1jbGljay5odG1sIFsgRmFpbHVyZSBdCi1CdWcoR1RLKSBlZGl0aW5n
L3NlbGVjdGlvbi9jb250ZXh0LW1lbnUtb24tdGV4dC5odG1sIFsgRmFpbHVyZSBdCi1CdWcoR1RL
KSBlZGl0aW5nL3NlbGVjdGlvbi9lbXB0eS1jZWxsLXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJl
IF0KLUJ1ZyhHVEspIGZhc3QvZXZlbnRzL3NlbGVjdHN0YXJ0LXByZXZlbnQtc2VsZWN0aW9uLW9u
LXJpZ2h0LWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhHVEspIGZhc3QvZXZlbnRzL2NvbnRl
eHQtbm8tZGVzZWxlY3QuaHRtbCBbIEZhaWx1cmUgXQotQnVnKEdUSykgZmFzdC9ldmVudHMvY29u
dGV4dG1lbnUtc2Nyb2xsZWQtcGFnZS13aXRoLWZyYW1lLmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhH
VEspIGZhc3QvZXZlbnRzL2NvbnRleHQtb25tb3VzZWRvd24tZXZlbnQuaHRtbCBbIEZhaWx1cmUg
XQotQnVnKEdUSykgbWVkaWEvY29udHJvbHMtcmlnaHQtY2xpY2stb24tdGltZWJhci5odG1sIFsg
RmFpbHVyZSBdCi1CdWcoR1RLKSBzdmcvY3VzdG9tL3VzZS1ldmVudHMtY3Jhc2guc3ZnIFsgRmFp
bHVyZSBdCi0KICMgSW1wbGVtZW50IFBhZ2VDbGllbnRJbXBsOjpyZWdpc3RlckVkaXRDb21tYW5k
IGFuZCBoYW5kbGluZyBjb21tYW5kcyBmdW5jdGlvbnMKIEJ1ZyhHVEspIGVkaXRpbmcvZGVsZXRp
bmcvZGVsZXRlLWJ5LXdvcmQtMDAyLmh0bWwgWyBGYWlsdXJlIF0KIEJ1ZyhHVEspIGVkaXRpbmcv
ZGVsZXRpbmcvZGVsZXRlLWFuZC11bmRvLmh0bWwgWyBGYWlsdXJlIF0KQEAgLTU5MiwzICs1Nzks
MjUgQEAgd2Via2l0Lm9yZy9iLzEwMjc3NiBtZWRpYS90cmFjay90cmFjay1jdWUtY29udGFpbmVy
LXJlbmRlcmluZy1wb3NpdGlvbi5odG1sIFsgRmEKICMgRW5kIG9mIFRlc3RzIHdvcmtpbmcgaW4g
V0syIGFuZCBmYWlsaW5nIGluIFdLMQogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8K
IAorCisjIFNlbGVjdGlvbiBkb2Vzbid0IHdvcmsgcHJvcGVybHkuCitCdWcoR1RLKSBlZGl0aW5n
L3NlbGVjdGlvbi9jb250ZXh0LW1lbnUtdGV4dC1zZWxlY3Rpb24uaHRtbCBbIEZhaWx1cmUgUGFz
cyBdCitCdWcoR1RLKSBlZGl0aW5nL3NlbGVjdGlvbi9lbXB0eS1jZWxsLXJpZ2h0LWNsaWNrLmh0
bWwgWyBGYWlsdXJlIF0KK0J1ZyhHVEspIGVkaXRpbmcvc3BlbGxpbmcvY29udGV4dC1tZW51LXN1
Z2dlc3Rpb25zLmh0bWwgWyBGYWlsdXJlIF0KKworIyBFdmVudFNlbmRlcidzIGNvbnRleHRDbGlj
ayBzaG91bGQgcmV0dXJuIG9iamVjdHMgdGhhdCBpbXBsZW1lbnRzIGNsaWNrKCkgbWV0aG9kCit3
ZWJraXQub3JnL2IvOTg0MTAgZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktc3RhbmRhbG9uZS1pbWFn
ZS1jcmFzaC5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvOTg0MTAgbWVkaWEvY29udGV4
dC1tZW51LWFjdGlvbnMuaHRtbCBbIEZhaWx1cmUgXQorCisjIEFuIG9uY29udGV4dG1lbnUgYXR0
cmlidXRlIGlzIG5vdCBjYWxsZWQuCitCdWcoR1RLKSBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsY2hl
Y2staW5wdXQtc2VhcmNoLWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KK0J1ZyhHVEspIGZhc3QvZXZl
bnRzL2NvbnRleHRtZW51LXNjcm9sbGVkLXBhZ2Utd2l0aC1mcmFtZS5odG1sIFsgRmFpbHVyZSBd
CisKKyMgQW4gb25tb3VzZWRvd24gYXR0cmlidXRlIGlzIG5vdCBjYWxsZWQuCitCdWcoR1RLKSBm
YXN0L2V2ZW50cy9jb250ZXh0LW9ubW91c2Vkb3duLWV2ZW50Lmh0bWwgWyBGYWlsdXJlIF0KKwor
IyBBbiBvbnNlbGVjdHN0YXJ0IGF0dHJpYnV0ZSBpcyBub3QgY2FsbGVkLgorQnVnKEdUSykgZmFz
dC9ldmVudHMvc2VsZWN0c3RhcnQtcHJldmVudC1zZWxlY3Rpb24tb24tcmlnaHQtY2xpY2suaHRt
bCBbIEZhaWx1cmUgXQorCisjIFN0YXJ0IG9mIG1lZGlhIHBsYXllciBjYXVzZXMgdGltZW91dAor
QnVnKEdUSykgbWVkaWEvY29udHJvbHMtcmlnaHQtY2xpY2stb24tdGltZWJhci5odG1sIFsgRmFp
bHVyZSBdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKaW5kZXggMWVkMDVmYy4uNTc2Y2QwNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDI1IEBACisyMDEyLTExLTIzICBXb2pjaWVjaCBCaWVsYXdza2kgIDx3LmJpZWxhd3NraUBz
YW1zdW5nLmNvbT4KKworICAgICAgICBbV0syXVtXS1RSXSBXZWJLaXRUZXN0UnVubmVyIG5lZWRz
IGV2ZW50U2VuZGVyLmNvbnRleHRDbGljaygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04Njg4MQorCisgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGgg
Um9oZGUgQ2hyaXN0aWFuc2VuLgorCisgICAgICAgIEluamVjdGVkQnVuZGxlIEFQSSBleHRlbmRl
ZCB0byByZXRyaWV2ZSBjb250ZXh0TWVudSBlbnRyaWVzIG5hbWVzLgorICAgICAgICBXZWJDb250
ZXh0TWVudSBleHRlZGVkIHdpdGggZnVuY3Rpb24gdG8gcmV0cmlldmUgbWVudSBpdGVtcy4KKyAg
ICAgICAgVGhpcyBBUEkgaXMgcmVxdWlyZWQgYnkgbGF5b3V0IHRlc3RzLgorICAgICAgICBDb21t
b24gY29kZSBpbiBXZWJDb250ZXh0TWVudS5jcHAgbW92ZWQgdG8gc2VwYXJhdGUgbWV0aG9kIG1l
bnVJdGVtc1dpdGhVc2VyRGF0YSgpLgorICAgICAgICBCZWhhdmlvdXIgb2YgZGVwZW5kZW5kIG1l
dGhvZHMgaXMgdW5jaGFuZ2VkLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwOgorICAgICAgICAoV0tCdW5kbGVQYWdlR2V0Q29udGV4
dE1lbnVFbnRyaWVzTmFtZXMpOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
QVBJL2MvV0tCdW5kbGVQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNv
bnRleHRNZW51LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dE1lbnU6Oml0ZW1zKToK
KyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRl
eHRNZW51Lmg6CisgICAgICAgIChXZWJDb250ZXh0TWVudSk6CisKIDIwMTItMTEtMjIgIFBpZXJy
ZSBSb3NzaSAgPHBpZXJyZS5yb3NzaUBnbWFpbC5jb20+CiAKICAgICAgICAgW1F0XSBBdm9pZCBp
bml0aWFsaXppbmcgUGxhdGZvcm1TdHJhdGVnaWVzIHR3aWNlLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3Bw
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRs
ZVBhZ2UuY3BwCmluZGV4IDUzZGRmNjEuLjAwNTgxMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxl
UGFnZS5jcHAKQEAgLTMwLDEzICszMCwxOSBAQAogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlQmFj
a0ZvcndhcmRMaXN0LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlLmgiCiAj
aW5jbHVkZSAiV0tBUElDYXN0LmgiCisjaW5jbHVkZSAiV0tBcnJheS5oIgogI2luY2x1ZGUgIldL
QnVuZGxlQVBJQ2FzdC5oIgorI2luY2x1ZGUgIldLUmV0YWluUHRyLmgiCisjaW5jbHVkZSAiV0tT
dHJpbmcuaCIKKyNpbmNsdWRlICJXZWJDb250ZXh0TWVudS5oIgorI2luY2x1ZGUgIldlYkNvbnRl
eHRNZW51SXRlbS5oIgogI2luY2x1ZGUgIldlYkZyYW1lLmgiCiAjaW5jbHVkZSAiV2ViRnVsbFNj
cmVlbk1hbmFnZXIuaCIKICNpbmNsdWRlICJXZWJJbWFnZS5oIgogI2luY2x1ZGUgIldlYlBhZ2Uu
aCIKICNpbmNsdWRlICJXZWJSZW5kZXJMYXllci5oIgogI2luY2x1ZGUgIldlYlJlbmRlck9iamVj
dC5oIgorI2luY2x1ZGUgIldlYlN0cmluZy5oIgogI2luY2x1ZGUgIldlYlVSTC5oIgogI2luY2x1
ZGUgIldlYlVSTFJlcXVlc3QuaCIKIApAQCAtMTQ1LDYgKzE1MSwyMiBAQCBXS0J1bmRsZUZyYW1l
UmVmIFdLQnVuZGxlUGFnZUdldE1haW5GcmFtZShXS0J1bmRsZVBhZ2VSZWYgcGFnZVJlZikKICAg
ICByZXR1cm4gdG9BUEkodG9JbXBsKHBhZ2VSZWYpLT5tYWluV2ViRnJhbWUoKSk7CiB9CiAKK1dL
QXJyYXlSZWYgV0tCdW5kbGVQYWdlQ29weUNvbnRleHRNZW51SXRlbVRpdGxlcyhXS0J1bmRsZVBh
Z2VSZWYgcGFnZVJlZikKK3sKKyNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKKyAgICBXZWJDb250
ZXh0TWVudSogY29udGV4dE1lbnUgPSB0b0ltcGwocGFnZVJlZiktPmNvbnRleHRNZW51KCk7Cisg
ICAgY29uc3QgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+ICZpdGVtcyA9IGNvbnRleHRN
ZW51LT5pdGVtcygpOworICAgIHNpemVfdCBhcnJheUxlbmd0aCA9IGl0ZW1zLnNpemUoKTsKKyAg
ICBPd25BcnJheVB0cjxXS1R5cGVSZWY+IGl0ZW1OYW1lcyA9IGFkb3B0QXJyYXlQdHIobmV3IFdL
VHlwZVJlZlthcnJheUxlbmd0aF0pOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgYXJyYXlM
ZW5ndGg7ICsraSkKKyAgICAgICAgaXRlbU5hbWVzW2ldID0gV0tTdHJpbmdDcmVhdGVXaXRoVVRG
OENTdHJpbmcoaXRlbXNbaV0udGl0bGUoKS51dGY4KCkuZGF0YSgpKTsKKworICAgIHJldHVybiBX
S0FycmF5Q3JlYXRlQWRvcHRpbmdWYWx1ZXMoaXRlbU5hbWVzLmdldCgpLCBhcnJheUxlbmd0aCk7
CisjZWxzZQorICAgIHJldHVybiAwOworI2VuZGlmCit9CisKIHZvaWQqIFdLQWNjZXNzaWJpbGl0
eVJvb3RPYmplY3QoV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYpCiB7CiAjaWYgSEFWRShBQ0NFU1NJ
QklMSVRZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVByaXZhdGUuaAppbmRleCAxMWIy
MGRjLi5kNzY5ZmI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVByaXZhdGUuaApA
QCAtNzcsNiArNzcsOCBAQCBXS19FWFBPUlQgYm9vbCBXS0J1bmRsZVBhZ2VDYW5TaG93TUlNRVR5
cGUoV0tCdW5kbGVQYWdlUmVmLCBXS1N0cmluZ1JlZiBtaW1lVHlwZQogV0tfRVhQT1JUIHZvaWQq
IFdLQWNjZXNzaWJpbGl0eVJvb3RPYmplY3QoV0tCdW5kbGVQYWdlUmVmKTsKIFdLX0VYUE9SVCB2
b2lkKiBXS0FjY2Vzc2liaWxpdHlGb2N1c2VkT2JqZWN0KFdLQnVuZGxlUGFnZVJlZik7CiAKK1dL
X0VYUE9SVCBXS0FycmF5UmVmIFdLQnVuZGxlUGFnZUNvcHlDb250ZXh0TWVudUl0ZW1UaXRsZXMo
V0tCdW5kbGVQYWdlUmVmKTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuY3Bw
CmluZGV4IDMyNzNiZGMuLmQyMWFmMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmNwcApAQCAtNjYsNiArNjYsMzIgQEAgdm9p
ZCBXZWJDb250ZXh0TWVudTo6c2hvdygpCiAgICAgaWYgKCF2aWV3KQogICAgICAgICByZXR1cm47
CiAKKyAgICBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4gbWVudUl0ZW1zOworICAgIFJl
ZlB0cjxBUElPYmplY3Q+IHVzZXJEYXRhOworICAgIG1lbnVJdGVtc1dpdGhVc2VyRGF0YShtZW51
SXRlbXMsIHVzZXJEYXRhKTsKKyAgICBXZWJIaXRUZXN0UmVzdWx0OjpEYXRhIHdlYkhpdFRlc3RS
ZXN1bHREYXRhKGNvbnRyb2xsZXItPmhpdFRlc3RSZXN1bHQoKSk7CisKKyAgICAvLyBNYXJrIHRo
ZSBXZWJQYWdlIGhhcyBoYXZpbmcgYSBzaG93biBjb250ZXh0IG1lbnUgdGhlbiBub3RpZnkgdGhl
IFVJUHJvY2Vzcy4KKyAgICBtX3BhZ2UtPmNvbnRleHRNZW51U2hvd2luZygpOworICAgIG1fcGFn
ZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTaG93Q29udGV4dE1lbnUodmlldy0+Y29u
dGVudHNUb1dpbmRvdyhjb250cm9sbGVyLT5oaXRUZXN0UmVzdWx0KCkucm91bmRlZFBvaW50SW5J
bm5lck5vZGVGcmFtZSgpKSwgd2ViSGl0VGVzdFJlc3VsdERhdGEsIG1lbnVJdGVtcywgSW5qZWN0
ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIodXNlckRhdGEuZ2V0KCkpKSk7Cit9CisKK3ZvaWQg
V2ViQ29udGV4dE1lbnU6Oml0ZW1TZWxlY3RlZChjb25zdCBXZWJDb250ZXh0TWVudUl0ZW1EYXRh
JiBpdGVtKQoreworICAgIENvbnRleHRNZW51SXRlbSBjb3JlSXRlbShBY3Rpb25UeXBlLCBzdGF0
aWNfY2FzdDxDb250ZXh0TWVudUFjdGlvbj4oaXRlbS5hY3Rpb24oKSksIGl0ZW0udGl0bGUoKSk7
CisgICAgbV9wYWdlLT5jb3JlUGFnZSgpLT5jb250ZXh0TWVudUNvbnRyb2xsZXIoKS0+Y29udGV4
dE1lbnVJdGVtU2VsZWN0ZWQoJmNvcmVJdGVtKTsKK30KKwordm9pZCBXZWJDb250ZXh0TWVudTo6
bWVudUl0ZW1zV2l0aFVzZXJEYXRhKFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiAmbWVu
dUl0ZW1zLCBSZWZQdHI8QVBJT2JqZWN0PiYgdXNlckRhdGEpIGNvbnN0Cit7CisgICAgQ29udGV4
dE1lbnVDb250cm9sbGVyKiBjb250cm9sbGVyID0gbV9wYWdlLT5jb3JlUGFnZSgpLT5jb250ZXh0
TWVudUNvbnRyb2xsZXIoKTsKKyAgICBpZiAoIWNvbnRyb2xsZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIENvbnRleHRNZW51KiBtZW51ID0gY29udHJvbGxlci0+Y29udGV4dE1lbnUoKTsKKyAg
ICBpZiAoIW1lbnUpCisgICAgICAgIHJldHVybjsKKwogICAgIC8vIEdpdmUgdGhlIGJ1bmRsZSBj
bGllbnQgYSBjaGFuY2UgdG8gcHJvY2VzcyB0aGUgbWVudS4KICNpZiBVU0UoQ1JPU1NfUExBVEZP
Uk1fQ09OVEVYVF9NRU5VUykKICAgICBjb25zdCBWZWN0b3I8Q29udGV4dE1lbnVJdGVtPiYgY29y
ZUl0ZW1zID0gbWVudS0+aXRlbXMoKTsKQEAgLTc0LDIyICsxMDAsMTggQEAgdm9pZCBXZWJDb250
ZXh0TWVudTo6c2hvdygpCiAjZW5kaWYKICAgICBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0
YT4gcHJvcG9zZWRNZW51ID0ga2l0SXRlbXMoY29yZUl0ZW1zLCBtZW51KTsKICAgICBWZWN0b3I8
V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4gbmV3TWVudTsKLSAgICBSZWZQdHI8QVBJT2JqZWN0PiB1
c2VyRGF0YTsKICAgICBSZWZQdHI8SW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0PiBoaXRUZXN0
UmVzdWx0ID0gSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0OjpjcmVhdGUoY29udHJvbGxlci0+
aGl0VGVzdFJlc3VsdCgpKTsKICAgICBpZiAobV9wYWdlLT5pbmplY3RlZEJ1bmRsZUNvbnRleHRN
ZW51Q2xpZW50KCkuZ2V0Q3VzdG9tTWVudUZyb21EZWZhdWx0SXRlbXMobV9wYWdlLCBoaXRUZXN0
UmVzdWx0LmdldCgpLCBwcm9wb3NlZE1lbnUsIG5ld01lbnUsIHVzZXJEYXRhKSkKICAgICAgICAg
cHJvcG9zZWRNZW51ID0gbmV3TWVudTsKLQotICAgIFdlYkhpdFRlc3RSZXN1bHQ6OkRhdGEgd2Vi
SGl0VGVzdFJlc3VsdERhdGEoY29udHJvbGxlci0+aGl0VGVzdFJlc3VsdCgpKTsKLQotICAgIC8v
IE1hcmsgdGhlIFdlYlBhZ2UgaGFzIGhhdmluZyBhIHNob3duIGNvbnRleHQgbWVudSB0aGVuIG5v
dGlmeSB0aGUgVUlQcm9jZXNzLgotICAgIG1fcGFnZS0+Y29udGV4dE1lbnVTaG93aW5nKCk7Ci0g
ICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNob3dDb250ZXh0TWVudSh2
aWV3LT5jb250ZW50c1RvV2luZG93KGNvbnRyb2xsZXItPmhpdFRlc3RSZXN1bHQoKS5yb3VuZGVk
UG9pbnRJbklubmVyTm9kZUZyYW1lKCkpLCB3ZWJIaXRUZXN0UmVzdWx0RGF0YSwgcHJvcG9zZWRN
ZW51LCBJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2Rlcih1c2VyRGF0YS5nZXQoKSkpKTsK
KyAgICBtZW51SXRlbXMgPSBwcm9wb3NlZE1lbnU7CiB9CiAKLXZvaWQgV2ViQ29udGV4dE1lbnU6
Oml0ZW1TZWxlY3RlZChjb25zdCBXZWJDb250ZXh0TWVudUl0ZW1EYXRhJiBpdGVtKQorVmVjdG9y
PFdlYkNvbnRleHRNZW51SXRlbURhdGE+IFdlYkNvbnRleHRNZW51OjppdGVtcygpIGNvbnN0CiB7
Ci0gICAgQ29udGV4dE1lbnVJdGVtIGNvcmVJdGVtKEFjdGlvblR5cGUsIHN0YXRpY19jYXN0PENv
bnRleHRNZW51QWN0aW9uPihpdGVtLmFjdGlvbigpKSwgaXRlbS50aXRsZSgpKTsKLSAgICBtX3Bh
Z2UtPmNvcmVQYWdlKCktPmNvbnRleHRNZW51Q29udHJvbGxlcigpLT5jb250ZXh0TWVudUl0ZW1T
ZWxlY3RlZCgmY29yZUl0ZW0pOworICAgIFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiBt
ZW51SXRlbXM7CisgICAgUmVmUHRyPEFQSU9iamVjdD4gdXNlckRhdGE7CisgICAgbWVudUl0ZW1z
V2l0aFVzZXJEYXRhKG1lbnVJdGVtcywgdXNlckRhdGEpOworICAgIHJldHVybiBtZW51SXRlbXM7
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuaAppbmRleCBjOGE1ZjVhLi5iNGZhNjZlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1l
bnUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1l
bnUuaApAQCAtNDMsMTAgKzQzLDEyIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2hvdygpOwogICAg
IHZvaWQgaXRlbVNlbGVjdGVkKGNvbnN0IFdlYkNvbnRleHRNZW51SXRlbURhdGEmKTsKKyAgICBW
ZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4gaXRlbXMoKSBjb25zdDsKIAogcHJpdmF0ZToK
ICAgICBXZWJDb250ZXh0TWVudShXZWJQYWdlKik7Ci0gICAgCisgICAgdm9pZCBtZW51SXRlbXNX
aXRoVXNlckRhdGEoVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+JiwgUmVmUHRyPEFQSU9i
amVjdD4mKSBjb25zdDsKKwogICAgIFdlYlBhZ2UqIG1fcGFnZTsKIH07CiAKZGlmZiAtLWdpdCBh
L1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA2NGE1YjFjLi5iOTFkYjY3
IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjIgQEAKKzIwMTItMTEtMjMgIFdvamNpZWNoIEJpZWxhd3NraSAgPHcuYmllbGF3c2tp
QHNhbXN1bmcuY29tPgorCisgICAgICAgIFtXSzJdW1dLVFJdIFdlYktpdFRlc3RSdW5uZXIgbmVl
ZHMgZXZlbnRTZW5kZXIuY29udGV4dENsaWNrKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTg2ODgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0
aCBSb2hkZSBDaHJpc3RpYW5zZW4uCisKKyAgICAgICAgZXZlbnRTZW5kZXIgb2JqZWN0IGV4dGVu
ZGVkIHdpdGggY29udGV4dENsaWNrKCkgbWV0aG9kIGluIFdlYktpdFRlc3RSdW5uZXIuCisgICAg
ICAgIGNvbnRleHRDbGljaygpIG1ldGhvZCByZXR1cm5zIGFuIGFycmF5IG9mIG1lbnUgaXRlbXMg
b2JqZWN0cyB3aXRoIGZpZWxkICd0aXRsZScgY29udGFpbmluZyB0aXRsZSBvZiBzaW5nbGUKKyAg
ICAgICAgY29udGV4dCBtZW51IGVudHJ5LiBBY2NvcmRpbmcgdG8gc29tZSB0ZXN0cyBtZW51IGl0
ZW1zIG9iamVjdHMgc2hhbGwgYWxzbyBzdXBwb3J0ICdjbGljaygpJyBtZXRob2QsIGJ1dCBpdCdz
IG5vdAorICAgICAgICBkZWxpdmVyZWQgaW4gdGhpcyBwYXRjaC4KKworICAgICAgICAqIFdlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvRXZlbnRTZW5kaW5nQ29udHJvbGxl
ci5pZGw6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNl
bmRpbmdDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6RXZlbnRTZW5kaW5nQ29udHJvbGxl
cjo6Y29udGV4dENsaWNrKToKKyAgICAgICAgKFdUUik6CisgICAgICAgICogV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmg6CisgICAgICAgIChF
dmVudFNlbmRpbmdDb250cm9sbGVyKToKKwogMjAxMi0xMS0yMyAgU2ltb24gSGF1c21hbm4gIDxz
aW1vbi5oYXVzbWFubkBkaWdpYS5jb20+CiAKICAgICAgICAgW1F0XSBDb21waWxpbmcgYWdhaW5z
dCBRdFdlYmtpdCBBUEkgcmVxdWlyZXMgUVRfRExMIHRvIGJlIGRlZmluZWQKZGlmZiAtLWdpdCBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvRXZlbnRTZW5k
aW5nQ29udHJvbGxlci5pZGwgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L0JpbmRpbmdzL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaWRsCmluZGV4IDUyYTdhNWIuLjFkNjJj
OWIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmlu
ZGluZ3MvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5pZGwKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9FdmVudFNlbmRpbmdDb250cm9sbGVyLmlkbApA
QCAtMjksNiArMjksNyBAQCBpbnRlcmZhY2UgRXZlbnRTZW5kaW5nQ29udHJvbGxlciB7CiAgICAg
dm9pZCBtb3VzZU1vdmVUbyhpbiBsb25nIHgsIGluIGxvbmcgeSk7CiAgICAgdm9pZCBtb3VzZVNj
cm9sbEJ5KGluIGxvbmcgeCwgaW4gbG9uZyB5KTsKICAgICB2b2lkIGNvbnRpbnVvdXNNb3VzZVNj
cm9sbEJ5KGluIGxvbmcgeCwgaW4gbG9uZyB5LCBpbiBbT3B0aW9uYWxdIGJvb2xlYW4gcGFnZWQp
OworICAgIG9iamVjdCBjb250ZXh0Q2xpY2soKTsKICAgICB2b2lkIHNjaGVkdWxlQXN5bmNocm9u
b3VzQ2xpY2soKTsKIAogICAgIHZvaWQgbGVhcEZvcndhcmQoaW4gbG9uZyBtaWxsaXNlY29uZHMp
OwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVu
dFNlbmRpbmdDb250cm9sbGVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5jcHAKaW5kZXggYmY2ZDliYy4uNGVlNzgyMSAx
MDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNl
bmRpbmdDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuY3BwCkBAIC0zMTksNiArMzE5LDM3IEBAIHZv
aWQgRXZlbnRTZW5kaW5nQ29udHJvbGxlcjo6Y29udGludW91c01vdXNlU2Nyb2xsQnkoaW50IHgs
IGludCB5LCBib29sIHBhZ2VkKQogICAgIFdLQnVuZGxlUG9zdFN5bmNocm9ub3VzTWVzc2FnZShJ
bmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkuYnVuZGxlKCksIEV2ZW50U2VuZGVyTWVzc2FnZU5hbWUu
Z2V0KCksIEV2ZW50U2VuZGVyTWVzc2FnZUJvZHkuZ2V0KCksIDApOwogfQogCitKU1ZhbHVlUmVm
IEV2ZW50U2VuZGluZ0NvbnRyb2xsZXI6OmNvbnRleHRDbGljaygpCit7CisgICAgV0tCdW5kbGVQ
YWdlUmVmIHBhZ2UgPSBJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkucGFnZSgpLT5wYWdlKCk7Cisg
ICAgV0tCdW5kbGVGcmFtZVJlZiBtYWluRnJhbWUgPSBXS0J1bmRsZVBhZ2VHZXRNYWluRnJhbWUo
cGFnZSk7CisgICAgSlNDb250ZXh0UmVmIGNvbnRleHQgPSBXS0J1bmRsZUZyYW1lR2V0SmF2YVNj
cmlwdENvbnRleHQobWFpbkZyYW1lKTsKKyNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKKyAgICAv
LyBEbyBtb3VzZSBjb250ZXh0IGNsaWNrLgorICAgIG1vdXNlRG93bigyLCAwKTsKKyAgICBtb3Vz
ZVVwKDIsIDApOworCisgICAgV0tSZXRhaW5QdHI8V0tBcnJheVJlZj4gZW50cmllc05hbWVzID0g
YWRvcHRXSyhXS0J1bmRsZVBhZ2VDb3B5Q29udGV4dE1lbnVJdGVtVGl0bGVzKHBhZ2UpKTsKKyAg
ICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4ganNQcm9wZXJ0eU5hbWUoQWRvcHQsIEpTU3RyaW5n
Q3JlYXRlV2l0aFVURjhDU3RyaW5nKCJ0aXRsZSIpKTsKKyAgICBzaXplX3QgZW50cmllc1NpemUg
PSBXS0FycmF5R2V0U2l6ZShlbnRyaWVzTmFtZXMuZ2V0KCkpOworICAgIE93bkFycmF5UHRyPEpT
VmFsdWVSZWY+IGpzVmFsdWVzQXJyYXkgPSBhZG9wdEFycmF5UHRyKG5ldyBKU1ZhbHVlUmVmW2Vu
dHJpZXNTaXplXSk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBlbnRyaWVzU2l6ZTsgKytp
KSB7CisgICAgICAgIEFTU0VSVChXS0dldFR5cGVJRChXS0FycmF5R2V0SXRlbUF0SW5kZXgoZW50
cmllc05hbWVzLmdldCgpLCBpKSkgPT0gV0tTdHJpbmdHZXRUeXBlSUQoKSk7CisKKyAgICAgICAg
V0tTdHJpbmdSZWYgd2tFbnRyeU5hbWUgPSBzdGF0aWNfY2FzdDxXS1N0cmluZ1JlZj4oV0tBcnJh
eUdldEl0ZW1BdEluZGV4KGVudHJpZXNOYW1lcy5nZXQoKSwgaSkpOworICAgICAgICBKU09iamVj
dFJlZiBqc0l0ZW1PYmplY3QgPSBKU09iamVjdE1ha2UoY29udGV4dCwgLyogSlNDbGFzc1JlZiAq
LzAsIC8qIHByaXZEYXRhICovMCk7CisgICAgICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBq
c05hbWVDb3B5KEFkb3B0LCBXS1N0cmluZ0NvcHlKU1N0cmluZyh3a0VudHJ5TmFtZSkpOworICAg
ICAgICBKU1ZhbHVlUmVmIGpzRW50cnlOYW1lID0gSlNWYWx1ZU1ha2VTdHJpbmcoY29udGV4dCwg
anNOYW1lQ29weS5nZXQoKSk7CisgICAgICAgIEpTT2JqZWN0U2V0UHJvcGVydHkoY29udGV4dCwg
anNJdGVtT2JqZWN0LCBqc1Byb3BlcnR5TmFtZS5nZXQoKSwganNFbnRyeU5hbWUsIGtKU1Byb3Bl
cnR5QXR0cmlidXRlUmVhZE9ubHksIDApOworICAgICAgICBqc1ZhbHVlc0FycmF5W2ldID0ganNJ
dGVtT2JqZWN0OworICAgIH0KKworICAgIHJldHVybiBKU09iamVjdE1ha2VBcnJheShjb250ZXh0
LCBlbnRyaWVzU2l6ZSwganNWYWx1ZXNBcnJheS5nZXQoKSwgMCk7CisjZWxzZQorICAgIHJldHVy
biBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKKyNlbmRpZgorfQorCiAjaWZkZWYgVVNF
X1dFQlBST0NFU1NfRVZFTlRfU0lNVUxBVElPTgogdm9pZCBFdmVudFNlbmRpbmdDb250cm9sbGVy
Ojp1cGRhdGVDbGlja0NvdW50KFdLRXZlbnRNb3VzZUJ1dHRvbiBidXR0b24pCiB7CmRpZmYgLS1n
aXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0Nv
bnRyb2xsZXIuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRT
ZW5kaW5nQ29udHJvbGxlci5oCmluZGV4IDQxM2I5MWMuLjY5YzU0ZjkgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxl
ci5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5k
aW5nQ29udHJvbGxlci5oCkBAIC01Miw2ICs1Miw3IEBAIHB1YmxpYzoKICAgICB2b2lkIG1vdXNl
TW92ZVRvKGludCB4LCBpbnQgeSk7CiAgICAgdm9pZCBtb3VzZVNjcm9sbEJ5KGludCB4LCBpbnQg
eSk7CiAgICAgdm9pZCBjb250aW51b3VzTW91c2VTY3JvbGxCeShpbnQgeCwgaW50IHksIGJvb2wg
cGFnZWQpOworICAgIEpTVmFsdWVSZWYgY29udGV4dENsaWNrKCk7CiAgICAgdm9pZCBsZWFwRm9y
d2FyZChpbnQgbWlsbGlzZWNvbmRzKTsKICAgICB2b2lkIHNjaGVkdWxlQXN5bmNocm9ub3VzQ2xp
Y2soKTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>