<?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>33096</bug_id>
          
          <creation_ts>2010-01-01 10:51:22 -0800</creation_ts>
          <short_desc>[Qt] DRT: Support evaluateInWebInspector(), setTimerProfilingEnabled() and display().</short_desc>
          <delta_ts>2010-02-15 02:56:36 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Robert Hogan">robert</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abecsi</cc>
    
    <cc>commit-queue</cc>
    
    <cc>diegohcg</cc>
    
    <cc>eric</cc>
    
    <cc>hausmann</cc>
    
    <cc>jturcotte</cc>
    
    <cc>kent.hansen</cc>
    
    <cc>ossy</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>176275</commentid>
    <comment_count>0</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-01-01 10:51:22 -0800</bug_when>
    <thetext>Support LayoutTestController.evaluateInWebInspector(), setTimerProfiliingEnabled()
and display() in Qt DRT.

This allows the following tests to pass:

inspector/evaluate-in-frontend.html
inspector/elements-panel-structure.html
inspector/styles-iframe.html
inspector/syntax-highlight-css.html
inspector/syntax-highlight-javascript.html
inspector/timeline-enum-stability.html
inspector/timeline-layout.html
inspector/timeline-mark-timeline.html
inspector/timeline-paint.html
inspector/timeline-parse-html.html
inspector/timeline-recalculate-styles.html
inspector/timeline-script-tag-1.html
inspector/timeline-script-tag-2.html
inspector/timeline-trivial.html
inspector/cookie-resource-match.html
inspector/elements-img-tooltip.html
inspector/elements-panel-selection-on-refresh.html
inspector/timeline-event-dispatch.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>176276</commentid>
    <comment_count>1</comment_count>
      <attachid>45733</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-01-01 11:07:47 -0800</bug_when>
    <thetext>Created attachment 45733
Patch

The following inspector tests are unresolved by this patch:

 inspector/console-dir.html
 inspector/console-dirxml.html
 inspector/console-format.html
 inspector/console-tests.html
 inspector/console-clear.html
 inspector/console-format-collections.html

They continue to fail because the console message prints an absolute file:// url for the inspected page, rather than a relative one. gdb crashes when loading the DRT for me unless it&apos;s a --minimal build so was not able to look into this one for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>176284</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-01 14:56:55 -0800</bug_when>
    <thetext>Attachment 45733 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp:41:  qt_drt_setTimelineProfilingEnabled is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp:49:  qt_drt_webinspector_execute_script is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp:402:  Could not find a newline character at the end of the file.  [whitespace/ending_newline] [5]
Total errors found: 3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>176357</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-02 12:22:02 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Attachment 45733 [details] did not pass style-queue:
&gt; 
&gt; Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
&gt; WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp:41: 
&gt; qt_drt_setTimelineProfilingEnabled is incorrectly named. Don&apos;t use underscores
&gt; in your identifier names.  [readability/naming] [4]
&gt; WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp:49: 
&gt; qt_drt_webinspector_execute_script is incorrectly named. Don&apos;t use underscores
&gt; in your identifier names.  [readability/naming] [4]
&gt; WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp:402:  Could not find a
&gt; newline character at the end of the file.  [whitespace/ending_newline] [5]
&gt; Total errors found: 3

If these are false positives we should definitely file a bug about them so we can get them fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>176358</commentid>
    <comment_count>4</comment_count>
      <attachid>45733</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-02 12:26:00 -0800</bug_when>
    <thetext>Comment on attachment 45733
Patch

How does this interact with the central LayoutTestController code?
http://trac.webkit.org/browser/trunk/WebKitTools/DumpRenderTree/LayoutTestController.cpp#L865

Does Qt not use that code?

Also, it seems that the x-platform LayoutTestController turns off profiling after every test, which it seems you might need to do too.  I think this patch is wrong, or at least incomplete judging by my quick scan of LayoutTestController.cpp.  Feel free to re-mark this r? if I&apos;m misunderstanding.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>176395</commentid>
    <comment_count>5</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-01-02 16:12:51 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 45733 [details])
&gt; How does this interact with the central LayoutTestController code?
&gt; http://trac.webkit.org/browser/trunk/WebKitTools/DumpRenderTree/LayoutTestController.cpp#L865
&gt; 
&gt; Does Qt not use that code?
&gt; 

No, it&apos;s completely independent of it. The call stack leading up to a function in Qt&apos;s LayoutTestController is typically:

#0 LayoutTestController::waitForPolicyDelegate (this=0x81a4ef8) at /home/robert/Development/webkit/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp:364
#1 0x0806c20e in LayoutTestController::qt_metacall (this=0x81a4ef8, _c=QMetaObject::InvokeMetaMethod, _id=53, _a=0xbfffe3ac) at moc_LayoutTestControllerQt.cpp:239
#2 0x01d24637 in JSC::Bindings::QtRuntimeMetaMethod::call (exec=0xb7aa70f0, functionObject=0xb7a42dc0, args=...) at ../../../../WebCore/bridge/qt/qt_runtime.cpp:1359
#3 0x0158f2e9 in cti_op_call_NotJSFunction () from /home/robert/Development/webkit/WebKitBuild/selectedrange/Debug/lib/libQtWebKit.so.4
#4 0x0158b721 in JSC::JITThunks::tryCacheGetByID(JSC::ExecState*, JSC::CodeBlock*, JSC::ReturnAddressPtr, JSC::JSValue, JSC::Identifier const&amp;, JSC::PropertySlot const&amp;, JSC::StructureStubInfo*) () from /home/robert/Development/webkit/WebKitBuild/selectedrange/Debug/lib/libQtWebKit.so.4
#5 0x01548157 in JSC::JITCode::execute (this=0x8205498, registerFile=0x81afddc, callFrame=0xb7aa7050, globalData=0x81ae208, exception=0x81aecc4) at ../../../../JavaScriptCore/jit/JITCode.h:79
#6 0x0155014c in JSC::Interpreter::execute (this=0x81afdd0, functionExecutable=0x8205488, callFrame=0x81f1c5c, function=0xb7a42c00, thisObj=0xb7a40000, args=..., scopeChain=0x81e7098, exception=0x81aecc4) at ../../../../JavaScriptCore/interpreter/Interpreter.cpp:685
#7 0x015e6cb9 in JSC::JSFunction::call (this=0xb7a42c00, exec=0x81f1c5c, thisValue=..., args=...) at ../../../../JavaScriptCore/runtime/JSFunction.cpp:120
#8 0x015b96a5 in JSC::call (exec=0x81f1c5c, functionObject=..., callType=JSC::CallTypeJS, callData=..., thisValue=..., args=...) at ../../../../JavaScriptCore/runtime/CallData.cpp:39
#9 0x016ec8a6 in WebCore::JSEventListener::handleEvent (this=0x81b0e30, scriptExecutionContext=0x81aa190, event=0x81ec3f0) at ../../../../WebCore/bindings/js/JSEventListener.cpp:113
#10 0x0186a1af in WebCore::EventTarget::fireEventListeners (this=0x81a4a48, event=0x81ec3f0) at ../../../../WebCore/dom/EventTarget.cpp:297
#11 0x01ae7691 in WebCore::DOMWindow::dispatchEvent (this=0x81a4a48, prpEvent=..., prpTarget=...) at ../../../../WebCore/page/DOMWindow.cpp:1337


&gt; Also, it seems that the x-platform LayoutTestController turns off profiling
&gt; after every test, which it seems you might need to do too.  I think this patch
&gt; is wrong, or at least incomplete judging by my quick scan of
&gt; LayoutTestController.cpp.  Feel free to re-mark this r? if I&apos;m
&gt; misunderstanding.

The Qt QWebInspector is created at the start of each new test and deleted once it&apos;s finished - it&apos;s managed in the DRT&apos;s subclass of qwebpage&apos;s constructor and destructor, so I think closewebinspector() is redundant as is settimelineprofilingenabled(false).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>176396</commentid>
    <comment_count>6</comment_count>
      <attachid>45753</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-01-02 16:15:46 -0800</bug_when>
    <thetext>Created attachment 45753
Updated Patch per style bot</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>176398</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-02 16:20:09 -0800</bug_when>
    <thetext>Attachment 45753 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp:41:  qt_drt_setTimelineProfilingEnabled is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp:49:  qt_drt_webinspector_execute_script is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>176399</commentid>
    <comment_count>8</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-01-02 16:20:35 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; 
&gt; If these are false positives we should definitely file a bug about them so we
&gt; can get them fixed.

Have fixed the last one and raised https://bugs.webkit.org/show_bug.cgi?id=33116 for the other two.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>176421</commentid>
    <comment_count>9</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-01-03 09:25:49 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; The Qt QWebInspector is created at the start of each new test and deleted once
&gt; it&apos;s finished - 

Actually, this isn&apos;t true. The inspector is created by the page, but the page persists across layout tests, along with the inspector. I think something like closewebinspector() is actually required because I managed to crash an unrelated test when running a sequence of tests with this patch.

Removing r flag for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179555</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-11 14:48:07 -0800</bug_when>
    <thetext>Need one more skipped test due to this missing feature:
https://bugs.webkit.org/show_bug.cgi?id=33024#c8</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180140</commentid>
    <comment_count>11</comment_count>
    <who name="Kent Hansen">kent.hansen</who>
    <bug_when>2010-01-13 02:55:48 -0800</bug_when>
    <thetext>Why is the call to showWebInspector() needed in the evaluateInWebInspector() implementation? I don&apos;t see this call in the implementation for other platforms. Is it because QtWebKit initializes the inspector more lazily than the other platforms? As it stands it looks like a bit of a hack.

Specifically I&apos;m curious whether other platforms are also hitting the m_frontend == 0 case in InspectorController::evaluateForTestInFrontend() (which is what happens if one does not call showWebInspector() in the Qt port), or if there is actually a way to have it evaluate stuff without showing it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180354</commentid>
    <comment_count>12</comment_count>
      <attachid>46490</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-01-13 12:47:37 -0800</bug_when>
    <thetext>Created attachment 46490
Updated Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180358</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-13 12:50:31 -0800</bug_when>
    <thetext>Attachment 46490 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.cpp:80:  qt_drt_webinspector_close is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp:42:  qt_drt_setTimelineProfilingEnabled is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp:50:  qt_drt_webinspector_execute_script is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp:51:  qt_drt_webinspector_show is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180359</commentid>
    <comment_count>14</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-01-13 12:51:00 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; Why is the call to showWebInspector() needed in the evaluateInWebInspector()
&gt; implementation? I don&apos;t see this call in the implementation for other
&gt; platforms. Is it because QtWebKit initializes the inspector more lazily than
&gt; the other platforms? As it stands it looks like a bit of a hack.
&gt; 
&gt; Specifically I&apos;m curious whether other platforms are also hitting the
&gt; m_frontend == 0 case in InspectorController::evaluateForTestInFrontend() (which
&gt; is what happens if one does not call showWebInspector() in the Qt port), or if
&gt; there is actually a way to have it evaluate stuff without showing it.

Hi Kent - you&apos;ve hit the nail on the head here. As well as being a hack, the lazy init was causing a lot of flakiness when running the tests. Bypassing QWebInspector for initializing and closing the controller has allowed the tests to pass every time for me now.

There&apos;s also no need to actually display the inspector (as you suggested) though there is still a need to display the webview for the timeline-paint.html test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180411</commentid>
    <comment_count>15</comment_count>
      <attachid>46511</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-01-13 14:36:31 -0800</bug_when>
    <thetext>Created attachment 46511
Updated Patch

I think this is an improvement - only call closewebinspector() when necessary. Also clean up some whitespace.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180414</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-13 14:43:15 -0800</bug_when>
    <thetext>Attachment 46511 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.cpp:80:  qt_drt_webinspector_close is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp:42:  qt_drt_setTimelineProfilingEnabled is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp:50:  qt_drt_webinspector_execute_script is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp:51:  qt_drt_webinspector_show is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180675</commentid>
    <comment_count>17</comment_count>
    <who name="Kent Hansen">kent.hansen</who>
    <bug_when>2010-01-14 04:52:26 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; Created an attachment (id=46511) [details]
&gt; Updated Patch
&gt; 
&gt; I think this is an improvement - only call closewebinspector() when necessary.
&gt; Also clean up some whitespace.

Cool, looking better!
I&apos;m not a reviewer but here are some comments:
- The link to bugzilla should go right below the summary, that way I don&apos;t have to scan the rest of the changelog for it.
- Spelling error in changelog (setTimerProfiilingEnabled).
- In general I&apos;d like to see the inspector-related part of the patch split from the rest (display(), setTimelineProfilingEnabled()), if that makes sense. Unless they are tightly related.
- I don&apos;t think LayoutController::hideWebInspector() should be removed, it should rather be renamed to closeWebInspector() (looks like it was just given the wrong name in the original impl).
- qt_drt_webinspector_execute_script --&gt; qt_drt_webinspector_executeScript (following the naming convention of other qt_drt functions, e.g. qt_drt_overwritePluginDirectories).
- closeWebInspector() should set the DeveloperExtrasEnabled attribute to false after calling close(), as per the Mac and GTK implementations.
- Should closeWebInspector() really check m_webInspector? Since showWebInspector() bypasses the QWebInspector API, it doesn&apos;t look symmetric.
- Rather than doing the URL acrobatics in DumpRenderTree::open(), I recommend having a shouldOpenWebInspector() helper function (see Mac and GTK port), much more readable.

Looking forward to being able to run those inspector tests!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180810</commentid>
    <comment_count>18</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-01-14 11:17:27 -0800</bug_when>
    <thetext>(In reply to comment #17)
&gt; (In reply to comment #15)
&gt; &gt; Created an attachment (id=46511) [details] [details]
&gt; &gt; Updated Patch
&gt; &gt; 
&gt; &gt; I think this is an improvement - only call closewebinspector() when necessary.
&gt; &gt; Also clean up some whitespace.
&gt; 
&gt; Cool, looking better!
&gt; I&apos;m not a reviewer but here are some comments:
&gt; - The link to bugzilla should go right below the summary, that way I don&apos;t have
&gt; to scan the rest of the changelog for it.
&gt; - Spelling error in changelog (setTimerProfiilingEnabled).
&gt; - qt_drt_webinspector_execute_script --&gt; qt_drt_webinspector_executeScript
&gt; (following the naming convention of other qt_drt functions, e.g.
&gt; qt_drt_overwritePluginDirectories).
&gt; - Rather than doing the URL acrobatics in DumpRenderTree::open(), I recommend
&gt; having a shouldOpenWebInspector() helper function (see Mac and GTK port), much
&gt; more readable.
&gt; 
&gt; - I don&apos;t think LayoutController::hideWebInspector() should be removed, it
&gt; should rather be renamed to closeWebInspector() (looks like it was just given
&gt; the wrong name in the original impl).
&gt; - closeWebInspector() should set the DeveloperExtrasEnabled attribute to false
&gt; after calling close(), as per the Mac and GTK implementations.
&gt; - Should closeWebInspector() really check m_webInspector? Since
&gt; showWebInspector() bypasses the QWebInspector API, it doesn&apos;t look symmetric.

No problem!

&gt; - In general I&apos;d like to see the inspector-related part of the patch split from
&gt; the rest (display(), setTimelineProfilingEnabled()), if that makes sense.
&gt; Unless they are tightly related.

They are, in the sense that they&apos;re required for all twenty tests to pass - timelineprofiling for about six or seven, display() for just one.


&gt; Looking forward to being able to run those inspector tests!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180839</commentid>
    <comment_count>19</comment_count>
      <attachid>46592</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-01-14 12:07:41 -0800</bug_when>
    <thetext>Created attachment 46592
Updated Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180843</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-14 12:12:52 -0800</bug_when>
    <thetext>Attachment 46592 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp:42:  qt_drt_setTimelineProfilingEnabled is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp:50:  qt_drt_webinspector_executeScript is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp:51:  qt_drt_webinspector_show is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp:52:  qt_drt_webinspector_close is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180844</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-14 12:13:11 -0800</bug_when>
    <thetext>Attachment 46592 did not build on qt:
Build output: http://webkit-commit-queue.appspot.com/results/187578</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180858</commentid>
    <comment_count>22</comment_count>
      <attachid>46599</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-01-14 12:43:19 -0800</bug_when>
    <thetext>Created attachment 46599
Updated Patch per EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180859</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-14 12:45:23 -0800</bug_when>
    <thetext>Attachment 46599 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp:42:  qt_drt_setTimelineProfilingEnabled is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp:50:  qt_drt_webinspector_executeScript is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp:51:  qt_drt_webinspector_show is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp:52:  qt_drt_webinspector_close is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180860</commentid>
    <comment_count>24</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-01-14 12:46:23 -0800</bug_when>
    <thetext>(In reply to comment #21)
&gt; Attachment 46592 [details] did not build on qt:
&gt; Build output: http://webkit-commit-queue.appspot.com/results/187578

Robert, you missed the closing &apos;}&apos; of LayoutTestController::setUserStyleSheetEnabled(). Aside of this minor error, the build and layout test finished.

I got only one failing test which should be skipped and file a bug on it:
--- /tmp/layout-test-results/inspector/timeline-paint-expected.txt	2010-01-14 12:33:10.000000000 -0800
+++ /tmp/layout-test-results/inspector/timeline-paint-actual.txt	2010-01-14 12:33:10.000000000 -0800
@@ -1,14 +1,3 @@
 Tests the Timeline API instrumentation of a paint event
 
-Paint Properties:
-+ startTime : * DEFINED *
-+ data : {
-+- x : 0
-+- y : 0
-+- width : * DEFINED *
-+- height : * DEFINED *
-+ }
-+ children : * DEFINED *
-+ endTime : * DEFINED *
-+ type : 3

Unfortunately I got a nasty feature of this patch. Regularly a new window is appeared and then it is disappeared. Could you solve it? I think it is a minor request that we can fix later. (after land) As far as I remember András fixed a similar window appearing problem previously. András, could you help us?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180874</commentid>
    <comment_count>25</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-01-14 13:04:01 -0800</bug_when>
    <thetext>(In reply to comment #24)
&gt; (In reply to comment #21)
&gt; &gt; Attachment 46592 [details] [details] did not build on qt:
&gt; &gt; Build output: http://webkit-commit-queue.appspot.com/results/187578
&gt; 
&gt; Robert, you missed the closing &apos;}&apos; of
&gt; LayoutTestController::setUserStyleSheetEnabled(). Aside of this minor error,
&gt; the build and layout test finished.
&gt; 
&gt; I got only one failing test which should be skipped and file a bug on it:
&gt; --- /tmp/layout-test-results/inspector/timeline-paint-expected.txt   
&gt; 2010-01-14 12:33:10.000000000 -0800
&gt; +++ /tmp/layout-test-results/inspector/timeline-paint-actual.txt    2010-01-14
&gt; 12:33:10.000000000 -0800
&gt; @@ -1,14 +1,3 @@
&gt;  Tests the Timeline API instrumentation of a paint event
&gt; 
&gt; -Paint Properties:
&gt; -+ startTime : * DEFINED *
&gt; -+ data : {
&gt; -+- x : 0
&gt; -+- y : 0
&gt; -+- width : * DEFINED *
&gt; -+- height : * DEFINED *
&gt; -+ }
&gt; -+ children : * DEFINED *
&gt; -+ endTime : * DEFINED *
&gt; -+ type : 3
&gt; 

I had exactly that behaviour (intermittently) in previous patches. However with the version for review it has passed for me without fail. It is the same test that displays the webview as you describe below - the test relies on timelining a paint event so displaying the window is necessary. Why is displaying the window a problem?

&gt; Unfortunately I got a nasty feature of this patch. Regularly a new window is
&gt; appeared and then it is disappeared. Could you solve it? I think it is a minor
&gt; request that we can fix later. (after land) As far as I remember András fixed a
&gt; similar window appearing problem previously. András, could you help us?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180886</commentid>
    <comment_count>26</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-01-14 13:15:35 -0800</bug_when>
    <thetext>I have no idea what caused it, it needs more investigation.
WebKitTools/Scripts/run-webkit-tests inspector/timeline-paint.html --iterations 100

58 test cases (58%) succeeded
42 test cases (42%) had incorrect layout

---
inspector/timeline-paint.html -&gt; failed
.
inspector/timeline-paint.html -&gt; failed
..........................
inspector/timeline-paint.html -&gt; failed
.
inspector/timeline-paint.html -&gt; failed
.
inspector/timeline-paint.html -&gt; failed
---


Displaying window isn&apos;t a major problem, but it is unkindly if you would like to work during test is running in background.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180890</commentid>
    <comment_count>27</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-01-14 13:24:28 -0800</bug_when>
    <thetext>It is a more complicant than I thought previously.

I ran &quot;WebKitTools/Scripts/run-webkit-tests inspector --iterations 10&quot;.
181 test cases (90%) succeeded
18 test cases (9%) had incorrect layout
1 test case (&lt;1%) crashed

inspector/timeline-paint.html failed 9 times
inspector/elements-panel-selection-on-refresh.html failed 9 times
inspector/elements-panel-structure.html crashed once.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180892</commentid>
    <comment_count>28</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-14 13:27:26 -0800</bug_when>
    <thetext>We&apos;ve been seeing inspector and profiler crashes on other platforms.  If you&apos;re unskipping tests and they&apos;re starting to fail/crash they might be related to those other bugs.  Search &quot;inspector crash&quot; and &quot;profiler crash&quot; to see other bugs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180911</commentid>
    <comment_count>29</comment_count>
      <attachid>46599</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-01-14 14:06:22 -0800</bug_when>
    <thetext>Comment on attachment 46599
Updated Patch per EWS

If I can reproduce these crashes/failures when running --iterations on inspector with a gtk build I&apos;ll resubmit this with the timeline-paint.html test skipped.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181203</commentid>
    <comment_count>30</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2010-01-15 04:42:08 -0800</bug_when>
    <thetext>I did not look thoroughly into the related code yet, so I do not see how the display() function should work correctly (oher platforms call displayWebView() in display()), but the Macs do not show any windows during the testing process, so I think showing one is not a correct behaviour. DumpRenderTree is supposed to be a console application, except it needs some X stuff to work correctly, but it should by no means show a widget during testing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181511</commentid>
    <comment_count>31</comment_count>
      <attachid>46741</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-01-16 08:49:20 -0800</bug_when>
    <thetext>Created attachment 46741
Updated Patch

OK, this seems to be robust!

robert@mwenge:~/Development/webkit$ WebKitTools/Scripts/run-webkit-tests --qt inspector --iterations 10
Running build-dumprendertree
Running tests from /home/robert/Development/webkit/LayoutTests
Testing 19 test cases 10 times.
inspector ..............................................................................................................................................................................................
70.22s total testing time

all 190 test cases succeeded

timeline-paint.html still doesn&apos;t work consistently so I&apos;m skipping it for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181512</commentid>
    <comment_count>32</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-16 08:54:57 -0800</bug_when>
    <thetext>Attachment 46741 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKit/qt/WebCoreSupport/InspectorClientQt.cpp:123:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
WebKit/qt/WebCoreSupport/InspectorClientQt.cpp:124:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
WebKit/qt/WebCoreSupport/InspectorClientQt.cpp:125:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
WebKit/qt/WebCoreSupport/InspectorClientQt.cpp:126:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp:42:  qt_drt_setTimelineProfilingEnabled is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp:50:  qt_drt_webinspector_executeScript is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp:51:  qt_drt_webinspector_show is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp:52:  qt_drt_webinspector_close is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 8</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181514</commentid>
    <comment_count>33</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2010-01-16 10:07:32 -0800</bug_when>
    <thetext>(In reply to comment #31)
&gt; Created an attachment (id=46741) [details]
&gt; Updated Patch
Great work!
There are some occasional crashes on the test bot (1 out of 100 runs) but these may be related to other bugs Eric mentioned.
Please update the changelog text now that you did not implement display().
And also, please use 4-space indent (not 3) as the style-bot pointed out:

(In reply to comment #32)
&gt; Attachment 46741 [details] did not pass style-queue:
&gt; 
&gt; Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
&gt; WebKit/qt/WebCoreSupport/InspectorClientQt.cpp:123:  Weird number of spaces at
&gt; line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
&gt; WebKit/qt/WebCoreSupport/InspectorClientQt.cpp:124:  Weird number of spaces at
&gt; line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
&gt; WebKit/qt/WebCoreSupport/InspectorClientQt.cpp:125:  Weird number of spaces at
&gt; line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
&gt; WebKit/qt/WebCoreSupport/InspectorClientQt.cpp:126:  Weird number of spaces at
&gt; line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181521</commentid>
    <comment_count>34</comment_count>
      <attachid>46743</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-01-16 10:40:50 -0800</bug_when>
    <thetext>Created attachment 46743
Updated Patch

Thanks for spotting those Andras!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181522</commentid>
    <comment_count>35</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-16 10:41:43 -0800</bug_when>
    <thetext>Attachment 46743 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp:42:  qt_drt_setTimelineProfilingEnabled is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp:50:  qt_drt_webinspector_executeScript is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp:51:  qt_drt_webinspector_show is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp:52:  qt_drt_webinspector_close is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>183651</commentid>
    <comment_count>36</comment_count>
      <attachid>46743</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-01-22 07:59:06 -0800</bug_when>
    <thetext>Comment on attachment 46743
Updated Patch

In general this looks like a really good patch! Excellent work with improving our test coverage.



&gt; +void QWEBKIT_EXPORT qt_drt_webinspector_executeScript(QWebPage *page, long callId, const QString &amp;script)
&gt; +{
&gt; +    if (!page-&gt;handle()-&gt;page-&gt;inspectorController())
&gt; +        return;
&gt; +    page-&gt;handle()-&gt;page-&gt;inspectorController()-&gt;evaluateForTestInFrontend(callId, script);
&gt; +}
&gt; +
&gt; +void QWEBKIT_EXPORT qt_drt_webinspector_close(QWebPage *page)
&gt; +{
&gt; +    if (!page-&gt;handle()-&gt;page-&gt;inspectorController())
&gt; +        return;
&gt; +    page-&gt;handle()-&gt;page-&gt;inspectorController()-&gt;close();
&gt; +}
&gt; +
&gt; +void QWEBKIT_EXPORT qt_drt_webinspector_show(QWebPage *page)
&gt; +{
&gt; +    if (!page-&gt;handle()-&gt;page-&gt;inspectorController())
&gt; +        return;
&gt; +    page-&gt;handle()-&gt;page-&gt;inspectorController()-&gt;show();
&gt; +}

This approach is fine with me, but the &apos;*&apos; position is incorrect (coding style nitpick :)


&gt; diff --git a/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp b/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp
&gt; index 1caf96d..6e3bd5c 100644
&gt; --- a/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp
&gt; +++ b/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp
&gt; @@ -120,6 +120,9 @@ void InspectorClientQt::showWindow()
&gt;  void InspectorClientQt::closeWindow()
&gt;  {
&gt;  #if ENABLE(INSPECTOR)
&gt; +    // QWebInspector::frontEnd is a copy of inspectorView which will be left dangling
&gt; +    // by m_frontend.set(0) in InspectorController::close() if we do not clear it here.
&gt; +    m_inspectedWebPage-&gt;d-&gt;getOrCreateInspector()-&gt;d-&gt;setFrontend(0);
&gt;      m_inspectedWebPage-&gt;d-&gt;inspectorController()-&gt;setWindowVisible(false);
&gt;  #endif

Jocelyn, does that look okay to you? (you have a better idea of the inspector workings than I do :)

&gt;
&gt; +static bool isWebInspectorTest(const QUrl&amp; url)
&gt; +{
&gt; +    if (url.toString().contains(&quot;inspector/&quot;))

Is there an easier way to do this? Maybe just url.path().contains() instead of the expensive toString() conversion?

r- because of the style bit, and I&apos;d like to hear Jocelyn&apos;s opinion on the InspectorClientQt.cpp change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>184237</commentid>
    <comment_count>37</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2010-01-25 04:10:30 -0800</bug_when>
    <thetext>&gt; &gt; diff --git a/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp b/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp
&gt; &gt; index 1caf96d..6e3bd5c 100644
&gt; &gt; --- a/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp
&gt; &gt; +++ b/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp
&gt; &gt; @@ -120,6 +120,9 @@ void InspectorClientQt::showWindow()
&gt; &gt;  void InspectorClientQt::closeWindow()
&gt; &gt;  {
&gt; &gt;  #if ENABLE(INSPECTOR)
&gt; &gt; +    // QWebInspector::frontEnd is a copy of inspectorView which will be left dangling
&gt; &gt; +    // by m_frontend.set(0) in InspectorController::close() if we do not clear it here.
&gt; &gt; +    m_inspectedWebPage-&gt;d-&gt;getOrCreateInspector()-&gt;d-&gt;setFrontend(0);
&gt; &gt;      m_inspectedWebPage-&gt;d-&gt;inspectorController()-&gt;setWindowVisible(false);
&gt; &gt;  #endif
&gt; 
&gt; Jocelyn, does that look okay to you? (you have a better idea of the inspector
&gt; workings than I do :)
&gt; 

From my understanding, calling m_frontend.set(0) should have no effect on the life of InspectorClientQt::m_inspectorView (and QWebInspector&apos;s frontend).
InspectorController::m_frontend is a proxy object to call javascript functions and forward data in the inspector web page.

Were you able to make it crash without this line just by running the tests?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>184383</commentid>
    <comment_count>38</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-01-25 11:26:31 -0800</bug_when>
    <thetext>(In reply to comment #37)
&gt; From my understanding, calling m_frontend.set(0) should have no effect on the
&gt; life of InspectorClientQt::m_inspectorView (and QWebInspector&apos;s frontend).
&gt; InspectorController::m_frontend is a proxy object to call javascript functions
&gt; and forward data in the inspector web page.
&gt; 
&gt; Were you able to make it crash without this line just by running the tests?

Yes, exactly. The DRT closes the webinspector directly using inspectorController()-&gt;close() - which is what the other DRTs do too. The same QWebPage persists between tests so that&apos;s all that&apos;s required, it also means that the DRT doesn&apos;t have to worry about displaying the webinspector.

You&apos;re right that my comment is incorrect - m_frontend is a red herring.

The correct explanation is:

Because Qt keeps a copy of the inspectorView value in QWebInspector::frontend, it means that when you call inspectorController()-&gt;close() inspectorView is going to get deleted by:

    if (m_page) {
        if (!m_page-&gt;mainFrame() || !m_page-&gt;mainFrame()-&gt;loader() || !m_page-&gt;mainFrame()-&gt;loader()-&gt;isLoading()) {
            m_page-&gt;setParentInspectorController(0);
            m_page = 0;
        }
    }

leaving the reference stored in QWebInspectorPrivate::frontend dangling. This comes back to bite when the InspectorController goes to create the inspector page for the next test in the DRT run when we call InspectorController::show(): a new m_page gets created(m_page = m_client-&gt;createPage();) and when setFrontEnd() gets called there it hits:

if (frontend)
        frontend-&gt;setParent(0);

and since &apos;frontend&apos; (i.e. m_page) was actually deleted by the InspectorController it crashes when attempting to setParent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>184396</commentid>
    <comment_count>39</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-01-25 11:55:56 -0800</bug_when>
    <thetext>(In reply to comment #38)
&gt; 
&gt; and since &apos;frontend&apos; (i.e. m_page) was actually deleted by the
&gt; InspectorController it crashes when attempting to setParent.

Hah, another red herring I&apos;m afraid - the actual culprit is:

Page* InspectorClientQt::createPage()
{
&lt;..&gt;
    m_inspectorView.set(inspectorView);
&lt;..&gt;
    m_inspectedWebPage-&gt;d-&gt;getOrCreateInspector()-&gt;d-&gt;setFrontend(inspectorView);

 m_inspectorView.set(inspectorView) deletes the inspectorView for which setFrontEnd has a dangling pointer, and so crashes at:

void QWebInspectorPrivate::setFrontend(QWidget* newFrontend)
{
    if (frontend)
        frontend-&gt;setParent(0);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>184408</commentid>
    <comment_count>40</comment_count>
      <attachid>47366</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-01-25 13:00:58 -0800</bug_when>
    <thetext>Created attachment 47366
Updated Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>184535</commentid>
    <comment_count>41</comment_count>
      <attachid>47394</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2010-01-26 02:47:00 -0800</bug_when>
    <thetext>Created attachment 47394
Suggested fix for the inspector page recreation crash.

(In reply to comment #39)
&gt; Page* InspectorClientQt::createPage()
&gt; {
&gt; &lt;..&gt;
&gt;     m_inspectorView.set(inspectorView);
&gt; &lt;..&gt;
&gt;    
&gt; m_inspectedWebPage-&gt;d-&gt;getOrCreateInspector()-&gt;d-&gt;setFrontend(inspectorView);
&gt; 
&gt;  m_inspectorView.set(inspectorView) deletes the inspectorView for which
&gt; setFrontEnd has a dangling pointer, and so crashes at:

Ahhh, I see!

Then it might be even better not to recreate the page each time.
What do you think about fixing it this way instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>184670</commentid>
    <comment_count>42</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-01-26 12:21:17 -0800</bug_when>
    <thetext>(In reply to comment #41)
&gt; 
&gt; Ahhh, I see!
&gt; 
&gt; Then it might be even better not to recreate the page each time.
&gt; What do you think about fixing it this way instead?

That decision is made by WebCore in show() and close() so seems difficult to work around:

void InspectorController::show()
{
&lt;..&gt;
    if (!m_page) {
        if (m_frontend)
            return;  // We are using custom frontend - no need to create page.

        m_page = m_client-&gt;createPage();
        if (!m_page)
            return;
        m_page-&gt;setParentInspectorController(this);

        // showWindow() will be called after the page loads in scriptObjectReady()
        return;
    }

    showWindow();
}


and

void InspectorController::close()
{
&lt;..&gt;
    closeWindow();
&lt;..&gt;
    if (m_page) {
        if (!m_page-&gt;mainFrame() || !m_page-&gt;mainFrame()-&gt;loader() || !m_page-&gt;mainFrame()-&gt;loader()-&gt;isLoading()) {
            m_page-&gt;setParentInspectorController(0);
            m_page = 0;
        }
    }
}

I think the best thing to do might be:

Page* InspectorClientQt::createPage()
{
    QWebView* inspectorView = new QWebView;
    InspectorClientWebPage* inspectorPage = new InspectorClientWebPage(inspectorView);
    inspectorView-&gt;setPage(inspectorPage);

    // QWebInspector::frontEnd is a copy of inspectorView which will be left dangling
    // by m_inspectorView.set(inspectorView) if we do not clear it here. This can
    // happen when the inspector is managed through repeated calls to
    // inspectorController()-&gt;show() and inspectorController()-&gt;close()
    // on the same QWebPage such as by the Qt DRT.
    m_inspectedWebPage-&gt;d-&gt;getOrCreateInspector()-&gt;d-&gt;setFrontend(0);
    m_inspectorView.set(inspectorView);
    &lt;..&gt;
}

After all, if we&apos;re going to delete an object, best to ensure that all other references to it are cleared first!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>184673</commentid>
    <comment_count>43</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-01-26 12:27:12 -0800</bug_when>
    <thetext>(In reply to comment #42)
&gt; 
&gt; After all, if we&apos;re going to delete an object, best to ensure that all other
&gt; references to it are cleared first!

Ah sorry, didn&apos;t see your patch when I commented - see what you mean now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>184688</commentid>
    <comment_count>44</comment_count>
      <attachid>47437</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-01-26 12:57:53 -0800</bug_when>
    <thetext>Created attachment 47437
Updated Patch

Updated with Jocelyn&apos;s crash fix - also unskip more tests. 26 in total now pass:

webkit$ WebKitTools/Scripts/run-webkit-tests --qt --repeat-each 4  inspector
Running build-dumprendertree
Running tests from /home/robert/Development/webkit/LayoutTests
Testing 26 test cases, repeating each test 4 times.
inspector ........................................................................................................
35.41s total testing time

all 104 test cases succeeded</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185007</commentid>
    <comment_count>45</comment_count>
      <attachid>47437</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-01-27 01:56:50 -0800</bug_when>
    <thetext>Comment on attachment 47437
Updated Patch


&gt; +void QWEBKIT_EXPORT qt_drt_webinspector_executeScript(QWebPage* page, long callId, const QString &amp;script)

Coding style nitpick :) (&amp; placement)

&gt;  void DumpRenderTree::open(const QUrl&amp; aurl)
&gt;  {
&gt; +    static QUrl url(aurl);
&gt; +
&gt;      resetToConsistentStateBeforeTesting();
&gt;  
&gt; -    QUrl url = aurl;
&gt; +    if (isWebInspectorTest(url))
&gt; +        layoutTestController()-&gt;closeWebInspector();
&gt; +
&gt; +    url = aurl;
&gt; +
&gt; +    if (isWebInspectorTest(url))
&gt; +        layoutTestController()-&gt;showWebInspector();
&gt; +

Please don&apos;t use a global QUrl object to maintain whether the inspector should be closed on the next run or not.

I suggest either a boolean (where the name indicates what&apos;s happening), or see if I can tie it to some other property,
for example to whether DeveloperExtras are enabled or not. That is unless you&apos;d like to show it once the inspector tests being, keep it &quot;visible&quot; and then close it once the last inspector test has finished.


It&apos;s a bit sad that we can&apos;t use the public API to properly hide/show the inspector but have to resort to private drt hooks :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185165</commentid>
    <comment_count>46</comment_count>
      <attachid>47552</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-01-27 11:50:42 -0800</bug_when>
    <thetext>Created attachment 47552
Updated Patch

&gt; It&apos;s a bit sad that we can&apos;t use the public API to properly hide/show the
&gt; inspector but have to resort to private drt hooks :(

Fixed everything but this one I think!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185216</commentid>
    <comment_count>47</comment_count>
      <attachid>47552</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-01-27 14:15:55 -0800</bug_when>
    <thetext>Comment on attachment 47552
Updated Patch

&gt;  void DumpRenderTree::open(const QUrl&amp; aurl)
&gt;  {
&gt; +    static bool previousTestUsedWebInspector = false;
&gt; +

A boolean is better, but my main complaint was the fact that you&apos;re using a global object to represent state that can be stored in a simple member variable of the DumpRenderTree class :)

Please make it a member variable.

Come to think of it: Is a boolean needed at all? Can&apos;t you simply check the currently loaded URL, i.e.

    if (isWebInspectorTest(m_page-&gt;mainFrame()-&gt;url()))
        layoutTestController()-&gt;closeWebInspector();

&gt;      resetToConsistentStateBeforeTesting();
&gt;  
&gt;      QUrl url = aurl;
&gt; +    if (previousTestUsedWebInspector)
&gt; +        layoutTestController()-&gt;closeWebInspector();
&gt; +
&gt; +    if (isWebInspectorTest(url)) {
&gt; +        layoutTestController()-&gt;showWebInspector();
&gt; +        previousTestUsedWebInspector = true;
&gt; +    }
&gt; +
&gt;      m_expectedHash = QString();
&gt;      if (m_dumpPixels) {</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190306</commentid>
    <comment_count>48</comment_count>
      <attachid>48717</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-02-14 03:34:23 -0800</bug_when>
    <thetext>Created attachment 48717
Updated Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190391</commentid>
    <comment_count>49</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-02-15 00:16:27 -0800</bug_when>
    <thetext>(In reply to comment #48)
&gt; Created an attachment (id=48717) [details]
&gt; Updated Patch

$ WebKitTools/Scripts/run-webkit-tests inspector --iterations 100
Testing 28 test cases 100 times.
inspector .......
1682.29s total testing time
all 2800 test cases succeeded

Cool, it seems it works without crashes. ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190393</commentid>
    <comment_count>50</comment_count>
      <attachid>48717</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-02-15 00:37:40 -0800</bug_when>
    <thetext>Comment on attachment 48717
Updated Patch

LGTM. Thanks! :)

Robert, do you want to land it yourself or go through the commit queue?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190406</commentid>
    <comment_count>51</comment_count>
      <attachid>48717</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-02-15 01:54:41 -0800</bug_when>
    <thetext>Comment on attachment 48717
Updated Patch

AFAIK Robert isn&apos;t a commiter yet, so I cq+-ed it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190411</commentid>
    <comment_count>52</comment_count>
      <attachid>48717</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-02-15 02:56:24 -0800</bug_when>
    <thetext>Comment on attachment 48717
Updated Patch

Clearing flags on attachment: 48717

Committed r54772: &lt;http://trac.webkit.org/changeset/54772&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190412</commentid>
    <comment_count>53</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-02-15 02:56:36 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45733</attachid>
            <date>2010-01-01 11:07:47 -0800</date>
            <delta_ts>2010-01-02 16:15:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Qt-DRT-Support-evaluateInWebInspector-setTimerProfil.patch</filename>
            <type>text/plain</type>
            <size>15928</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">RnJvbSBjYTMxYjU5OTRkZjRlZjk1NDgyOWEzMDE0MGU1MGUyMmQ1ZDZkYjU4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnQgSG9nYW4gPHJvYmVydEByb2JlcnRob2dhbi5uZXQ+
CkRhdGU6IEZyaSwgMSBKYW4gMjAxMCAxODo0NTo1NyArMDAwMApTdWJqZWN0OiBbUEFUQ0hdIFtR
dF0gRFJUOiBTdXBwb3J0IGV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoKSwgc2V0VGltZXJQcm9maWxp
bmdFbmFibGVkKCkgYW5kIGRpc3BsYXkoKS4KClN1cHBvcnQgTGF5b3V0VGVzdENvbnRyb2xsZXIu
ZXZhbHVhdGVJbldlYkluc3BlY3RvcigpLCBzZXRUaW1lclByb2ZpbGlpbmdFbmFibGVkKCkKYW5k
IGRpc3BsYXkoKSBpbiBRdCBEUlQuCgpUaGlzIGFsbG93cyB0aGUgZm9sbG93aW5nIHRlc3RzIHRv
IHBhc3M6CgppbnNwZWN0b3IvZXZhbHVhdGUtaW4tZnJvbnRlbmQuaHRtbAppbnNwZWN0b3IvZWxl
bWVudHMtcGFuZWwtc3RydWN0dXJlLmh0bWwKaW5zcGVjdG9yL3N0eWxlcy1pZnJhbWUuaHRtbApp
bnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1jc3MuaHRtbAppbnNwZWN0b3Ivc3ludGF4LWhpZ2hs
aWdodC1qYXZhc2NyaXB0Lmh0bWwKaW5zcGVjdG9yL3RpbWVsaW5lLWVudW0tc3RhYmlsaXR5Lmh0
bWwKaW5zcGVjdG9yL3RpbWVsaW5lLWxheW91dC5odG1sCmluc3BlY3Rvci90aW1lbGluZS1tYXJr
LXRpbWVsaW5lLmh0bWwKaW5zcGVjdG9yL3RpbWVsaW5lLXBhaW50Lmh0bWwKaW5zcGVjdG9yL3Rp
bWVsaW5lLXBhcnNlLWh0bWwuaHRtbAppbnNwZWN0b3IvdGltZWxpbmUtcmVjYWxjdWxhdGUtc3R5
bGVzLmh0bWwKaW5zcGVjdG9yL3RpbWVsaW5lLXNjcmlwdC10YWctMS5odG1sCmluc3BlY3Rvci90
aW1lbGluZS1zY3JpcHQtdGFnLTIuaHRtbAppbnNwZWN0b3IvdGltZWxpbmUtdHJpdmlhbC5odG1s
Cmluc3BlY3Rvci9jb29raWUtcmVzb3VyY2UtbWF0Y2guaHRtbAppbnNwZWN0b3IvZWxlbWVudHMt
aW1nLXRvb2x0aXAuaHRtbAppbnNwZWN0b3IvZWxlbWVudHMtcGFuZWwtc2VsZWN0aW9uLW9uLXJl
ZnJlc2guaHRtbAppbnNwZWN0b3IvdGltZWxpbmUtZXZlbnQtZGlzcGF0Y2guaHRtbAoKaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMzMDk2Ci0tLQogTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDM0ICsrKysrKysrKysr
KysrKysrCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkICAgICAgICAgICAgICAgICAg
ICB8ICAgMjkgKy0tLS0tLS0tLS0tLS0KIFdlYktpdC9xdC9BcGkvcXdlYmZyYW1lLmNwcCAgICAg
ICAgICAgICAgICAgICAgICAgIHwgICAxMiArKysrKysKIFdlYktpdC9xdC9BcGkvcXdlYnBhZ2Uu
Y3BwICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNyArKysKIFdlYktpdC9xdC9DaGFuZ2VM
b2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAzNyArKysrKysrKysrKysrKysr
KysKIFdlYktpdFRvb2xzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg
ICA0MCArKysrKysrKysrKysrKysrKysrKwogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQv
RHVtcFJlbmRlclRyZWVRdC5oICAgfCAgICAxICsKIC4uLi9EdW1wUmVuZGVyVHJlZS9xdC9MYXlv
dXRUZXN0Q29udHJvbGxlclF0LmNwcCAgIHwgICAyMCArKysrKysrKysrCiAuLi4vRHVtcFJlbmRl
clRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oICAgICB8ICAgIDQgKy0KIDkgZmlsZXMg
Y2hhbmdlZCwgMTU3IGluc2VydGlvbnMoKyksIDI3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwOTVh
Njg2Li5lNzBmMWM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTAtMDEtMDEgIFJvYmVydCBI
b2dhbiAgPHJvYmVydEByb2JlcnRob2dhbi5uZXQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBEUlQ6IFN1cHBvcnQgZXZhbHVhdGVJbldlYklu
c3BlY3RvcigpLCBzZXRUaW1lclByb2ZpbGluZ0VuYWJsZWQoKSBhbmQgZGlzcGxheSgpLgorICAg
ICAgICAKKyAgICAgICAgU3VwcG9ydCBMYXlvdXRUZXN0Q29udHJvbGxlci5ldmFsdWF0ZUluV2Vi
SW5zcGVjdG9yKCksIHNldFRpbWVyUHJvZmlsaWluZ0VuYWJsZWQoKQorICAgICAgICBhbmQgZGlz
cGxheSgpIGluIFF0IERSVC4KKyAgICAgICAgCisgICAgICAgIFRoaXMgYWxsb3dzIHRoZSBmb2xs
b3dpbmcgdGVzdHMgdG8gcGFzczoKKyAgICAgICAgCisgICAgICAgIGluc3BlY3Rvci9ldmFsdWF0
ZS1pbi1mcm9udGVuZC5odG1sCisgICAgICAgIGluc3BlY3Rvci9lbGVtZW50cy1wYW5lbC1zdHJ1
Y3R1cmUuaHRtbAorICAgICAgICBpbnNwZWN0b3Ivc3R5bGVzLWlmcmFtZS5odG1sCisgICAgICAg
IGluc3BlY3Rvci9zeW50YXgtaGlnaGxpZ2h0LWNzcy5odG1sCisgICAgICAgIGluc3BlY3Rvci9z
eW50YXgtaGlnaGxpZ2h0LWphdmFzY3JpcHQuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxp
bmUtZW51bS1zdGFiaWxpdHkuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtbGF5b3V0
Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLW1hcmstdGltZWxpbmUuaHRtbAorICAg
ICAgICBpbnNwZWN0b3IvdGltZWxpbmUtcGFpbnQuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGlt
ZWxpbmUtcGFyc2UtaHRtbC5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1yZWNhbGN1
bGF0ZS1zdHlsZXMuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtc2NyaXB0LXRhZy0x
Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLXNjcmlwdC10YWctMi5odG1sCisgICAg
ICAgIGluc3BlY3Rvci90aW1lbGluZS10cml2aWFsLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2Nv
b2tpZS1yZXNvdXJjZS1tYXRjaC5odG1sCisgICAgICAgIGluc3BlY3Rvci9lbGVtZW50cy1pbWct
dG9vbHRpcC5odG1sCisgICAgICAgIGluc3BlY3Rvci9lbGVtZW50cy1wYW5lbC1zZWxlY3Rpb24t
b24tcmVmcmVzaC5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1ldmVudC1kaXNwYXRj
aC5odG1sCisgICAgICAgIAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MzMwOTYKKworICAgICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6CisKIDIwMDkt
MTItMzEgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBTaW1vbiBGcmFzZXIuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9T
a2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAppbmRleCBkN2ZlZWU5Li45
MmZlNzE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKQEAgLTE0NiwyMSArMTQ2LDYgQEAgaHR0
cC90ZXN0cy9zZWN1cml0eS9sb2NhbC12aWRlby1zb3VyY2UtZnJvbS1yZW1vdGUuaHRtbAogIyAg
ICAgICAgICAgIE1pc3NpbmcgZmVhdHVyZXMgaW4gb3VyIER1bXBSZW5kZXJUcmVlIGltcGxlbWVu
dGF0aW9uICAgICAgICAgICAgICAjCiAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICMKIAotIyBNaXNz
aW5nIGxheW91dFRlc3RDb250cm9sbGVyLnNob3dXZWJJbnNwZWN0b3IoKQotaW5zcGVjdG9yL2Nv
bnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWwKLWluc3BlY3Rvci9zdHlsZXMtaWZyYW1lLmh0
bWwKLWluc3BlY3Rvci9zeW50YXgtaGlnaGxpZ2h0LWNzcy5odG1sCi1pbnNwZWN0b3Ivc3ludGF4
LWhpZ2hsaWdodC1qYXZhc2NyaXB0Lmh0bWwKLWluc3BlY3Rvci90aW1lbGluZS1lbnVtLXN0YWJp
bGl0eS5odG1sCi1pbnNwZWN0b3IvdGltZWxpbmUtbGF5b3V0Lmh0bWwKLWluc3BlY3Rvci90aW1l
bGluZS1tYXJrLXRpbWVsaW5lLmh0bWwKLWluc3BlY3Rvci90aW1lbGluZS1wYWludC5odG1sCi1p
bnNwZWN0b3IvdGltZWxpbmUtcGFyc2UtaHRtbC5odG1sCi1pbnNwZWN0b3IvdGltZWxpbmUtcmVj
YWxjdWxhdGUtc3R5bGVzLmh0bWwKLWluc3BlY3Rvci90aW1lbGluZS1zY3JpcHQtdGFnLTEuaHRt
bAotaW5zcGVjdG9yL3RpbWVsaW5lLXNjcmlwdC10YWctMi5odG1sCi1pbnNwZWN0b3IvdGltZWxp
bmUtdHJpdmlhbC5odG1sCi0KICMgTWlzc2luZyB0ZXh0SW5wdXRDb250cm9sbGVyLnNlbGVjdGVk
UmFuZ2UoKQogZWRpdGluZy9zZWxlY3Rpb24vNTgyNTM1MC0xLmh0bWwKIGVkaXRpbmcvc2VsZWN0
aW9uLzU4MjUzNTAtMi5odG1sCkBAIC0yMTAsMTMgKzE5NSw2IEBAIGh0dHAvdGVzdHMvY2FjaGUv
c3VicmVzb3VyY2UtZmFpbG92ZXItdG8tbmV0d29yay5odG1sCiAjIE1pc3NpbmcgbGF5b3V0VGVz
dENvbnRyb2xsZXIuc2V0VXNlclN0eWxlU2hlZXRMb2NhdGlvbigpIGFuZCBsYXlvdXRUZXN0Q29u
dHJvbGxlci5zZXRVc2VyU3R5bGVTaGVldEVuYWJsZWQoKQogaHR0cC90ZXN0cy9zZWN1cml0eS9s
b2NhbC11c2VyLUNTUy1mcm9tLXJlbW90ZS5odG1sCiAKLSMgTWlzc2luZyBsYXlvdXRUZXN0Q29u
dHJvbGxlci5ldmFsdWF0ZUluV2ViSW5zcGVjdG9yKCkKLWluc3BlY3Rvci9jb29raWUtcmVzb3Vy
Y2UtbWF0Y2guaHRtbAotaW5zcGVjdG9yL2VsZW1lbnRzLWltZy10b29sdGlwLmh0bWwKLWluc3Bl
Y3Rvci9lbGVtZW50cy1wYW5lbC1zZWxlY3Rpb24tb24tcmVmcmVzaC5odG1sCi1pbnNwZWN0b3Iv
dGltZWxpbmUtZXZlbnQtZGlzcGF0Y2guaHRtbAotaW5zcGVjdG9yL3RpbWVsaW5lLW5ldHdvcmst
cmVzb3VyY2UuaHRtbAotCiAjIE1pc3NpbmcgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0U21hcnRJ
bnNlcnREZWxldGVFbmFibGVkKCkKIGVkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLWJlc2lk
ZS1jci1zcGFuLmh0bWwKICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gIwpAQCAtNDg2OSwxMyArNDg0
NywxMyBAQCBmYXN0L2RvbS9XaW5kb3cvc2xvd191bmxvYWRfaGFuZGxlci5odG1sCiAjIFRoaXMg
cG9ydCBkb2Vzbid0IGhhdmUgYSBnbG9iYWwgaGlzdG9yeSBkZWxlZ2F0ZSB5ZXQKIGh0dHAvdGVz
dHMvZ2xvYmFsaGlzdG9yeQogCi0jIFNraXAgaW5zcGVjdG9yIHRlc3RzCisjIEZhaWwgYmVjYXVz
ZSBmdWxsIGZpbGU6Ly8gVVJMIGlzIHJldHVybmVkIGluIGNvbnNvbGUgbWVzc2FnZS4KIGluc3Bl
Y3Rvci9jb25zb2xlLWRpci5odG1sCiBpbnNwZWN0b3IvY29uc29sZS1kaXJ4bWwuaHRtbAogaW5z
cGVjdG9yL2NvbnNvbGUtZm9ybWF0Lmh0bWwKIGluc3BlY3Rvci9jb25zb2xlLXRlc3RzLmh0bWwK
LWluc3BlY3Rvci9lbGVtZW50cy1wYW5lbC1zdHJ1Y3R1cmUuaHRtbAotaW5zcGVjdG9yL2V2YWx1
YXRlLWluLWZyb250ZW5kLmh0bWwKK2luc3BlY3Rvci9jb25zb2xlLWNsZWFyLmh0bWwKK2luc3Bl
Y3Rvci9jb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1sCiAKICMgU2tpcCB4bWxodHRwcmVx
dWVzdCB0ZXN0cyAtIE5FVFdPUktfRVJSOiBYTUxIdHRwUmVxdWVzdCBFeGNlcHRpb24gMTAxOiBB
IG5ldHdvcmsgZXJyb3Igb2NjdXJlZCBpbiBzeW5jaHJvbm91cyByZXF1ZXN0cy4KIGh0dHAvdGVz
dHMveG1saHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRyb2wtYmFzaWMtYWxsb3ctcHJlZmxpZ2h0LWNh
Y2hlLmh0bWwKQEAgLTUwNDUsNyArNTAyMyw2IEBAIGZhc3QvZG9tL0RvY3VtZW50L2Vhcmx5LWRv
Y3VtZW50LWFjY2Vzcy5odG1sCiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LWVhcmx5LXByb3BlcnRp
ZXMuaHRtbAogZmFzdC9ldmVudHMvb3Blbi13aW5kb3ctZnJvbS1hbm90aGVyLWZyYW1lLmh0bWwK
IGZhc3QvZXZlbnRzL3BvcHVwLWJsb2NraW5nLWNsaWNrLWluLWlmcmFtZS5odG1sCi1pbnNwZWN0
b3IvY29uc29sZS1jbGVhci5odG1sCiBodHRwL3Rlc3RzL21pc2Mvc2V0LXdpbmRvdy1vcGVuZXIt
dG8tbnVsbC5odG1sCiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Fib3V0QmxhbmsveHNzLURFTklFRC1z
ZXQtb3BlbmVyLmh0bWwKIGh0dHAvdGVzdHMvc2VjdXJpdHkvZGF0YVVSTC94c3MtREVOSUVELWZy
b20tZGF0YS11cmwtaW4tZm9yZWlnbi1kb21haW4td2luZG93LW9wZW4uaHRtbApkaWZmIC0tZ2l0
IGEvV2ViS2l0L3F0L0FwaS9xd2ViZnJhbWUuY3BwIGIvV2ViS2l0L3F0L0FwaS9xd2ViZnJhbWUu
Y3BwCmluZGV4IDFhM2JmN2YuLjI2N2FhNDMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdl
YmZyYW1lLmNwcAorKysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJmcmFtZS5jcHAKQEAgLTEwNiw2ICsx
MDYsMTggQEAgdm9pZCBRV0VCS0lUX0VYUE9SVCBxdF9kcnRfc2V0SmF2YVNjcmlwdFByb2ZpbGlu
Z0VuYWJsZWQoUVdlYkZyYW1lKiBxZnJhbWUsIGJvb2wKICNlbmRpZgogfQogCit2b2lkIFFXRUJL
SVRfRVhQT1JUIHF0X2RydF9zZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWQoUVdlYkZyYW1lKiBx
ZnJhbWUsIGJvb2wgZW5hYmxlZCkKK3sKKyAgICBGcmFtZSogZnJhbWUgPSBRV2ViRnJhbWVQcml2
YXRlOjpjb3JlKHFmcmFtZSk7CisgICAgSW5zcGVjdG9yQ29udHJvbGxlciogY29udHJvbGxlciA9
IGZyYW1lLT5wYWdlKCktPmluc3BlY3RvckNvbnRyb2xsZXIoKTsKKyAgICBpZiAoIWNvbnRyb2xs
ZXIpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoZW5hYmxlZCkKKyAgICAgICAgY29udHJvbGxl
ci0+c3RhcnRUaW1lbGluZVByb2ZpbGVyKCk7CisgICAgZWxzZQorICAgICAgICBjb250cm9sbGVy
LT5zdG9wVGltZWxpbmVQcm9maWxlcigpOworfQorCiAvLyBQYXVzZSBhIGdpdmVuIENTUyBhbmlt
YXRpb24gb3IgdHJhbnNpdGlvbiBvbiB0aGUgdGFyZ2V0IG5vZGUgYXQgYSBzcGVjaWZpYyB0aW1l
LgogLy8gSWYgdGhlIGFuaW1hdGlvbiBvciB0cmFuc2l0aW9uIGlzIGFscmVhZHkgcGF1c2VkLCBp
dCB3aWxsIHVwZGF0ZSBpdHMgcGF1c2UgdGltZS4KIC8vIFRoaXMgbWV0aG9kIGlzIG9ubHkgaW50
ZW5kZWQgdG8gYmUgdXNlZCBmb3IgdGVzdGluZyB0aGUgQ1NTIGFuaW1hdGlvbiBhbmQgdHJhbnNp
dGlvbiBzeXN0ZW0uCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcCBiL1dl
YktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCmluZGV4IDdlZDc1NTUuLjRlNjcwNDMgMTAwNjQ0Ci0t
LSBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCisrKyBiL1dlYktpdC9xdC9BcGkvcXdlYnBh
Z2UuY3BwCkBAIC0xNDUsNiArMTQ1LDEzIEBAIFFTdHJpbmcgUVdFQktJVF9FWFBPUlQgcXRfd2Vi
cGFnZV9ncm91cE5hbWUoUVdlYlBhZ2UqIHBhZ2UpCiAgICAgcmV0dXJuIHBhZ2UtPmhhbmRsZSgp
LT5wYWdlLT5ncm91cE5hbWUoKTsKIH0KIAordm9pZCBRV0VCS0lUX0VYUE9SVCBxdF9kcnRfd2Vi
aW5zcGVjdG9yX2V4ZWN1dGVfc2NyaXB0KFFXZWJQYWdlICpwYWdlLCBsb25nIGNhbGxJZCwgY29u
c3QgUVN0cmluZyAmc2NyaXB0KQoreworICAgIGlmICghcGFnZS0+aGFuZGxlKCktPnBhZ2UtPmlu
c3BlY3RvckNvbnRyb2xsZXIoKSkKKyAgICAgIHJldHVybjsKKyAgICBwYWdlLT5oYW5kbGUoKS0+
cGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5ldmFsdWF0ZUZvclRlc3RJbkZyb250ZW5kKGNh
bGxJZCwgc2NyaXB0KTsKK30KKwogY2xhc3MgUVdlYlBhZ2VXaWRnZXRDbGllbnQgOiBwdWJsaWMg
UVdlYlBhZ2VDbGllbnQgewogcHVibGljOgogICAgIFFXZWJQYWdlV2lkZ2V0Q2xpZW50KFFXaWRn
ZXQqIHZpZXcpCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvV2ViS2l0L3F0L0No
YW5nZUxvZwppbmRleCAzOGQ2MTM1Li5kZDFkMjYwIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQ2hh
bmdlTG9nCisrKyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAxMC0w
MS0wMSAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHJvYmVydGhvZ2FuLm5ldD4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIERSVDogU3VwcG9ydCBl
dmFsdWF0ZUluV2ViSW5zcGVjdG9yKCksIHNldFRpbWVyUHJvZmlsaW5nRW5hYmxlZCgpIGFuZCBk
aXNwbGF5KCkuCisgICAgICAgIAorICAgICAgICBTdXBwb3J0IExheW91dFRlc3RDb250cm9sbGVy
LmV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoKSwgc2V0VGltZXJQcm9maWxpaW5nRW5hYmxlZCgpCisg
ICAgICAgIGFuZCBkaXNwbGF5KCkgaW4gUXQgRFJULgorICAgICAgICAKKyAgICAgICAgVGhpcyBh
bGxvd3MgdGhlIGZvbGxvd2luZyB0ZXN0cyB0byBwYXNzOgorICAgICAgICAKKyAgICAgICAgaW5z
cGVjdG9yL2V2YWx1YXRlLWluLWZyb250ZW5kLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2VsZW1l
bnRzLXBhbmVsLXN0cnVjdHVyZS5odG1sCisgICAgICAgIGluc3BlY3Rvci9zdHlsZXMtaWZyYW1l
Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQtY3NzLmh0bWwKKyAgICAg
ICAgaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQtamF2YXNjcmlwdC5odG1sCisgICAgICAgIGlu
c3BlY3Rvci90aW1lbGluZS1lbnVtLXN0YWJpbGl0eS5odG1sCisgICAgICAgIGluc3BlY3Rvci90
aW1lbGluZS1sYXlvdXQuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtbWFyay10aW1l
bGluZS5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1wYWludC5odG1sCisgICAgICAg
IGluc3BlY3Rvci90aW1lbGluZS1wYXJzZS1odG1sLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3Rp
bWVsaW5lLXJlY2FsY3VsYXRlLXN0eWxlcy5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGlu
ZS1zY3JpcHQtdGFnLTEuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtc2NyaXB0LXRh
Zy0yLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLXRyaXZpYWwuaHRtbAorICAgICAg
ICBpbnNwZWN0b3IvY29va2llLXJlc291cmNlLW1hdGNoLmh0bWwKKyAgICAgICAgaW5zcGVjdG9y
L2VsZW1lbnRzLWltZy10b29sdGlwLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2VsZW1lbnRzLXBh
bmVsLXNlbGVjdGlvbi1vbi1yZWZyZXNoLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5l
LWV2ZW50LWRpc3BhdGNoLmh0bWwKKyAgICAgICAgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzA5NgorCisgICAgICAgICogQXBpL3F3ZWJmcmFtZS5j
cHA6CisgICAgICAgIChxdF9kcnRfc2V0VGltZWxpbmVQcm9maWxpbmdFbmFibGVkKToKKyAgICAg
ICAgKiBBcGkvcXdlYnBhZ2UuY3BwOgorICAgICAgICAocXRfZHJ0X3dlYmluc3BlY3Rvcl9leGVj
dXRlX3NjcmlwdCk6CisKIDIwMDktMTItMzAgIExhc3psbyBHb21ib3MgIDxsYXN6bG8uMS5nb21i
b3NAbm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5uLgpkaWZm
IC0tZ2l0IGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmlu
ZGV4IDM3YmM0MjcuLjZlMjM0MWYgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZwor
KysgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MyBAQAorMjAxMC0wMS0wMSAg
Um9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHJvYmVydGhvZ2FuLm5ldD4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIERSVDogU3VwcG9ydCBldmFsdWF0
ZUluV2ViSW5zcGVjdG9yKCksIHNldFRpbWVyUHJvZmlsaW5nRW5hYmxlZCgpIGFuZCBkaXNwbGF5
KCkuCisgICAgICAgIAorICAgICAgICBTdXBwb3J0IExheW91dFRlc3RDb250cm9sbGVyLmV2YWx1
YXRlSW5XZWJJbnNwZWN0b3IoKSwgc2V0VGltZXJQcm9maWxpaW5nRW5hYmxlZCgpCisgICAgICAg
IGFuZCBkaXNwbGF5KCkgaW4gUXQgRFJULgorICAgICAgICAKKyAgICAgICAgVGhpcyBhbGxvd3Mg
dGhlIGZvbGxvd2luZyB0ZXN0cyB0byBwYXNzOgorICAgICAgICAKKyAgICAgICAgaW5zcGVjdG9y
L2V2YWx1YXRlLWluLWZyb250ZW5kLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2VsZW1lbnRzLXBh
bmVsLXN0cnVjdHVyZS5odG1sCisgICAgICAgIGluc3BlY3Rvci9zdHlsZXMtaWZyYW1lLmh0bWwK
KyAgICAgICAgaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQtY3NzLmh0bWwKKyAgICAgICAgaW5z
cGVjdG9yL3N5bnRheC1oaWdobGlnaHQtamF2YXNjcmlwdC5odG1sCisgICAgICAgIGluc3BlY3Rv
ci90aW1lbGluZS1lbnVtLXN0YWJpbGl0eS5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGlu
ZS1sYXlvdXQuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtbWFyay10aW1lbGluZS5o
dG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1wYWludC5odG1sCisgICAgICAgIGluc3Bl
Y3Rvci90aW1lbGluZS1wYXJzZS1odG1sLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5l
LXJlY2FsY3VsYXRlLXN0eWxlcy5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1zY3Jp
cHQtdGFnLTEuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtc2NyaXB0LXRhZy0yLmh0
bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLXRyaXZpYWwuaHRtbAorICAgICAgICBpbnNw
ZWN0b3IvY29va2llLXJlc291cmNlLW1hdGNoLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2VsZW1l
bnRzLWltZy10b29sdGlwLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2VsZW1lbnRzLXBhbmVsLXNl
bGVjdGlvbi1vbi1yZWZyZXNoLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLWV2ZW50
LWRpc3BhdGNoLmh0bWwKKyAgICAgICAgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0zMzA5NgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvRHVt
cFJlbmRlclRyZWVRdC5oOgorICAgICAgICAoV2ViQ29yZTo6RHVtcFJlbmRlclRyZWU6OmRpc3Bs
YXkpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQu
Y3BwOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OmV2YWx1YXRlSW5XZWJJbnNwZWN0
b3IpOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFRpbWVsaW5lUHJvZmlsaW5n
RW5hYmxlZCk6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZGlzcGxheSk6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oOgorCiAyMDA5
LTEyLTMxICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgRXJpYyBTZWlkZWwuCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9E
dW1wUmVuZGVyVHJlZVF0LmgKaW5kZXggY2FlZTUyZC4uMGI5ZDZhNyAxMDA2NDQKLS0tIGEvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5oCisrKyBiL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuaApAQCAtNzksNiArNzks
NyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNldER1bXBQaXhlbHMoYm9vbCk7CiAKKyAgICB2b2lk
IGRpc3BsYXkoKSB7IG1fbWFpblZpZXctPnNob3coKTsgfQogICAgIHZvaWQgY2xvc2VSZW1haW5p
bmdXaW5kb3dzKCk7CiAgICAgdm9pZCByZXNldFRvQ29uc2lzdGVudFN0YXRlQmVmb3JlVGVzdGlu
ZygpOwogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRU
ZXN0Q29udHJvbGxlclF0LmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91
dFRlc3RDb250cm9sbGVyUXQuY3BwCmluZGV4IGFkY2RiY2EuLmM4ZTk4M2QgMTAwNjQ0Ci0tLSBh
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3Bw
CisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVy
UXQuY3BwCkBAIC0zOCw2ICszOCw3IEBACiBleHRlcm4gdm9pZCBxdF9kdW1wX2VkaXRpbmdfY2Fs
bGJhY2tzKGJvb2wgYik7CiBleHRlcm4gdm9pZCBxdF9kdW1wX3Jlc291cmNlX2xvYWRfY2FsbGJh
Y2tzKGJvb2wgYik7CiBleHRlcm4gdm9pZCBxdF9kcnRfc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0Vu
YWJsZWQoUVdlYkZyYW1lKiwgYm9vbCBlbmFibGVkKTsKK2V4dGVybiB2b2lkIHF0X2RydF9zZXRU
aW1lbGluZVByb2ZpbGluZ0VuYWJsZWQoUVdlYkZyYW1lKiwgYm9vbCBlbmFibGVkKTsKIGV4dGVy
biBib29sIHF0X2RydF9wYXVzZUFuaW1hdGlvbihRV2ViRnJhbWUqLCBjb25zdCBRU3RyaW5nJiBu
YW1lLCBkb3VibGUgdGltZSwgY29uc3QgUVN0cmluZyYgZWxlbWVudElkKTsKIGV4dGVybiBib29s
IHF0X2RydF9wYXVzZVRyYW5zaXRpb25PZlByb3BlcnR5KFFXZWJGcmFtZSosIGNvbnN0IFFTdHJp
bmcmIG5hbWUsIGRvdWJsZSB0aW1lLCBjb25zdCBRU3RyaW5nJiBlbGVtZW50SWQpOwogZXh0ZXJu
IGJvb2wgcXRfZHJ0X3BhdXNlU1ZHQW5pbWF0aW9uKFFXZWJGcmFtZSosIGNvbnN0IFFTdHJpbmcm
IGFuaW1hdGlvbklkLCBkb3VibGUgdGltZSwgY29uc3QgUVN0cmluZyYgZWxlbWVudElkKTsKQEAg
LTQ1LDYgKzQ2LDcgQEAgZXh0ZXJuIGludCBxdF9kcnRfbnVtYmVyT2ZBY3RpdmVBbmltYXRpb25z
KFFXZWJGcmFtZSopOwogCiBleHRlcm4gdm9pZCBxdF9kcnRfd2hpdGVMaXN0QWNjZXNzRnJvbU9y
aWdpbihjb25zdCBRU3RyaW5nJiBzb3VyY2VPcmlnaW4sIGNvbnN0IFFTdHJpbmcmIGRlc3RpbmF0
aW9uUHJvdG9jb2wsIGNvbnN0IFFTdHJpbmcmIGRlc3RpbmF0aW9uSG9zdCwgYm9vbCBhbGxvd0Rl
c3RpbmF0aW9uU3ViZG9tYWlucyk7CiBleHRlcm4gUVN0cmluZyBxdF9kcnRfY291bnRlclZhbHVl
Rm9yRWxlbWVudEJ5SWQoUVdlYkZyYW1lKiBxRnJhbWUsIGNvbnN0IFFTdHJpbmcmIGlkKTsKK2V4
dGVybiB2b2lkIHF0X2RydF93ZWJpbnNwZWN0b3JfZXhlY3V0ZV9zY3JpcHQoUVdlYlBhZ2UqIHBh
Z2UsIGxvbmcgY2FsbElkLCBjb25zdCBRU3RyaW5nJiBzY3JpcHQpOwogCiBMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6TGF5b3V0VGVzdENvbnRyb2xsZXIoV2ViQ29yZTo6RHVtcFJlbmRlclRyZWUqIGRy
dCkKICAgICA6IFFPYmplY3QoKQpAQCAtMjUwLDYgKzI1MiwxMyBAQCB2b2lkIExheW91dFRlc3RD
b250cm9sbGVyOjpzaG93V2ViSW5zcGVjdG9yKCkKICAgICBtX2RydC0+d2ViUGFnZSgpLT53ZWJJ
bnNwZWN0b3IoKS0+c2hvdygpOwogfQogCit2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpldmFs
dWF0ZUluV2ViSW5zcGVjdG9yKGxvbmcgY2FsbElkLCBjb25zdCBRU3RyaW5nICZzY3JpcHQpCit7
CisgICAgaWYgKG1fZHJ0LT53ZWJQYWdlKCktPndlYkluc3BlY3RvcigpLT5pc0hpZGRlbigpKQor
ICAgICAgICBzaG93V2ViSW5zcGVjdG9yKCk7CisgICAgcXRfZHJ0X3dlYmluc3BlY3Rvcl9leGVj
dXRlX3NjcmlwdChtX2RydC0+d2ViUGFnZSgpLCBjYWxsSWQsIHNjcmlwdCk7Cit9CisKIHZvaWQg
TGF5b3V0VGVzdENvbnRyb2xsZXI6OmhpZGVXZWJJbnNwZWN0b3IoKQogewogICAgIG1fZHJ0LT53
ZWJQYWdlKCktPndlYkluc3BlY3RvcigpLT5oaWRlKCk7CkBAIC0yNjYsNiArMjc1LDEyIEBAIHZv
aWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKGJv
b2wgZW5hYmxlKQogICAgIHF0X2RydF9zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZChtX3Rv
cExvYWRpbmdGcmFtZSwgZW5hYmxlKTsKIH0KIAordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6
c2V0VGltZWxpbmVQcm9maWxpbmdFbmFibGVkKGJvb2wgZW5hYmxlKQoreworICAgIG1fdG9wTG9h
ZGluZ0ZyYW1lLT5wYWdlKCktPnNldHRpbmdzKCktPnNldEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6
OkRldmVsb3BlckV4dHJhc0VuYWJsZWQsIHRydWUpOworICAgIHF0X2RydF9zZXRUaW1lbGluZVBy
b2ZpbGluZ0VuYWJsZWQobV90b3BMb2FkaW5nRnJhbWUsIGVuYWJsZSk7Cit9CisKIHZvaWQgTGF5
b3V0VGVzdENvbnRyb2xsZXI6OnNldEZpeGVkQ29udGVudHNTaXplKGludCB3aWR0aCwgaW50IGhl
aWdodCkKIHsKICAgICBtX3RvcExvYWRpbmdGcmFtZS0+cGFnZSgpLT5zZXRQcmVmZXJyZWRDb250
ZW50c1NpemUoUVNpemUod2lkdGgsIGhlaWdodCkpOwpAQCAtMzgwLDMgKzM5NSw4IEBAIHZvaWQg
TGF5b3V0VGVzdENvbnRyb2xsZXI6Om92ZXJyaWRlUHJlZmVyZW5jZShjb25zdCBRU3RyaW5nJiBu
YW1lLCBjb25zdCBRVmFyaWFuCiAgICAgZWxzZSBpZiAobmFtZSA9PSAiV2ViS2l0VXNlc1BhZ2VD
YWNoZVByZWZlcmVuY2VLZXkiKQogICAgICAgICBRV2ViU2V0dGluZ3M6OnNldE1heGltdW1QYWdl
c0luQ2FjaGUodmFsdWUudG9JbnQoKSk7CiB9CisKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6
OmRpc3BsYXkoKQoreworICAgIG1fZHJ0LT5kaXNwbGF5KCk7Cit9ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5
b3V0VGVzdENvbnRyb2xsZXJRdC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5
b3V0VGVzdENvbnRyb2xsZXJRdC5oCmluZGV4IDE5MTNkN2MuLjdjZWI0MTAgMTAwNjQ0Ci0tLSBh
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaAor
KysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0
LmgKQEAgLTk3LDcgKzk3LDcgQEAgcHVibGljIHNsb3RzOgogICAgIHZvaWQgcHJvdmlzaW9uYWxM
b2FkKCk7CiAgICAgdm9pZCBzZXRDbG9zZVJlbWFpbmluZ1dpbmRvd3NXaGVuQ29tcGxldGUoYm9v
bCA9IGZhbHNlKSB7fQogICAgIGludCB3aW5kb3dDb3VudCgpOwotICAgIHZvaWQgZGlzcGxheSgp
IHt9CisgICAgdm9pZCBkaXNwbGF5KCk7CiAgICAgdm9pZCBjbGVhckJhY2tGb3J3YXJkTGlzdCgp
OwogICAgIFFTdHJpbmcgcGF0aFRvTG9jYWxSZXNvdXJjZShjb25zdCBRU3RyaW5nJiB1cmwpOwog
ICAgIHZvaWQgZHVtcFRpdGxlQ2hhbmdlcygpIHsgbV9kdW1wVGl0bGVDaGFuZ2VzID0gdHJ1ZTsg
fQpAQCAtMTA2LDggKzEwNiwxMCBAQCBwdWJsaWMgc2xvdHM6CiAgICAgdm9pZCBkdW1wU2VsZWN0
aW9uUmVjdCgpIGNvbnN0IHt9CiAgICAgdm9pZCBzaG93V2ViSW5zcGVjdG9yKCk7CiAgICAgdm9p
ZCBoaWRlV2ViSW5zcGVjdG9yKCk7CisgICAgdm9pZCBldmFsdWF0ZUluV2ViSW5zcGVjdG9yKGxv
bmcgY2FsbElkLCBjb25zdCBRU3RyaW5nICZzY3JpcHQpOwogICAgIHZvaWQgc2V0QWxsb3dVbml2
ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMoYm9vbCBlbmFibGUpOwogICAgIHZvaWQgc2V0SmF2YVNj
cmlwdFByb2ZpbGluZ0VuYWJsZWQoYm9vbCBlbmFibGUpOworICAgIHZvaWQgc2V0VGltZWxpbmVQ
cm9maWxpbmdFbmFibGVkKGJvb2wgZW5hYmxlKTsKICAgICB2b2lkIHNldEZpeGVkQ29udGVudHNT
aXplKGludCB3aWR0aCwgaW50IGhlaWdodCk7CiAgICAgdm9pZCBzZXRQcml2YXRlQnJvd3NpbmdF
bmFibGVkKGJvb2wgZW5hYmxlKTsKICAgICB2b2lkIHNldFBvcHVwQmxvY2tpbmdFbmFibGVkKGJv
b2wgZW5hYmxlKTsKLS0gCjEuNi4zLjMKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45753</attachid>
            <date>2010-01-02 16:15:46 -0800</date>
            <delta_ts>2010-01-13 12:47:37 -0800</delta_ts>
            <desc>Updated Patch per style bot</desc>
            <filename>0001-Qt-DRT-Support-evaluateInWebInspector-setTimerProfil.patch</filename>
            <type>text/plain</type>
            <size>15900</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">RnJvbSAwMGU2YzJlMTVhNDgxNzVjMjI1NmYzZDBjY2FhODM5NGVmOTczNGI5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnQgSG9nYW4gPHJvYmVydEByb2JlcnRob2dhbi5uZXQ+
CkRhdGU6IEZyaSwgMSBKYW4gMjAxMCAxODo0NTo1NyArMDAwMApTdWJqZWN0OiBbUEFUQ0hdIFtR
dF0gRFJUOiBTdXBwb3J0IGV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoKSwgc2V0VGltZXJQcm9maWxp
bmdFbmFibGVkKCkgYW5kIGRpc3BsYXkoKS4KClN1cHBvcnQgTGF5b3V0VGVzdENvbnRyb2xsZXIu
ZXZhbHVhdGVJbldlYkluc3BlY3RvcigpLCBzZXRUaW1lclByb2ZpbGlpbmdFbmFibGVkKCkKYW5k
IGRpc3BsYXkoKSBpbiBRdCBEUlQuCgpUaGlzIGFsbG93cyB0aGUgZm9sbG93aW5nIHRlc3RzIHRv
IHBhc3M6CgppbnNwZWN0b3IvZXZhbHVhdGUtaW4tZnJvbnRlbmQuaHRtbAppbnNwZWN0b3IvZWxl
bWVudHMtcGFuZWwtc3RydWN0dXJlLmh0bWwKaW5zcGVjdG9yL3N0eWxlcy1pZnJhbWUuaHRtbApp
bnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1jc3MuaHRtbAppbnNwZWN0b3Ivc3ludGF4LWhpZ2hs
aWdodC1qYXZhc2NyaXB0Lmh0bWwKaW5zcGVjdG9yL3RpbWVsaW5lLWVudW0tc3RhYmlsaXR5Lmh0
bWwKaW5zcGVjdG9yL3RpbWVsaW5lLWxheW91dC5odG1sCmluc3BlY3Rvci90aW1lbGluZS1tYXJr
LXRpbWVsaW5lLmh0bWwKaW5zcGVjdG9yL3RpbWVsaW5lLXBhaW50Lmh0bWwKaW5zcGVjdG9yL3Rp
bWVsaW5lLXBhcnNlLWh0bWwuaHRtbAppbnNwZWN0b3IvdGltZWxpbmUtcmVjYWxjdWxhdGUtc3R5
bGVzLmh0bWwKaW5zcGVjdG9yL3RpbWVsaW5lLXNjcmlwdC10YWctMS5odG1sCmluc3BlY3Rvci90
aW1lbGluZS1zY3JpcHQtdGFnLTIuaHRtbAppbnNwZWN0b3IvdGltZWxpbmUtdHJpdmlhbC5odG1s
Cmluc3BlY3Rvci9jb29raWUtcmVzb3VyY2UtbWF0Y2guaHRtbAppbnNwZWN0b3IvZWxlbWVudHMt
aW1nLXRvb2x0aXAuaHRtbAppbnNwZWN0b3IvZWxlbWVudHMtcGFuZWwtc2VsZWN0aW9uLW9uLXJl
ZnJlc2guaHRtbAppbnNwZWN0b3IvdGltZWxpbmUtZXZlbnQtZGlzcGF0Y2guaHRtbAoKaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMzMDk2Ci0tLQogTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDM0ICsrKysrKysrKysr
KysrKysrCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkICAgICAgICAgICAgICAgICAg
ICB8ICAgMjkgKy0tLS0tLS0tLS0tLS0KIFdlYktpdC9xdC9BcGkvcXdlYmZyYW1lLmNwcCAgICAg
ICAgICAgICAgICAgICAgICAgIHwgICAxMiArKysrKysKIFdlYktpdC9xdC9BcGkvcXdlYnBhZ2Uu
Y3BwICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNyArKysKIFdlYktpdC9xdC9DaGFuZ2VM
b2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAzNyArKysrKysrKysrKysrKysr
KysKIFdlYktpdFRvb2xzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg
ICA0MCArKysrKysrKysrKysrKysrKysrKwogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQv
RHVtcFJlbmRlclRyZWVRdC5oICAgfCAgICAxICsKIC4uLi9EdW1wUmVuZGVyVHJlZS9xdC9MYXlv
dXRUZXN0Q29udHJvbGxlclF0LmNwcCAgIHwgICAyMCArKysrKysrKysrCiAuLi4vRHVtcFJlbmRl
clRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oICAgICB8ICAgIDQgKy0KIDkgZmlsZXMg
Y2hhbmdlZCwgMTU3IGluc2VydGlvbnMoKyksIDI3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwOTVh
Njg2Li5lNzBmMWM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTAtMDEtMDEgIFJvYmVydCBI
b2dhbiAgPHJvYmVydEByb2JlcnRob2dhbi5uZXQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBEUlQ6IFN1cHBvcnQgZXZhbHVhdGVJbldlYklu
c3BlY3RvcigpLCBzZXRUaW1lclByb2ZpbGluZ0VuYWJsZWQoKSBhbmQgZGlzcGxheSgpLgorICAg
ICAgICAKKyAgICAgICAgU3VwcG9ydCBMYXlvdXRUZXN0Q29udHJvbGxlci5ldmFsdWF0ZUluV2Vi
SW5zcGVjdG9yKCksIHNldFRpbWVyUHJvZmlsaWluZ0VuYWJsZWQoKQorICAgICAgICBhbmQgZGlz
cGxheSgpIGluIFF0IERSVC4KKyAgICAgICAgCisgICAgICAgIFRoaXMgYWxsb3dzIHRoZSBmb2xs
b3dpbmcgdGVzdHMgdG8gcGFzczoKKyAgICAgICAgCisgICAgICAgIGluc3BlY3Rvci9ldmFsdWF0
ZS1pbi1mcm9udGVuZC5odG1sCisgICAgICAgIGluc3BlY3Rvci9lbGVtZW50cy1wYW5lbC1zdHJ1
Y3R1cmUuaHRtbAorICAgICAgICBpbnNwZWN0b3Ivc3R5bGVzLWlmcmFtZS5odG1sCisgICAgICAg
IGluc3BlY3Rvci9zeW50YXgtaGlnaGxpZ2h0LWNzcy5odG1sCisgICAgICAgIGluc3BlY3Rvci9z
eW50YXgtaGlnaGxpZ2h0LWphdmFzY3JpcHQuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxp
bmUtZW51bS1zdGFiaWxpdHkuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtbGF5b3V0
Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLW1hcmstdGltZWxpbmUuaHRtbAorICAg
ICAgICBpbnNwZWN0b3IvdGltZWxpbmUtcGFpbnQuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGlt
ZWxpbmUtcGFyc2UtaHRtbC5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1yZWNhbGN1
bGF0ZS1zdHlsZXMuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtc2NyaXB0LXRhZy0x
Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLXNjcmlwdC10YWctMi5odG1sCisgICAg
ICAgIGluc3BlY3Rvci90aW1lbGluZS10cml2aWFsLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2Nv
b2tpZS1yZXNvdXJjZS1tYXRjaC5odG1sCisgICAgICAgIGluc3BlY3Rvci9lbGVtZW50cy1pbWct
dG9vbHRpcC5odG1sCisgICAgICAgIGluc3BlY3Rvci9lbGVtZW50cy1wYW5lbC1zZWxlY3Rpb24t
b24tcmVmcmVzaC5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1ldmVudC1kaXNwYXRj
aC5odG1sCisgICAgICAgIAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MzMwOTYKKworICAgICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6CisKIDIwMDkt
MTItMzEgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBTaW1vbiBGcmFzZXIuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9T
a2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAppbmRleCBkN2ZlZWU5Li45
MmZlNzE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKQEAgLTE0NiwyMSArMTQ2LDYgQEAgaHR0
cC90ZXN0cy9zZWN1cml0eS9sb2NhbC12aWRlby1zb3VyY2UtZnJvbS1yZW1vdGUuaHRtbAogIyAg
ICAgICAgICAgIE1pc3NpbmcgZmVhdHVyZXMgaW4gb3VyIER1bXBSZW5kZXJUcmVlIGltcGxlbWVu
dGF0aW9uICAgICAgICAgICAgICAjCiAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICMKIAotIyBNaXNz
aW5nIGxheW91dFRlc3RDb250cm9sbGVyLnNob3dXZWJJbnNwZWN0b3IoKQotaW5zcGVjdG9yL2Nv
bnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWwKLWluc3BlY3Rvci9zdHlsZXMtaWZyYW1lLmh0
bWwKLWluc3BlY3Rvci9zeW50YXgtaGlnaGxpZ2h0LWNzcy5odG1sCi1pbnNwZWN0b3Ivc3ludGF4
LWhpZ2hsaWdodC1qYXZhc2NyaXB0Lmh0bWwKLWluc3BlY3Rvci90aW1lbGluZS1lbnVtLXN0YWJp
bGl0eS5odG1sCi1pbnNwZWN0b3IvdGltZWxpbmUtbGF5b3V0Lmh0bWwKLWluc3BlY3Rvci90aW1l
bGluZS1tYXJrLXRpbWVsaW5lLmh0bWwKLWluc3BlY3Rvci90aW1lbGluZS1wYWludC5odG1sCi1p
bnNwZWN0b3IvdGltZWxpbmUtcGFyc2UtaHRtbC5odG1sCi1pbnNwZWN0b3IvdGltZWxpbmUtcmVj
YWxjdWxhdGUtc3R5bGVzLmh0bWwKLWluc3BlY3Rvci90aW1lbGluZS1zY3JpcHQtdGFnLTEuaHRt
bAotaW5zcGVjdG9yL3RpbWVsaW5lLXNjcmlwdC10YWctMi5odG1sCi1pbnNwZWN0b3IvdGltZWxp
bmUtdHJpdmlhbC5odG1sCi0KICMgTWlzc2luZyB0ZXh0SW5wdXRDb250cm9sbGVyLnNlbGVjdGVk
UmFuZ2UoKQogZWRpdGluZy9zZWxlY3Rpb24vNTgyNTM1MC0xLmh0bWwKIGVkaXRpbmcvc2VsZWN0
aW9uLzU4MjUzNTAtMi5odG1sCkBAIC0yMTAsMTMgKzE5NSw2IEBAIGh0dHAvdGVzdHMvY2FjaGUv
c3VicmVzb3VyY2UtZmFpbG92ZXItdG8tbmV0d29yay5odG1sCiAjIE1pc3NpbmcgbGF5b3V0VGVz
dENvbnRyb2xsZXIuc2V0VXNlclN0eWxlU2hlZXRMb2NhdGlvbigpIGFuZCBsYXlvdXRUZXN0Q29u
dHJvbGxlci5zZXRVc2VyU3R5bGVTaGVldEVuYWJsZWQoKQogaHR0cC90ZXN0cy9zZWN1cml0eS9s
b2NhbC11c2VyLUNTUy1mcm9tLXJlbW90ZS5odG1sCiAKLSMgTWlzc2luZyBsYXlvdXRUZXN0Q29u
dHJvbGxlci5ldmFsdWF0ZUluV2ViSW5zcGVjdG9yKCkKLWluc3BlY3Rvci9jb29raWUtcmVzb3Vy
Y2UtbWF0Y2guaHRtbAotaW5zcGVjdG9yL2VsZW1lbnRzLWltZy10b29sdGlwLmh0bWwKLWluc3Bl
Y3Rvci9lbGVtZW50cy1wYW5lbC1zZWxlY3Rpb24tb24tcmVmcmVzaC5odG1sCi1pbnNwZWN0b3Iv
dGltZWxpbmUtZXZlbnQtZGlzcGF0Y2guaHRtbAotaW5zcGVjdG9yL3RpbWVsaW5lLW5ldHdvcmst
cmVzb3VyY2UuaHRtbAotCiAjIE1pc3NpbmcgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0U21hcnRJ
bnNlcnREZWxldGVFbmFibGVkKCkKIGVkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLWJlc2lk
ZS1jci1zcGFuLmh0bWwKICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gIwpAQCAtNDg2OSwxMyArNDg0
NywxMyBAQCBmYXN0L2RvbS9XaW5kb3cvc2xvd191bmxvYWRfaGFuZGxlci5odG1sCiAjIFRoaXMg
cG9ydCBkb2Vzbid0IGhhdmUgYSBnbG9iYWwgaGlzdG9yeSBkZWxlZ2F0ZSB5ZXQKIGh0dHAvdGVz
dHMvZ2xvYmFsaGlzdG9yeQogCi0jIFNraXAgaW5zcGVjdG9yIHRlc3RzCisjIEZhaWwgYmVjYXVz
ZSBmdWxsIGZpbGU6Ly8gVVJMIGlzIHJldHVybmVkIGluIGNvbnNvbGUgbWVzc2FnZS4KIGluc3Bl
Y3Rvci9jb25zb2xlLWRpci5odG1sCiBpbnNwZWN0b3IvY29uc29sZS1kaXJ4bWwuaHRtbAogaW5z
cGVjdG9yL2NvbnNvbGUtZm9ybWF0Lmh0bWwKIGluc3BlY3Rvci9jb25zb2xlLXRlc3RzLmh0bWwK
LWluc3BlY3Rvci9lbGVtZW50cy1wYW5lbC1zdHJ1Y3R1cmUuaHRtbAotaW5zcGVjdG9yL2V2YWx1
YXRlLWluLWZyb250ZW5kLmh0bWwKK2luc3BlY3Rvci9jb25zb2xlLWNsZWFyLmh0bWwKK2luc3Bl
Y3Rvci9jb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1sCiAKICMgU2tpcCB4bWxodHRwcmVx
dWVzdCB0ZXN0cyAtIE5FVFdPUktfRVJSOiBYTUxIdHRwUmVxdWVzdCBFeGNlcHRpb24gMTAxOiBB
IG5ldHdvcmsgZXJyb3Igb2NjdXJlZCBpbiBzeW5jaHJvbm91cyByZXF1ZXN0cy4KIGh0dHAvdGVz
dHMveG1saHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRyb2wtYmFzaWMtYWxsb3ctcHJlZmxpZ2h0LWNh
Y2hlLmh0bWwKQEAgLTUwNDUsNyArNTAyMyw2IEBAIGZhc3QvZG9tL0RvY3VtZW50L2Vhcmx5LWRv
Y3VtZW50LWFjY2Vzcy5odG1sCiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LWVhcmx5LXByb3BlcnRp
ZXMuaHRtbAogZmFzdC9ldmVudHMvb3Blbi13aW5kb3ctZnJvbS1hbm90aGVyLWZyYW1lLmh0bWwK
IGZhc3QvZXZlbnRzL3BvcHVwLWJsb2NraW5nLWNsaWNrLWluLWlmcmFtZS5odG1sCi1pbnNwZWN0
b3IvY29uc29sZS1jbGVhci5odG1sCiBodHRwL3Rlc3RzL21pc2Mvc2V0LXdpbmRvdy1vcGVuZXIt
dG8tbnVsbC5odG1sCiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Fib3V0QmxhbmsveHNzLURFTklFRC1z
ZXQtb3BlbmVyLmh0bWwKIGh0dHAvdGVzdHMvc2VjdXJpdHkvZGF0YVVSTC94c3MtREVOSUVELWZy
b20tZGF0YS11cmwtaW4tZm9yZWlnbi1kb21haW4td2luZG93LW9wZW4uaHRtbApkaWZmIC0tZ2l0
IGEvV2ViS2l0L3F0L0FwaS9xd2ViZnJhbWUuY3BwIGIvV2ViS2l0L3F0L0FwaS9xd2ViZnJhbWUu
Y3BwCmluZGV4IDFhM2JmN2YuLjI2N2FhNDMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdl
YmZyYW1lLmNwcAorKysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJmcmFtZS5jcHAKQEAgLTEwNiw2ICsx
MDYsMTggQEAgdm9pZCBRV0VCS0lUX0VYUE9SVCBxdF9kcnRfc2V0SmF2YVNjcmlwdFByb2ZpbGlu
Z0VuYWJsZWQoUVdlYkZyYW1lKiBxZnJhbWUsIGJvb2wKICNlbmRpZgogfQogCit2b2lkIFFXRUJL
SVRfRVhQT1JUIHF0X2RydF9zZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWQoUVdlYkZyYW1lKiBx
ZnJhbWUsIGJvb2wgZW5hYmxlZCkKK3sKKyAgICBGcmFtZSogZnJhbWUgPSBRV2ViRnJhbWVQcml2
YXRlOjpjb3JlKHFmcmFtZSk7CisgICAgSW5zcGVjdG9yQ29udHJvbGxlciogY29udHJvbGxlciA9
IGZyYW1lLT5wYWdlKCktPmluc3BlY3RvckNvbnRyb2xsZXIoKTsKKyAgICBpZiAoIWNvbnRyb2xs
ZXIpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoZW5hYmxlZCkKKyAgICAgICAgY29udHJvbGxl
ci0+c3RhcnRUaW1lbGluZVByb2ZpbGVyKCk7CisgICAgZWxzZQorICAgICAgICBjb250cm9sbGVy
LT5zdG9wVGltZWxpbmVQcm9maWxlcigpOworfQorCiAvLyBQYXVzZSBhIGdpdmVuIENTUyBhbmlt
YXRpb24gb3IgdHJhbnNpdGlvbiBvbiB0aGUgdGFyZ2V0IG5vZGUgYXQgYSBzcGVjaWZpYyB0aW1l
LgogLy8gSWYgdGhlIGFuaW1hdGlvbiBvciB0cmFuc2l0aW9uIGlzIGFscmVhZHkgcGF1c2VkLCBp
dCB3aWxsIHVwZGF0ZSBpdHMgcGF1c2UgdGltZS4KIC8vIFRoaXMgbWV0aG9kIGlzIG9ubHkgaW50
ZW5kZWQgdG8gYmUgdXNlZCBmb3IgdGVzdGluZyB0aGUgQ1NTIGFuaW1hdGlvbiBhbmQgdHJhbnNp
dGlvbiBzeXN0ZW0uCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcCBiL1dl
YktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCmluZGV4IDdlZDc1NTUuLjRlNjcwNDMgMTAwNjQ0Ci0t
LSBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCisrKyBiL1dlYktpdC9xdC9BcGkvcXdlYnBh
Z2UuY3BwCkBAIC0xNDUsNiArMTQ1LDEzIEBAIFFTdHJpbmcgUVdFQktJVF9FWFBPUlQgcXRfd2Vi
cGFnZV9ncm91cE5hbWUoUVdlYlBhZ2UqIHBhZ2UpCiAgICAgcmV0dXJuIHBhZ2UtPmhhbmRsZSgp
LT5wYWdlLT5ncm91cE5hbWUoKTsKIH0KIAordm9pZCBRV0VCS0lUX0VYUE9SVCBxdF9kcnRfd2Vi
aW5zcGVjdG9yX2V4ZWN1dGVfc2NyaXB0KFFXZWJQYWdlICpwYWdlLCBsb25nIGNhbGxJZCwgY29u
c3QgUVN0cmluZyAmc2NyaXB0KQoreworICAgIGlmICghcGFnZS0+aGFuZGxlKCktPnBhZ2UtPmlu
c3BlY3RvckNvbnRyb2xsZXIoKSkKKyAgICAgIHJldHVybjsKKyAgICBwYWdlLT5oYW5kbGUoKS0+
cGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5ldmFsdWF0ZUZvclRlc3RJbkZyb250ZW5kKGNh
bGxJZCwgc2NyaXB0KTsKK30KKwogY2xhc3MgUVdlYlBhZ2VXaWRnZXRDbGllbnQgOiBwdWJsaWMg
UVdlYlBhZ2VDbGllbnQgewogcHVibGljOgogICAgIFFXZWJQYWdlV2lkZ2V0Q2xpZW50KFFXaWRn
ZXQqIHZpZXcpCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvV2ViS2l0L3F0L0No
YW5nZUxvZwppbmRleCAzOGQ2MTM1Li5kZDFkMjYwIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQ2hh
bmdlTG9nCisrKyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAxMC0w
MS0wMSAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHJvYmVydGhvZ2FuLm5ldD4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIERSVDogU3VwcG9ydCBl
dmFsdWF0ZUluV2ViSW5zcGVjdG9yKCksIHNldFRpbWVyUHJvZmlsaW5nRW5hYmxlZCgpIGFuZCBk
aXNwbGF5KCkuCisgICAgICAgIAorICAgICAgICBTdXBwb3J0IExheW91dFRlc3RDb250cm9sbGVy
LmV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoKSwgc2V0VGltZXJQcm9maWxpaW5nRW5hYmxlZCgpCisg
ICAgICAgIGFuZCBkaXNwbGF5KCkgaW4gUXQgRFJULgorICAgICAgICAKKyAgICAgICAgVGhpcyBh
bGxvd3MgdGhlIGZvbGxvd2luZyB0ZXN0cyB0byBwYXNzOgorICAgICAgICAKKyAgICAgICAgaW5z
cGVjdG9yL2V2YWx1YXRlLWluLWZyb250ZW5kLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2VsZW1l
bnRzLXBhbmVsLXN0cnVjdHVyZS5odG1sCisgICAgICAgIGluc3BlY3Rvci9zdHlsZXMtaWZyYW1l
Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQtY3NzLmh0bWwKKyAgICAg
ICAgaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQtamF2YXNjcmlwdC5odG1sCisgICAgICAgIGlu
c3BlY3Rvci90aW1lbGluZS1lbnVtLXN0YWJpbGl0eS5odG1sCisgICAgICAgIGluc3BlY3Rvci90
aW1lbGluZS1sYXlvdXQuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtbWFyay10aW1l
bGluZS5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1wYWludC5odG1sCisgICAgICAg
IGluc3BlY3Rvci90aW1lbGluZS1wYXJzZS1odG1sLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3Rp
bWVsaW5lLXJlY2FsY3VsYXRlLXN0eWxlcy5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGlu
ZS1zY3JpcHQtdGFnLTEuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtc2NyaXB0LXRh
Zy0yLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLXRyaXZpYWwuaHRtbAorICAgICAg
ICBpbnNwZWN0b3IvY29va2llLXJlc291cmNlLW1hdGNoLmh0bWwKKyAgICAgICAgaW5zcGVjdG9y
L2VsZW1lbnRzLWltZy10b29sdGlwLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2VsZW1lbnRzLXBh
bmVsLXNlbGVjdGlvbi1vbi1yZWZyZXNoLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5l
LWV2ZW50LWRpc3BhdGNoLmh0bWwKKyAgICAgICAgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzA5NgorCisgICAgICAgICogQXBpL3F3ZWJmcmFtZS5j
cHA6CisgICAgICAgIChxdF9kcnRfc2V0VGltZWxpbmVQcm9maWxpbmdFbmFibGVkKToKKyAgICAg
ICAgKiBBcGkvcXdlYnBhZ2UuY3BwOgorICAgICAgICAocXRfZHJ0X3dlYmluc3BlY3Rvcl9leGVj
dXRlX3NjcmlwdCk6CisKIDIwMDktMTItMzAgIExhc3psbyBHb21ib3MgIDxsYXN6bG8uMS5nb21i
b3NAbm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5uLgpkaWZm
IC0tZ2l0IGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmlu
ZGV4IDM3YmM0MjcuLjZlMjM0MWYgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZwor
KysgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MyBAQAorMjAxMC0wMS0wMSAg
Um9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHJvYmVydGhvZ2FuLm5ldD4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIERSVDogU3VwcG9ydCBldmFsdWF0
ZUluV2ViSW5zcGVjdG9yKCksIHNldFRpbWVyUHJvZmlsaW5nRW5hYmxlZCgpIGFuZCBkaXNwbGF5
KCkuCisgICAgICAgIAorICAgICAgICBTdXBwb3J0IExheW91dFRlc3RDb250cm9sbGVyLmV2YWx1
YXRlSW5XZWJJbnNwZWN0b3IoKSwgc2V0VGltZXJQcm9maWxpaW5nRW5hYmxlZCgpCisgICAgICAg
IGFuZCBkaXNwbGF5KCkgaW4gUXQgRFJULgorICAgICAgICAKKyAgICAgICAgVGhpcyBhbGxvd3Mg
dGhlIGZvbGxvd2luZyB0ZXN0cyB0byBwYXNzOgorICAgICAgICAKKyAgICAgICAgaW5zcGVjdG9y
L2V2YWx1YXRlLWluLWZyb250ZW5kLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2VsZW1lbnRzLXBh
bmVsLXN0cnVjdHVyZS5odG1sCisgICAgICAgIGluc3BlY3Rvci9zdHlsZXMtaWZyYW1lLmh0bWwK
KyAgICAgICAgaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQtY3NzLmh0bWwKKyAgICAgICAgaW5z
cGVjdG9yL3N5bnRheC1oaWdobGlnaHQtamF2YXNjcmlwdC5odG1sCisgICAgICAgIGluc3BlY3Rv
ci90aW1lbGluZS1lbnVtLXN0YWJpbGl0eS5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGlu
ZS1sYXlvdXQuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtbWFyay10aW1lbGluZS5o
dG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1wYWludC5odG1sCisgICAgICAgIGluc3Bl
Y3Rvci90aW1lbGluZS1wYXJzZS1odG1sLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5l
LXJlY2FsY3VsYXRlLXN0eWxlcy5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1zY3Jp
cHQtdGFnLTEuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtc2NyaXB0LXRhZy0yLmh0
bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLXRyaXZpYWwuaHRtbAorICAgICAgICBpbnNw
ZWN0b3IvY29va2llLXJlc291cmNlLW1hdGNoLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2VsZW1l
bnRzLWltZy10b29sdGlwLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2VsZW1lbnRzLXBhbmVsLXNl
bGVjdGlvbi1vbi1yZWZyZXNoLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLWV2ZW50
LWRpc3BhdGNoLmh0bWwKKyAgICAgICAgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0zMzA5NgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvRHVt
cFJlbmRlclRyZWVRdC5oOgorICAgICAgICAoV2ViQ29yZTo6RHVtcFJlbmRlclRyZWU6OmRpc3Bs
YXkpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQu
Y3BwOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OmV2YWx1YXRlSW5XZWJJbnNwZWN0
b3IpOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFRpbWVsaW5lUHJvZmlsaW5n
RW5hYmxlZCk6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZGlzcGxheSk6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oOgorCiAyMDA5
LTEyLTMxICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgRXJpYyBTZWlkZWwuCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9E
dW1wUmVuZGVyVHJlZVF0LmgKaW5kZXggY2FlZTUyZC4uMGI5ZDZhNyAxMDA2NDQKLS0tIGEvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5oCisrKyBiL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuaApAQCAtNzksNiArNzks
NyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNldER1bXBQaXhlbHMoYm9vbCk7CiAKKyAgICB2b2lk
IGRpc3BsYXkoKSB7IG1fbWFpblZpZXctPnNob3coKTsgfQogICAgIHZvaWQgY2xvc2VSZW1haW5p
bmdXaW5kb3dzKCk7CiAgICAgdm9pZCByZXNldFRvQ29uc2lzdGVudFN0YXRlQmVmb3JlVGVzdGlu
ZygpOwogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRU
ZXN0Q29udHJvbGxlclF0LmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91
dFRlc3RDb250cm9sbGVyUXQuY3BwCmluZGV4IGFkY2RiY2EuLmQyOGE1NGUgMTAwNjQ0Ci0tLSBh
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3Bw
CisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVy
UXQuY3BwCkBAIC0zOCw2ICszOCw3IEBACiBleHRlcm4gdm9pZCBxdF9kdW1wX2VkaXRpbmdfY2Fs
bGJhY2tzKGJvb2wgYik7CiBleHRlcm4gdm9pZCBxdF9kdW1wX3Jlc291cmNlX2xvYWRfY2FsbGJh
Y2tzKGJvb2wgYik7CiBleHRlcm4gdm9pZCBxdF9kcnRfc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0Vu
YWJsZWQoUVdlYkZyYW1lKiwgYm9vbCBlbmFibGVkKTsKK2V4dGVybiB2b2lkIHF0X2RydF9zZXRU
aW1lbGluZVByb2ZpbGluZ0VuYWJsZWQoUVdlYkZyYW1lKiwgYm9vbCBlbmFibGVkKTsKIGV4dGVy
biBib29sIHF0X2RydF9wYXVzZUFuaW1hdGlvbihRV2ViRnJhbWUqLCBjb25zdCBRU3RyaW5nJiBu
YW1lLCBkb3VibGUgdGltZSwgY29uc3QgUVN0cmluZyYgZWxlbWVudElkKTsKIGV4dGVybiBib29s
IHF0X2RydF9wYXVzZVRyYW5zaXRpb25PZlByb3BlcnR5KFFXZWJGcmFtZSosIGNvbnN0IFFTdHJp
bmcmIG5hbWUsIGRvdWJsZSB0aW1lLCBjb25zdCBRU3RyaW5nJiBlbGVtZW50SWQpOwogZXh0ZXJu
IGJvb2wgcXRfZHJ0X3BhdXNlU1ZHQW5pbWF0aW9uKFFXZWJGcmFtZSosIGNvbnN0IFFTdHJpbmcm
IGFuaW1hdGlvbklkLCBkb3VibGUgdGltZSwgY29uc3QgUVN0cmluZyYgZWxlbWVudElkKTsKQEAg
LTQ1LDYgKzQ2LDcgQEAgZXh0ZXJuIGludCBxdF9kcnRfbnVtYmVyT2ZBY3RpdmVBbmltYXRpb25z
KFFXZWJGcmFtZSopOwogCiBleHRlcm4gdm9pZCBxdF9kcnRfd2hpdGVMaXN0QWNjZXNzRnJvbU9y
aWdpbihjb25zdCBRU3RyaW5nJiBzb3VyY2VPcmlnaW4sIGNvbnN0IFFTdHJpbmcmIGRlc3RpbmF0
aW9uUHJvdG9jb2wsIGNvbnN0IFFTdHJpbmcmIGRlc3RpbmF0aW9uSG9zdCwgYm9vbCBhbGxvd0Rl
c3RpbmF0aW9uU3ViZG9tYWlucyk7CiBleHRlcm4gUVN0cmluZyBxdF9kcnRfY291bnRlclZhbHVl
Rm9yRWxlbWVudEJ5SWQoUVdlYkZyYW1lKiBxRnJhbWUsIGNvbnN0IFFTdHJpbmcmIGlkKTsKK2V4
dGVybiB2b2lkIHF0X2RydF93ZWJpbnNwZWN0b3JfZXhlY3V0ZV9zY3JpcHQoUVdlYlBhZ2UqIHBh
Z2UsIGxvbmcgY2FsbElkLCBjb25zdCBRU3RyaW5nJiBzY3JpcHQpOwogCiBMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6TGF5b3V0VGVzdENvbnRyb2xsZXIoV2ViQ29yZTo6RHVtcFJlbmRlclRyZWUqIGRy
dCkKICAgICA6IFFPYmplY3QoKQpAQCAtMjUwLDYgKzI1MiwxMyBAQCB2b2lkIExheW91dFRlc3RD
b250cm9sbGVyOjpzaG93V2ViSW5zcGVjdG9yKCkKICAgICBtX2RydC0+d2ViUGFnZSgpLT53ZWJJ
bnNwZWN0b3IoKS0+c2hvdygpOwogfQogCit2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpldmFs
dWF0ZUluV2ViSW5zcGVjdG9yKGxvbmcgY2FsbElkLCBjb25zdCBRU3RyaW5nICZzY3JpcHQpCit7
CisgICAgaWYgKG1fZHJ0LT53ZWJQYWdlKCktPndlYkluc3BlY3RvcigpLT5pc0hpZGRlbigpKQor
ICAgICAgICBzaG93V2ViSW5zcGVjdG9yKCk7CisgICAgcXRfZHJ0X3dlYmluc3BlY3Rvcl9leGVj
dXRlX3NjcmlwdChtX2RydC0+d2ViUGFnZSgpLCBjYWxsSWQsIHNjcmlwdCk7Cit9CisKIHZvaWQg
TGF5b3V0VGVzdENvbnRyb2xsZXI6OmhpZGVXZWJJbnNwZWN0b3IoKQogewogICAgIG1fZHJ0LT53
ZWJQYWdlKCktPndlYkluc3BlY3RvcigpLT5oaWRlKCk7CkBAIC0yNjYsNiArMjc1LDEyIEBAIHZv
aWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKGJv
b2wgZW5hYmxlKQogICAgIHF0X2RydF9zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZChtX3Rv
cExvYWRpbmdGcmFtZSwgZW5hYmxlKTsKIH0KIAordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6
c2V0VGltZWxpbmVQcm9maWxpbmdFbmFibGVkKGJvb2wgZW5hYmxlKQoreworICAgIG1fdG9wTG9h
ZGluZ0ZyYW1lLT5wYWdlKCktPnNldHRpbmdzKCktPnNldEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6
OkRldmVsb3BlckV4dHJhc0VuYWJsZWQsIHRydWUpOworICAgIHF0X2RydF9zZXRUaW1lbGluZVBy
b2ZpbGluZ0VuYWJsZWQobV90b3BMb2FkaW5nRnJhbWUsIGVuYWJsZSk7Cit9CisKIHZvaWQgTGF5
b3V0VGVzdENvbnRyb2xsZXI6OnNldEZpeGVkQ29udGVudHNTaXplKGludCB3aWR0aCwgaW50IGhl
aWdodCkKIHsKICAgICBtX3RvcExvYWRpbmdGcmFtZS0+cGFnZSgpLT5zZXRQcmVmZXJyZWRDb250
ZW50c1NpemUoUVNpemUod2lkdGgsIGhlaWdodCkpOwpAQCAtMzgwLDMgKzM5NSw4IEBAIHZvaWQg
TGF5b3V0VGVzdENvbnRyb2xsZXI6Om92ZXJyaWRlUHJlZmVyZW5jZShjb25zdCBRU3RyaW5nJiBu
YW1lLCBjb25zdCBRVmFyaWFuCiAgICAgZWxzZSBpZiAobmFtZSA9PSAiV2ViS2l0VXNlc1BhZ2VD
YWNoZVByZWZlcmVuY2VLZXkiKQogICAgICAgICBRV2ViU2V0dGluZ3M6OnNldE1heGltdW1QYWdl
c0luQ2FjaGUodmFsdWUudG9JbnQoKSk7CiB9CisKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6
OmRpc3BsYXkoKQoreworICAgIG1fZHJ0LT5kaXNwbGF5KCk7Cit9CmRpZmYgLS1naXQgYS9XZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmggYi9XZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmgKaW5kZXgg
MTkxM2Q3Yy4uN2NlYjQxMCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
cXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaApAQCAtOTcsNyArOTcsNyBAQCBwdWJsaWMg
c2xvdHM6CiAgICAgdm9pZCBwcm92aXNpb25hbExvYWQoKTsKICAgICB2b2lkIHNldENsb3NlUmVt
YWluaW5nV2luZG93c1doZW5Db21wbGV0ZShib29sID0gZmFsc2UpIHt9CiAgICAgaW50IHdpbmRv
d0NvdW50KCk7Ci0gICAgdm9pZCBkaXNwbGF5KCkge30KKyAgICB2b2lkIGRpc3BsYXkoKTsKICAg
ICB2b2lkIGNsZWFyQmFja0ZvcndhcmRMaXN0KCk7CiAgICAgUVN0cmluZyBwYXRoVG9Mb2NhbFJl
c291cmNlKGNvbnN0IFFTdHJpbmcmIHVybCk7CiAgICAgdm9pZCBkdW1wVGl0bGVDaGFuZ2VzKCkg
eyBtX2R1bXBUaXRsZUNoYW5nZXMgPSB0cnVlOyB9CkBAIC0xMDYsOCArMTA2LDEwIEBAIHB1Ymxp
YyBzbG90czoKICAgICB2b2lkIGR1bXBTZWxlY3Rpb25SZWN0KCkgY29uc3Qge30KICAgICB2b2lk
IHNob3dXZWJJbnNwZWN0b3IoKTsKICAgICB2b2lkIGhpZGVXZWJJbnNwZWN0b3IoKTsKKyAgICB2
b2lkIGV2YWx1YXRlSW5XZWJJbnNwZWN0b3IobG9uZyBjYWxsSWQsIGNvbnN0IFFTdHJpbmcgJnNj
cmlwdCk7CiAgICAgdm9pZCBzZXRBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMcyhib29s
IGVuYWJsZSk7CiAgICAgdm9pZCBzZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZChib29sIGVu
YWJsZSk7CisgICAgdm9pZCBzZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWQoYm9vbCBlbmFibGUp
OwogICAgIHZvaWQgc2V0Rml4ZWRDb250ZW50c1NpemUoaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsK
ICAgICB2b2lkIHNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoYm9vbCBlbmFibGUpOwogICAgIHZv
aWQgc2V0UG9wdXBCbG9ja2luZ0VuYWJsZWQoYm9vbCBlbmFibGUpOwotLSAKMS42LjMuMwoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46490</attachid>
            <date>2010-01-13 12:47:37 -0800</date>
            <delta_ts>2010-01-13 14:36:31 -0800</delta_ts>
            <desc>Updated Patch</desc>
            <filename>0001-Qt-DRT-Support-evaluateInWebInspector-setTimerProfil.patch</filename>
            <type>text/plain</type>
            <size>19335</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">RnJvbSA4NTRjZmZjYTViY2Y2MTE0MmEwMWExNWQwMzliYzMyOTY3MDEzNjZiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnQgSG9nYW4gPHJvYmVydEByb2JlcnRob2dhbi5uZXQ+
CkRhdGU6IEZyaSwgMSBKYW4gMjAxMCAxODo0NTo1NyArMDAwMApTdWJqZWN0OiBbUEFUQ0hdIFtR
dF0gRFJUOiBTdXBwb3J0IGV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoKSwgc2V0VGltZXJQcm9maWxp
bmdFbmFibGVkKCkgYW5kIGRpc3BsYXkoKS4KClN1cHBvcnQgTGF5b3V0VGVzdENvbnRyb2xsZXIu
ZXZhbHVhdGVJbldlYkluc3BlY3RvcigpLCBzZXRUaW1lclByb2ZpbGlpbmdFbmFibGVkKCkKYW5k
IGRpc3BsYXkoKSBpbiBRdCBEUlQuCgpUaGlzIGFsbG93cyB0aGUgZm9sbG93aW5nIHRlc3RzIHRv
IHBhc3M6CgppbnNwZWN0b3IvZXZhbHVhdGUtaW4tZnJvbnRlbmQuaHRtbAppbnNwZWN0b3IvZWxl
bWVudHMtcGFuZWwtc3RydWN0dXJlLmh0bWwKaW5zcGVjdG9yL3N0eWxlcy1pZnJhbWUuaHRtbApp
bnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1jc3MuaHRtbAppbnNwZWN0b3Ivc3ludGF4LWhpZ2hs
aWdodC1qYXZhc2NyaXB0Lmh0bWwKaW5zcGVjdG9yL3RpbWVsaW5lLWVudW0tc3RhYmlsaXR5Lmh0
bWwKaW5zcGVjdG9yL3RpbWVsaW5lLWxheW91dC5odG1sCmluc3BlY3Rvci90aW1lbGluZS1tYXJr
LXRpbWVsaW5lLmh0bWwKaW5zcGVjdG9yL3RpbWVsaW5lLXBhaW50Lmh0bWwKaW5zcGVjdG9yL3Rp
bWVsaW5lLXBhcnNlLWh0bWwuaHRtbAppbnNwZWN0b3IvdGltZWxpbmUtcmVjYWxjdWxhdGUtc3R5
bGVzLmh0bWwKaW5zcGVjdG9yL3RpbWVsaW5lLXNjcmlwdC10YWctMS5odG1sCmluc3BlY3Rvci90
aW1lbGluZS1zY3JpcHQtdGFnLTIuaHRtbAppbnNwZWN0b3IvdGltZWxpbmUtdHJpdmlhbC5odG1s
Cmluc3BlY3Rvci9jb29raWUtcmVzb3VyY2UtbWF0Y2guaHRtbAppbnNwZWN0b3IvZWxlbWVudHMt
aW1nLXRvb2x0aXAuaHRtbAppbnNwZWN0b3IvZWxlbWVudHMtcGFuZWwtc2VsZWN0aW9uLW9uLXJl
ZnJlc2guaHRtbAppbnNwZWN0b3IvdGltZWxpbmUtZXZlbnQtZGlzcGF0Y2guaHRtbAoKaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMzMDk2Ci0tLQogTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDM0ICsrKysrKysrKysr
KysrCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkICAgICAgICAgICAgICAgICAgICB8
ICAgMzEgKy0tLS0tLS0tLS0tLQogV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgIDMyICsrKysrKysrKysrKysKIFdlYktpdC9xdC9DaGFuZ2VMb2cg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAzOCArKysrKysrKysrKysrKysrCiBX
ZWJLaXRUb29scy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNDcg
KysrKysrKysrKysrKysrKysrKysKIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBS
ZW5kZXJUcmVlUXQuY3BwIHwgICAxOCArKysrKysrLQogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5oICAgfCAgICAyICsKIC4uLi9EdW1wUmVuZGVyVHJlZS9x
dC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcCAgIHwgICAxOSArKysrKysrLQogLi4uL0R1bXBS
ZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaCAgICAgfCAgICA1ICstCiA5IGZp
bGVzIGNoYW5nZWQsIDE5MiBpbnNlcnRpb25zKCspLCAzNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
YjUwYzdlOC4uOTE2N2UyYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEwLTAxLTEzICBSb2Jl
cnQgSG9nYW4gIDxyb2JlcnRAcm9iZXJ0aG9nYW4ubmV0PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gRFJUOiBTdXBwb3J0IGV2YWx1YXRlSW5X
ZWJJbnNwZWN0b3IoKSwgc2V0VGltZXJQcm9maWxpbmdFbmFibGVkKCkgYW5kIGRpc3BsYXkoKS4K
KyAgICAgICAgCisgICAgICAgIFN1cHBvcnQgTGF5b3V0VGVzdENvbnRyb2xsZXIuZXZhbHVhdGVJ
bldlYkluc3BlY3RvcigpLCBzZXRUaW1lclByb2ZpbGlpbmdFbmFibGVkKCkKKyAgICAgICAgYW5k
IGRpc3BsYXkoKSBpbiBRdCBEUlQuCisgICAgICAgIAorICAgICAgICBUaGlzIGFsbG93cyB0aGUg
Zm9sbG93aW5nIHRlc3RzIHRvIHBhc3M6CisgICAgICAgIAorICAgICAgICBpbnNwZWN0b3IvZXZh
bHVhdGUtaW4tZnJvbnRlbmQuaHRtbAorICAgICAgICBpbnNwZWN0b3IvZWxlbWVudHMtcGFuZWwt
c3RydWN0dXJlLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3N0eWxlcy1pZnJhbWUuaHRtbAorICAg
ICAgICBpbnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1jc3MuaHRtbAorICAgICAgICBpbnNwZWN0
b3Ivc3ludGF4LWhpZ2hsaWdodC1qYXZhc2NyaXB0Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3Rp
bWVsaW5lLWVudW0tc3RhYmlsaXR5Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLWxh
eW91dC5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1tYXJrLXRpbWVsaW5lLmh0bWwK
KyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLXBhaW50Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9y
L3RpbWVsaW5lLXBhcnNlLWh0bWwuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtcmVj
YWxjdWxhdGUtc3R5bGVzLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLXNjcmlwdC10
YWctMS5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1zY3JpcHQtdGFnLTIuaHRtbAor
ICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtdHJpdmlhbC5odG1sCisgICAgICAgIGluc3BlY3Rv
ci9jb29raWUtcmVzb3VyY2UtbWF0Y2guaHRtbAorICAgICAgICBpbnNwZWN0b3IvZWxlbWVudHMt
aW1nLXRvb2x0aXAuaHRtbAorICAgICAgICBpbnNwZWN0b3IvZWxlbWVudHMtcGFuZWwtc2VsZWN0
aW9uLW9uLXJlZnJlc2guaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtZXZlbnQtZGlz
cGF0Y2guaHRtbAorICAgICAgICAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTMzMDk2CisKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9Ta2lwcGVkOgorCiAy
MDEwLTAxLTEzICBGdW1pdG9zaGkgVWthaSAgPHVrYWlAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFVucmV2aWV3ZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVk
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAppbmRleCA1Y2QwNDUzLi43MDc2ZmU1
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKQEAgLTE0NiwyMSArMTQ2LDYgQEAgaHR0cC90ZXN0
cy9zZWN1cml0eS9sb2NhbC12aWRlby1zb3VyY2UtZnJvbS1yZW1vdGUuaHRtbAogIyAgICAgICAg
ICAgIE1pc3NpbmcgZmVhdHVyZXMgaW4gb3VyIER1bXBSZW5kZXJUcmVlIGltcGxlbWVudGF0aW9u
ICAgICAgICAgICAgICAjCiAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICMKIAotIyBNaXNzaW5nIGxh
eW91dFRlc3RDb250cm9sbGVyLnNob3dXZWJJbnNwZWN0b3IoKQotaW5zcGVjdG9yL2NvbnNvbGUt
Zm9ybWF0LWNvbGxlY3Rpb25zLmh0bWwKLWluc3BlY3Rvci9zdHlsZXMtaWZyYW1lLmh0bWwKLWlu
c3BlY3Rvci9zeW50YXgtaGlnaGxpZ2h0LWNzcy5odG1sCi1pbnNwZWN0b3Ivc3ludGF4LWhpZ2hs
aWdodC1qYXZhc2NyaXB0Lmh0bWwKLWluc3BlY3Rvci90aW1lbGluZS1lbnVtLXN0YWJpbGl0eS5o
dG1sCi1pbnNwZWN0b3IvdGltZWxpbmUtbGF5b3V0Lmh0bWwKLWluc3BlY3Rvci90aW1lbGluZS1t
YXJrLXRpbWVsaW5lLmh0bWwKLWluc3BlY3Rvci90aW1lbGluZS1wYWludC5odG1sCi1pbnNwZWN0
b3IvdGltZWxpbmUtcGFyc2UtaHRtbC5odG1sCi1pbnNwZWN0b3IvdGltZWxpbmUtcmVjYWxjdWxh
dGUtc3R5bGVzLmh0bWwKLWluc3BlY3Rvci90aW1lbGluZS1zY3JpcHQtdGFnLTEuaHRtbAotaW5z
cGVjdG9yL3RpbWVsaW5lLXNjcmlwdC10YWctMi5odG1sCi1pbnNwZWN0b3IvdGltZWxpbmUtdHJp
dmlhbC5odG1sCi0KICMgTWlzc2luZyB0ZXh0SW5wdXRDb250cm9sbGVyLnNlbGVjdGVkUmFuZ2Uo
KQogZWRpdGluZy9zZWxlY3Rpb24vNTgyNTM1MC0xLmh0bWwKIGVkaXRpbmcvc2VsZWN0aW9uLzU4
MjUzNTAtMi5odG1sCkBAIC0yMDcsMTUgKzE5Miw2IEBAIGh0dHAvdGVzdHMvY2FjaGUvc3VicmVz
b3VyY2UtZmFpbG92ZXItdG8tbmV0d29yay5odG1sCiAjIE1pc3NpbmcgbGF5b3V0VGVzdENvbnRy
b2xsZXIuc2V0VXNlclN0eWxlU2hlZXRMb2NhdGlvbigpIGFuZCBsYXlvdXRUZXN0Q29udHJvbGxl
ci5zZXRVc2VyU3R5bGVTaGVldEVuYWJsZWQoKQogaHR0cC90ZXN0cy9zZWN1cml0eS9sb2NhbC11
c2VyLUNTUy1mcm9tLXJlbW90ZS5odG1sCiAKLSMgTWlzc2luZyBsYXlvdXRUZXN0Q29udHJvbGxl
ci5ldmFsdWF0ZUluV2ViSW5zcGVjdG9yKCkKLSMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTMzMDk2Ci1pbnNwZWN0b3IvY29va2llLXJlc291cmNlLW1hdGNoLmh0bWwK
LWluc3BlY3Rvci9lbGVtZW50cy1pbWctdG9vbHRpcC5odG1sCi1pbnNwZWN0b3IvZWxlbWVudHMt
cGFuZWwtc2VsZWN0aW9uLW9uLXJlZnJlc2guaHRtbAotaW5zcGVjdG9yL3RpbWVsaW5lLWV2ZW50
LWRpc3BhdGNoLmh0bWwKLWluc3BlY3Rvci90aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLmh0bWwK
LWluc3BlY3Rvci9lbGVtZW50cy1wYW5lbC1yZXdyaXRlLWhyZWYuaHRtbAotCiAjIE1pc3Npbmcg
bGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0U21hcnRJbnNlcnREZWxldGVFbmFibGVkKCkKIGVkaXRp
bmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLWJlc2lkZS1jci1zcGFuLmh0bWwKICMgPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0gIwpAQCAtNDg0MywxMyArNDgxOSwxMyBAQCBmYXN0L2RvbS9XaW5kb3cvc2xv
d191bmxvYWRfaGFuZGxlci5odG1sCiAjIFRoaXMgcG9ydCBkb2Vzbid0IGhhdmUgYSBnbG9iYWwg
aGlzdG9yeSBkZWxlZ2F0ZSB5ZXQKIGh0dHAvdGVzdHMvZ2xvYmFsaGlzdG9yeQogCi0jIFNraXAg
aW5zcGVjdG9yIHRlc3RzCisjIEZhaWwgYmVjYXVzZSBmdWxsIGZpbGU6Ly8gVVJMIGlzIHJldHVy
bmVkIGluIGNvbnNvbGUgbWVzc2FnZS4KIGluc3BlY3Rvci9jb25zb2xlLWRpci5odG1sCiBpbnNw
ZWN0b3IvY29uc29sZS1kaXJ4bWwuaHRtbAogaW5zcGVjdG9yL2NvbnNvbGUtZm9ybWF0Lmh0bWwK
IGluc3BlY3Rvci9jb25zb2xlLXRlc3RzLmh0bWwKLWluc3BlY3Rvci9lbGVtZW50cy1wYW5lbC1z
dHJ1Y3R1cmUuaHRtbAotaW5zcGVjdG9yL2V2YWx1YXRlLWluLWZyb250ZW5kLmh0bWwKK2luc3Bl
Y3Rvci9jb25zb2xlLWNsZWFyLmh0bWwKK2luc3BlY3Rvci9jb25zb2xlLWZvcm1hdC1jb2xsZWN0
aW9ucy5odG1sCiAKICMgU2tpcCB4bWxodHRwcmVxdWVzdCB0ZXN0cyAtIE5FVFdPUktfRVJSOiBY
TUxIdHRwUmVxdWVzdCBFeGNlcHRpb24gMTAxOiBBIG5ldHdvcmsgZXJyb3Igb2NjdXJlZCBpbiBz
eW5jaHJvbm91cyByZXF1ZXN0cy4KIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvYWNjZXNzLWNv
bnRyb2wtYmFzaWMtYWxsb3ctcHJlZmxpZ2h0LWNhY2hlLmh0bWwKQEAgLTUwMjIsNyArNDk5OCw2
IEBAIGZhc3QvZG9tL0RvY3VtZW50L2Vhcmx5LWRvY3VtZW50LWFjY2Vzcy5odG1sCiBmYXN0L2Rv
bS9XaW5kb3cvd2luZG93LWVhcmx5LXByb3BlcnRpZXMuaHRtbAogZmFzdC9ldmVudHMvb3Blbi13
aW5kb3ctZnJvbS1hbm90aGVyLWZyYW1lLmh0bWwKIGZhc3QvZXZlbnRzL3BvcHVwLWJsb2NraW5n
LWNsaWNrLWluLWlmcmFtZS5odG1sCi1pbnNwZWN0b3IvY29uc29sZS1jbGVhci5odG1sCiBodHRw
L3Rlc3RzL21pc2Mvc2V0LXdpbmRvdy1vcGVuZXItdG8tbnVsbC5odG1sCiBodHRwL3Rlc3RzL3Nl
Y3VyaXR5L2Fib3V0QmxhbmsveHNzLURFTklFRC1zZXQtb3BlbmVyLmh0bWwKIGh0dHAvdGVzdHMv
c2VjdXJpdHkvZGF0YVVSTC94c3MtREVOSUVELWZyb20tZGF0YS11cmwtaW4tZm9yZWlnbi1kb21h
aW4td2luZG93LW9wZW4uaHRtbApkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5j
cHAgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAppbmRleCAyMTQ3ZWFiLi40MWViN2JiIDEw
MDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAorKysgYi9XZWJLaXQvcXQvQXBp
L3F3ZWJwYWdlLmNwcApAQCAtMTQ1LDYgKzE0NSwzOCBAQCBRU3RyaW5nIFFXRUJLSVRfRVhQT1JU
IHF0X3dlYnBhZ2VfZ3JvdXBOYW1lKFFXZWJQYWdlKiBwYWdlKQogICAgIHJldHVybiBwYWdlLT5o
YW5kbGUoKS0+cGFnZS0+Z3JvdXBOYW1lKCk7CiB9CiAKK3ZvaWQgUVdFQktJVF9FWFBPUlQgcXRf
ZHJ0X3dlYmluc3BlY3Rvcl9leGVjdXRlX3NjcmlwdChRV2ViUGFnZSAqcGFnZSwgbG9uZyBjYWxs
SWQsIGNvbnN0IFFTdHJpbmcgJnNjcmlwdCkKK3sKKyAgICBpZiAoIXBhZ2UtPmhhbmRsZSgpLT5w
YWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCkpCisgICAgICAgIHJldHVybjsKKyAgICBwYWdlLT5o
YW5kbGUoKS0+cGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5ldmFsdWF0ZUZvclRlc3RJbkZy
b250ZW5kKGNhbGxJZCwgc2NyaXB0KTsKK30KKwordm9pZCBRV0VCS0lUX0VYUE9SVCBxdF9kcnRf
d2ViaW5zcGVjdG9yX2Nsb3NlKFFXZWJQYWdlICpwYWdlKQoreworICAgIGlmICghcGFnZS0+aGFu
ZGxlKCktPnBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKSkKKyAgICAgICAgcmV0dXJuOworICAg
IHBhZ2UtPmhhbmRsZSgpLT5wYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPmNsb3NlKCk7Cit9
CisKK3ZvaWQgUVdFQktJVF9FWFBPUlQgcXRfZHJ0X3dlYmluc3BlY3Rvcl9zaG93KFFXZWJQYWdl
ICpwYWdlKQoreworICAgIGlmICghcGFnZS0+aGFuZGxlKCktPnBhZ2UtPmluc3BlY3RvckNvbnRy
b2xsZXIoKSkKKyAgICAgICAgcmV0dXJuOworICAgIHBhZ2UtPmhhbmRsZSgpLT5wYWdlLT5pbnNw
ZWN0b3JDb250cm9sbGVyKCktPnNob3coKTsKK30KKwordm9pZCBRV0VCS0lUX0VYUE9SVCBxdF9k
cnRfc2V0VGltZWxpbmVQcm9maWxpbmdFbmFibGVkKFFXZWJQYWdlKiBwYWdlLCBib29sIGVuYWJs
ZWQpCit7CisgICAgSW5zcGVjdG9yQ29udHJvbGxlciogY29udHJvbGxlciA9IHBhZ2UtPmhhbmRs
ZSgpLT5wYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCk7CisgICAgaWYgKCFjb250cm9sbGVyKQor
ICAgICAgICByZXR1cm47CisgICAgaWYgKGVuYWJsZWQpCisgICAgICAgIGNvbnRyb2xsZXItPnN0
YXJ0VGltZWxpbmVQcm9maWxlcigpOworICAgIGVsc2UKKyAgICAgICAgY29udHJvbGxlci0+c3Rv
cFRpbWVsaW5lUHJvZmlsZXIoKTsKK30KKwogY2xhc3MgUVdlYlBhZ2VXaWRnZXRDbGllbnQgOiBw
dWJsaWMgUVdlYlBhZ2VDbGllbnQgewogcHVibGljOgogICAgIFFXZWJQYWdlV2lkZ2V0Q2xpZW50
KFFXaWRnZXQqIHZpZXcpCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvV2ViS2l0
L3F0L0NoYW5nZUxvZwppbmRleCBhNTczM2RhLi4xYzJjNGQ3IDEwMDY0NAotLS0gYS9XZWJLaXQv
cXQvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MSBAQAor
MjAxMC0wMS0xMyAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHJvYmVydGhvZ2FuLm5ldD4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIERSVDogU3Vw
cG9ydCBldmFsdWF0ZUluV2ViSW5zcGVjdG9yKCksIHNldFRpbWVyUHJvZmlsaW5nRW5hYmxlZCgp
IGFuZCBkaXNwbGF5KCkuCisgICAgICAgIAorICAgICAgICBTdXBwb3J0IExheW91dFRlc3RDb250
cm9sbGVyLmV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoKSwgc2V0VGltZXJQcm9maWxpaW5nRW5hYmxl
ZCgpCisgICAgICAgIGFuZCBkaXNwbGF5KCkgaW4gUXQgRFJULgorICAgICAgICAKKyAgICAgICAg
VGhpcyBhbGxvd3MgdGhlIGZvbGxvd2luZyB0ZXN0cyB0byBwYXNzOgorICAgICAgICAKKyAgICAg
ICAgaW5zcGVjdG9yL2V2YWx1YXRlLWluLWZyb250ZW5kLmh0bWwKKyAgICAgICAgaW5zcGVjdG9y
L2VsZW1lbnRzLXBhbmVsLXN0cnVjdHVyZS5odG1sCisgICAgICAgIGluc3BlY3Rvci9zdHlsZXMt
aWZyYW1lLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQtY3NzLmh0bWwK
KyAgICAgICAgaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQtamF2YXNjcmlwdC5odG1sCisgICAg
ICAgIGluc3BlY3Rvci90aW1lbGluZS1lbnVtLXN0YWJpbGl0eS5odG1sCisgICAgICAgIGluc3Bl
Y3Rvci90aW1lbGluZS1sYXlvdXQuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtbWFy
ay10aW1lbGluZS5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1wYWludC5odG1sCisg
ICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1wYXJzZS1odG1sLmh0bWwKKyAgICAgICAgaW5zcGVj
dG9yL3RpbWVsaW5lLXJlY2FsY3VsYXRlLXN0eWxlcy5odG1sCisgICAgICAgIGluc3BlY3Rvci90
aW1lbGluZS1zY3JpcHQtdGFnLTEuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtc2Ny
aXB0LXRhZy0yLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLXRyaXZpYWwuaHRtbAor
ICAgICAgICBpbnNwZWN0b3IvY29va2llLXJlc291cmNlLW1hdGNoLmh0bWwKKyAgICAgICAgaW5z
cGVjdG9yL2VsZW1lbnRzLWltZy10b29sdGlwLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2VsZW1l
bnRzLXBhbmVsLXNlbGVjdGlvbi1vbi1yZWZyZXNoLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3Rp
bWVsaW5lLWV2ZW50LWRpc3BhdGNoLmh0bWwKKyAgICAgICAgCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzA5NgorCisgICAgICAgICogQXBpL3F3ZWJw
YWdlLmNwcDoKKyAgICAgICAgKHF0X2RydF93ZWJpbnNwZWN0b3JfZXhlY3V0ZV9zY3JpcHQpOgor
ICAgICAgICAocXRfZHJ0X3dlYmluc3BlY3Rvcl9jbG9zZSk6CisgICAgICAgIChxdF9kcnRfc2V0
VGltZWxpbmVQcm9maWxpbmdFbmFibGVkKToKKyAgICAgICAgKHF0X2RydF93ZWJpbnNwZWN0b3Jf
c2hvdyk6CisKIDIwMTAtMDEtMTEgIFNpbW9uIEhhdXNtYW5uICA8c2ltb24uaGF1c21hbm5Abm9r
aWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEhvbGdlciBGcmV5dGhlci4KZGlmZiAtLWdp
dCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwppbmRleCA4
NTMxM2EzLi5iNDg3MzMwIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cKKysrIGIv
V2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTAgQEAKKzIwMTAtMDEtMTMgIFJvYmVy
dCBIb2dhbiAgPHJvYmVydEByb2JlcnRob2dhbi5uZXQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBEUlQ6IFN1cHBvcnQgZXZhbHVhdGVJbldl
Ykluc3BlY3RvcigpLCBzZXRUaW1lclByb2ZpbGluZ0VuYWJsZWQoKSBhbmQgZGlzcGxheSgpLgor
ICAgICAgICAKKyAgICAgICAgU3VwcG9ydCBMYXlvdXRUZXN0Q29udHJvbGxlci5ldmFsdWF0ZUlu
V2ViSW5zcGVjdG9yKCksIHNldFRpbWVyUHJvZmlsaWluZ0VuYWJsZWQoKQorICAgICAgICBhbmQg
ZGlzcGxheSgpIGluIFF0IERSVC4KKyAgICAgICAgCisgICAgICAgIFRoaXMgYWxsb3dzIHRoZSBm
b2xsb3dpbmcgdGVzdHMgdG8gcGFzczoKKyAgICAgICAgCisgICAgICAgIGluc3BlY3Rvci9ldmFs
dWF0ZS1pbi1mcm9udGVuZC5odG1sCisgICAgICAgIGluc3BlY3Rvci9lbGVtZW50cy1wYW5lbC1z
dHJ1Y3R1cmUuaHRtbAorICAgICAgICBpbnNwZWN0b3Ivc3R5bGVzLWlmcmFtZS5odG1sCisgICAg
ICAgIGluc3BlY3Rvci9zeW50YXgtaGlnaGxpZ2h0LWNzcy5odG1sCisgICAgICAgIGluc3BlY3Rv
ci9zeW50YXgtaGlnaGxpZ2h0LWphdmFzY3JpcHQuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGlt
ZWxpbmUtZW51bS1zdGFiaWxpdHkuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtbGF5
b3V0Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLW1hcmstdGltZWxpbmUuaHRtbAor
ICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtcGFpbnQuaHRtbAorICAgICAgICBpbnNwZWN0b3Iv
dGltZWxpbmUtcGFyc2UtaHRtbC5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1yZWNh
bGN1bGF0ZS1zdHlsZXMuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtc2NyaXB0LXRh
Zy0xLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLXNjcmlwdC10YWctMi5odG1sCisg
ICAgICAgIGluc3BlY3Rvci90aW1lbGluZS10cml2aWFsLmh0bWwKKyAgICAgICAgaW5zcGVjdG9y
L2Nvb2tpZS1yZXNvdXJjZS1tYXRjaC5odG1sCisgICAgICAgIGluc3BlY3Rvci9lbGVtZW50cy1p
bWctdG9vbHRpcC5odG1sCisgICAgICAgIGluc3BlY3Rvci9lbGVtZW50cy1wYW5lbC1zZWxlY3Rp
b24tb24tcmVmcmVzaC5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1ldmVudC1kaXNw
YXRjaC5odG1sCisgICAgICAgIAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MzMwOTYKKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5k
ZXJUcmVlUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViUGFnZTo6Y2xvc2VXZWJJbnNwZWN0
b3IpOgorICAgICAgICAoV2ViQ29yZTo6V2ViUGFnZTo6cmVzZXRTZXR0aW5ncyk6CisgICAgICAg
IChXZWJDb3JlOjpEdW1wUmVuZGVyVHJlZTo6RHVtcFJlbmRlclRyZWUpOgorICAgICAgICAoV2Vi
Q29yZTo6RHVtcFJlbmRlclRyZWU6OnJlc2V0VG9Db25zaXN0ZW50U3RhdGVCZWZvcmVUZXN0aW5n
KToKKyAgICAgICAgKFdlYkNvcmU6OkR1bXBSZW5kZXJUcmVlOjpvcGVuKToKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0Lmg6CisgICAgICAgIChXZWJDb3JlOjpE
dW1wUmVuZGVyVHJlZTo6ZGlzcGxheSk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvTGF5
b3V0VGVzdENvbnRyb2xsZXJRdC5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6
c2hvd1dlYkluc3BlY3Rvcik6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZXZhbHVh
dGVJbldlYkluc3BlY3Rvcik6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0VGlt
ZWxpbmVQcm9maWxpbmdFbmFibGVkKToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpk
aXNwbGF5KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxl
clF0Lmg6CisKIDIwMTAtMDEtMTMgIEpvY2VseW4gVHVyY290dGUgIDxqb2NlbHluLnR1cmNvdHRl
QG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFubi4KZGlmZiAt
LWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3Bw
IGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAKaW5k
ZXggNjM2N2ZlMy4uM2EzYzZkMCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAKQEAgLTc3LDYgKzc3LDcgQEAgZXh0ZXJuIHZvaWQg
cXRfZHJ0X2NsZWFyRnJhbWVOYW1lKFFXZWJGcmFtZSogcUZyYW1lKTsKIGV4dGVybiB2b2lkIHF0
X2RydF9vdmVyd3JpdGVQbHVnaW5EaXJlY3RvcmllcygpOwogZXh0ZXJuIHZvaWQgcXRfZHJ0X3Jl
c2V0T3JpZ2luQWNjZXNzV2hpdGVMaXN0cygpOwogZXh0ZXJuIGJvb2wgcXRfZHJ0X2hhc0RvY3Vt
ZW50RWxlbWVudChRV2ViRnJhbWUqIHFGcmFtZSk7CitleHRlcm4gdm9pZCBxdF9kcnRfd2ViaW5z
cGVjdG9yX2Nsb3NlKFFXZWJQYWdlICpwYWdlKTsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBA
IC0xNDEsNiArMTQyLDEyIEBAIFdlYlBhZ2U6OldlYlBhZ2UoUU9iamVjdCogcGFyZW50LCBEdW1w
UmVuZGVyVHJlZSogZHJ0KQogICAgIHNldFBsdWdpbkZhY3RvcnkobmV3IFRlc3RQbHVnaW4odGhp
cykpOwogfQogCit2b2lkIFdlYlBhZ2U6OmNsb3NlV2ViSW5zcGVjdG9yKCkKK3sKKyAgICBpZiAo
bV93ZWJJbnNwZWN0b3IpCisgICAgICAgIHF0X2RydF93ZWJpbnNwZWN0b3JfY2xvc2UodGhpcyk7
Cit9CisKIFdlYlBhZ2U6On5XZWJQYWdlKCkKIHsKICAgICBkZWxldGUgbV93ZWJJbnNwZWN0b3I7
CkBAIC0xNjYsNiArMTczLDcgQEAgdm9pZCBXZWJQYWdlOjpyZXNldFNldHRpbmdzKCkKICAgICBz
ZXR0aW5ncygpLT5yZXNldEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6OkxpbmtzSW5jbHVkZWRJbkZv
Y3VzQ2hhaW4pOwogICAgIHNldHRpbmdzKCktPnJlc2V0QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6
T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKTsKICAgICBzZXR0aW5ncygpLT5yZXNl
dEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6OkxvY2FsQ29udGVudENhbkFjY2Vzc1JlbW90ZVVybHMp
OworICAgIHNldHRpbmdzKCktPnJlc2V0QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6RGV2ZWxvcGVy
RXh0cmFzRW5hYmxlZCk7CiAKICAgICAvLyBnbG9iYWxTZXR0aW5ncyBtdXN0IGJlIHJlc2V0IGV4
cGxpY2l0bHkuCiAgICAgbV9kcnQtPmxheW91dFRlc3RDb250cm9sbGVyKCktPnNldFhTU0F1ZGl0
b3JFbmFibGVkKGZhbHNlKTsKQEAgLTMyOSw2ICszMzcsNyBAQCBEdW1wUmVuZGVyVHJlZTo6RHVt
cFJlbmRlclRyZWUoKQogICAgIG1fdGV4dElucHV0Q29udHJvbGxlciA9IG5ldyBUZXh0SW5wdXRD
b250cm9sbGVyKG1fcGFnZSk7CiAgICAgbV9nY0NvbnRyb2xsZXIgPSBuZXcgR0NDb250cm9sbGVy
KG1fcGFnZSk7CiAKKyAgICAKICAgICAvLyBub3cgY29ubmVjdCBvdXIgZGlmZmVyZW50IHNpZ25h
bHMKICAgICBjb25uZWN0KG1fcGFnZSwgU0lHTkFMKGZyYW1lQ3JlYXRlZChRV2ViRnJhbWUgKikp
LAogICAgICAgICAgICAgdGhpcywgU0xPVChjb25uZWN0RnJhbWUoUVdlYkZyYW1lICopKSk7CkBA
IC0zOTQsMTUgKzQwMywxOCBAQCB2b2lkIER1bXBSZW5kZXJUcmVlOjpyZXNldFRvQ29uc2lzdGVu
dFN0YXRlQmVmb3JlVGVzdGluZygpCiAgICAgLy8gcmVzZXQgb3Igd2UgZ2V0IHRpbWVvdXRzIGZv
ciBzb21lIHRlc3RzLgogICAgIG1fcGFnZS0+YmxvY2tTaWduYWxzKHRydWUpOwogICAgIG1fcGFn
ZS0+dHJpZ2dlckFjdGlvbihRV2ViUGFnZTo6U3RvcCk7CisgICAgbV9wYWdlLT5jbG9zZVdlYklu
c3BlY3RvcigpOwogICAgIG1fcGFnZS0+YmxvY2tTaWduYWxzKGZhbHNlKTsKIAorICAgIGlmICgh
bV9tYWluVmlldy0+aXNIaWRkZW4oKSkKKyAgICAgICAgbV9tYWluVmlldy0+aGlkZSgpOworCiAg
ICAgLy8gcmVzZXQgdGhlIGxheW91dFRlc3RDb250cm9sbGVyIGF0IHRoaXMgcG9pbnQsIHNvIHRo
YXQgd2UgdW5kZXIgbm8KICAgICAvLyBjaXJjdW1zdGFuY2UgZHVtcCAoc3RvcCB0aGUgd2FpdFVu
dGlsRG9uZSB0aW1lcikgZHVyaW5nIHRoZSByZXNldAogICAgIC8vIG9mIHRoZSBEUlQuCiAgICAg
bV9jb250cm9sbGVyLT5yZXNldCgpOwogCiAgICAgY2xvc2VSZW1haW5pbmdXaW5kb3dzKCk7Ci0K
ICAgICBtX3BhZ2UtPnJlc2V0U2V0dGluZ3MoKTsKICAgICBtX3BhZ2UtPnVuZG9TdGFjaygpLT5j
bGVhcigpOwogICAgIG1fcGFnZS0+bWFpbkZyYW1lKCktPnNldFpvb21GYWN0b3IoMS4wKTsKQEAg
LTQyMyw2ICs0MzUsMTAgQEAgdm9pZCBEdW1wUmVuZGVyVHJlZTo6b3Blbihjb25zdCBRVXJsJiBh
dXJsKQogICAgIHJlc2V0VG9Db25zaXN0ZW50U3RhdGVCZWZvcmVUZXN0aW5nKCk7CiAKICAgICBR
VXJsIHVybCA9IGF1cmw7CisKKyAgICBpZiAodXJsLnRvU3RyaW5nKCkuY29udGFpbnMoImluc3Bl
Y3Rvci8iKSkKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+c2hvd1dlYkluc3BlY3Rv
cigpOworCiAgICAgbV9leHBlY3RlZEhhc2ggPSBRU3RyaW5nKCk7CiAgICAgaWYgKG1fZHVtcFBp
eGVscykgewogICAgICAgICAvLyBzaW5nbGUgcXVvdGUgbWFya3MgdGhlIHBpeGVsIGR1bXAgaGFz
aApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRy
ZWVRdC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5o
CmluZGV4IGNhZWU1MmQuLmUzZDI1ZTYgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmgKQEAgLTc5LDYgKzc5LDcgQEAgcHVibGljOgogCiAg
ICAgdm9pZCBzZXREdW1wUGl4ZWxzKGJvb2wpOwogCisgICAgdm9pZCBkaXNwbGF5KCkgeyBtX21h
aW5WaWV3LT5zaG93KCk7IH0KICAgICB2b2lkIGNsb3NlUmVtYWluaW5nV2luZG93cygpOwogICAg
IHZvaWQgcmVzZXRUb0NvbnNpc3RlbnRTdGF0ZUJlZm9yZVRlc3RpbmcoKTsKIApAQCAtMTQ5LDYg
KzE1MCw3IEBAIHB1YmxpYzoKICAgICBXZWJQYWdlKFFPYmplY3QqIHBhcmVudCwgRHVtcFJlbmRl
clRyZWUqKTsKICAgICB2aXJ0dWFsIH5XZWJQYWdlKCk7CiAgICAgUVdlYkluc3BlY3Rvciogd2Vi
SW5zcGVjdG9yKCk7CisgICAgdm9pZCBjbG9zZVdlYkluc3BlY3RvcigpOwogCiAgICAgUVdlYlBh
Z2UgKmNyZWF0ZVdpbmRvdyhRV2ViUGFnZTo6V2ViV2luZG93VHlwZSk7CiAKZGlmZiAtLWdpdCBh
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3Bw
IGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5j
cHAKaW5kZXggZTAxN2VlNy4uZWM2NjFjYiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKKysrIGIvV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKQEAgLTM5LDYgKzM5
LDcgQEAKIGV4dGVybiB2b2lkIHF0X2R1bXBfZWRpdGluZ19jYWxsYmFja3MoYm9vbCBiKTsKIGV4
dGVybiB2b2lkIHF0X2R1bXBfcmVzb3VyY2VfbG9hZF9jYWxsYmFja3MoYm9vbCBiKTsKIGV4dGVy
biB2b2lkIHF0X2RydF9zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZChRV2ViRnJhbWUqLCBi
b29sIGVuYWJsZWQpOworZXh0ZXJuIHZvaWQgcXRfZHJ0X3NldFRpbWVsaW5lUHJvZmlsaW5nRW5h
YmxlZChRV2ViUGFnZSosIGJvb2wgZW5hYmxlZCk7CiBleHRlcm4gYm9vbCBxdF9kcnRfcGF1c2VB
bmltYXRpb24oUVdlYkZyYW1lKiwgY29uc3QgUVN0cmluZyYgbmFtZSwgZG91YmxlIHRpbWUsIGNv
bnN0IFFTdHJpbmcmIGVsZW1lbnRJZCk7CiBleHRlcm4gYm9vbCBxdF9kcnRfcGF1c2VUcmFuc2l0
aW9uT2ZQcm9wZXJ0eShRV2ViRnJhbWUqLCBjb25zdCBRU3RyaW5nJiBuYW1lLCBkb3VibGUgdGlt
ZSwgY29uc3QgUVN0cmluZyYgZWxlbWVudElkKTsKIGV4dGVybiBib29sIHF0X2RydF9wYXVzZVNW
R0FuaW1hdGlvbihRV2ViRnJhbWUqLCBjb25zdCBRU3RyaW5nJiBhbmltYXRpb25JZCwgZG91Ymxl
IHRpbWUsIGNvbnN0IFFTdHJpbmcmIGVsZW1lbnRJZCk7CkBAIC00Niw2ICs0Nyw4IEBAIGV4dGVy
biBpbnQgcXRfZHJ0X251bWJlck9mQWN0aXZlQW5pbWF0aW9ucyhRV2ViRnJhbWUqKTsKIAogZXh0
ZXJuIHZvaWQgcXRfZHJ0X3doaXRlTGlzdEFjY2Vzc0Zyb21PcmlnaW4oY29uc3QgUVN0cmluZyYg
c291cmNlT3JpZ2luLCBjb25zdCBRU3RyaW5nJiBkZXN0aW5hdGlvblByb3RvY29sLCBjb25zdCBR
U3RyaW5nJiBkZXN0aW5hdGlvbkhvc3QsIGJvb2wgYWxsb3dEZXN0aW5hdGlvblN1YmRvbWFpbnMp
OwogZXh0ZXJuIFFTdHJpbmcgcXRfZHJ0X2NvdW50ZXJWYWx1ZUZvckVsZW1lbnRCeUlkKFFXZWJG
cmFtZSogcUZyYW1lLCBjb25zdCBRU3RyaW5nJiBpZCk7CitleHRlcm4gdm9pZCBxdF9kcnRfd2Vi
aW5zcGVjdG9yX2V4ZWN1dGVfc2NyaXB0KFFXZWJQYWdlKiBwYWdlLCBsb25nIGNhbGxJZCwgY29u
c3QgUVN0cmluZyYgc2NyaXB0KTsKK2V4dGVybiB2b2lkIHF0X2RydF93ZWJpbnNwZWN0b3Jfc2hv
dyhRV2ViUGFnZSAqcGFnZSk7CiAKIExheW91dFRlc3RDb250cm9sbGVyOjpMYXlvdXRUZXN0Q29u
dHJvbGxlcihXZWJDb3JlOjpEdW1wUmVuZGVyVHJlZSogZHJ0KQogICAgIDogUU9iamVjdCgpCkBA
IC0yNDgsMTIgKzI1MSwxMiBAQCBRU3RyaW5nIExheW91dFRlc3RDb250cm9sbGVyOjpkZWNvZGVI
b3N0TmFtZShjb25zdCBRU3RyaW5nJiBob3N0KQogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6
c2hvd1dlYkluc3BlY3RvcigpCiB7CiAgICAgbV9kcnQtPndlYlBhZ2UoKS0+c2V0dGluZ3MoKS0+
c2V0QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCwgdHJ1ZSk7
Ci0gICAgbV9kcnQtPndlYlBhZ2UoKS0+d2ViSW5zcGVjdG9yKCktPnNob3coKTsKKyAgICBxdF9k
cnRfd2ViaW5zcGVjdG9yX3Nob3cobV9kcnQtPndlYlBhZ2UoKSk7CiB9CiAKLXZvaWQgTGF5b3V0
VGVzdENvbnRyb2xsZXI6OmhpZGVXZWJJbnNwZWN0b3IoKQordm9pZCBMYXlvdXRUZXN0Q29udHJv
bGxlcjo6ZXZhbHVhdGVJbldlYkluc3BlY3Rvcihsb25nIGNhbGxJZCwgY29uc3QgUVN0cmluZyAm
c2NyaXB0KQogewotICAgIG1fZHJ0LT53ZWJQYWdlKCktPndlYkluc3BlY3RvcigpLT5oaWRlKCk7
CisgICAgcXRfZHJ0X3dlYmluc3BlY3Rvcl9leGVjdXRlX3NjcmlwdChtX2RydC0+d2ViUGFnZSgp
LCBjYWxsSWQsIHNjcmlwdCk7CiB9CiAKIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEFs
bG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wgZW5hYmxlZCkKQEAgLTI2Nyw2ICsy
NzAsMTEgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0SmF2YVNjcmlwdFByb2ZpbGlu
Z0VuYWJsZWQoYm9vbCBlbmFibGUpCiAgICAgcXRfZHJ0X3NldEphdmFTY3JpcHRQcm9maWxpbmdF
bmFibGVkKG1fdG9wTG9hZGluZ0ZyYW1lLCBlbmFibGUpOwogfQogCit2b2lkIExheW91dFRlc3RD
b250cm9sbGVyOjpzZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWQoYm9vbCBlbmFibGUpCit7Cisg
ICAgcXRfZHJ0X3NldFRpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZChtX2RydC0+d2ViUGFnZSgpLCBl
bmFibGUpOworfQorCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRGaXhlZENvbnRlbnRz
U2l6ZShpbnQgd2lkdGgsIGludCBoZWlnaHQpCiB7CiAgICAgbV90b3BMb2FkaW5nRnJhbWUtPnBh
Z2UoKS0+c2V0UHJlZmVycmVkQ29udGVudHNTaXplKFFTaXplKHdpZHRoLCBoZWlnaHQpKTsKQEAg
LTM5MSwzICszOTksOCBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpvdmVycmlkZVByZWZl
cmVuY2UoY29uc3QgUVN0cmluZyYgbmFtZSwgY29uc3QgUVZhcmlhbgogICAgIGVsc2UgaWYgKG5h
bWUgPT0gIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IikKICAgICAgICAgUVdlYlNl
dHRpbmdzOjpzZXRNYXhpbXVtUGFnZXNJbkNhY2hlKHZhbHVlLnRvSW50KCkpOwogfQorCit2b2lk
IExheW91dFRlc3RDb250cm9sbGVyOjpkaXNwbGF5KCkKK3sKKyAgICBtX2RydC0+ZGlzcGxheSgp
OworfQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVz
dENvbnRyb2xsZXJRdC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVz
dENvbnRyb2xsZXJRdC5oCmluZGV4IDQ0NTFiN2EuLmU5YzQwODMgMTAwNjQ0Ci0tLSBhL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaAorKysgYi9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmgKQEAg
LTk3LDcgKzk3LDcgQEAgcHVibGljIHNsb3RzOgogICAgIHZvaWQgcHJvdmlzaW9uYWxMb2FkKCk7
CiAgICAgdm9pZCBzZXRDbG9zZVJlbWFpbmluZ1dpbmRvd3NXaGVuQ29tcGxldGUoYm9vbCA9IGZh
bHNlKSB7fQogICAgIGludCB3aW5kb3dDb3VudCgpOwotICAgIHZvaWQgZGlzcGxheSgpIHt9Cisg
ICAgdm9pZCBkaXNwbGF5KCk7CiAgICAgdm9pZCBjbGVhckJhY2tGb3J3YXJkTGlzdCgpOwogICAg
IFFTdHJpbmcgcGF0aFRvTG9jYWxSZXNvdXJjZShjb25zdCBRU3RyaW5nJiB1cmwpOwogICAgIHZv
aWQgZHVtcFRpdGxlQ2hhbmdlcygpIHsgbV9kdW1wVGl0bGVDaGFuZ2VzID0gdHJ1ZTsgfQpAQCAt
MTA1LDkgKzEwNSwxMCBAQCBwdWJsaWMgc2xvdHM6CiAgICAgUVN0cmluZyBkZWNvZGVIb3N0TmFt
ZShjb25zdCBRU3RyaW5nJiBob3N0KTsKICAgICB2b2lkIGR1bXBTZWxlY3Rpb25SZWN0KCkgY29u
c3Qge30KICAgICB2b2lkIHNob3dXZWJJbnNwZWN0b3IoKTsKLSAgICB2b2lkIGhpZGVXZWJJbnNw
ZWN0b3IoKTsKKyAgICB2b2lkIGV2YWx1YXRlSW5XZWJJbnNwZWN0b3IobG9uZyBjYWxsSWQsIGNv
bnN0IFFTdHJpbmcgJnNjcmlwdCk7CiAgICAgdm9pZCBzZXRBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zy
b21GaWxlVVJMcyhib29sIGVuYWJsZSk7CiAgICAgdm9pZCBzZXRKYXZhU2NyaXB0UHJvZmlsaW5n
RW5hYmxlZChib29sIGVuYWJsZSk7CisgICAgdm9pZCBzZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJs
ZWQoYm9vbCBlbmFibGUpOwogICAgIHZvaWQgc2V0Rml4ZWRDb250ZW50c1NpemUoaW50IHdpZHRo
LCBpbnQgaGVpZ2h0KTsKICAgICB2b2lkIHNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoYm9vbCBl
bmFibGUpOwogICAgIHZvaWQgc2V0UG9wdXBCbG9ja2luZ0VuYWJsZWQoYm9vbCBlbmFibGUpOwot
LSAKMS42LjMuMwoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46511</attachid>
            <date>2010-01-13 14:36:31 -0800</date>
            <delta_ts>2010-01-14 12:07:41 -0800</delta_ts>
            <desc>Updated Patch</desc>
            <filename>0001-Qt-DRT-Support-evaluateInWebInspector-setTimerProfil.patch</filename>
            <type>text/plain</type>
            <size>18924</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">RnJvbSAzM2RjZGM1MzQzMGNhZDliMmZiOThkODYxMDA1YjIyYjQ2Mjg3NThjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnQgSG9nYW4gPHJvYmVydEByb2JlcnRob2dhbi5uZXQ+
CkRhdGU6IEZyaSwgMSBKYW4gMjAxMCAxODo0NTo1NyArMDAwMApTdWJqZWN0OiBbUEFUQ0hdIFtR
dF0gRFJUOiBTdXBwb3J0IGV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoKSwgc2V0VGltZXJQcm9maWxp
bmdFbmFibGVkKCkgYW5kIGRpc3BsYXkoKS4KClN1cHBvcnQgTGF5b3V0VGVzdENvbnRyb2xsZXIu
ZXZhbHVhdGVJbldlYkluc3BlY3RvcigpLCBzZXRUaW1lclByb2ZpbGlpbmdFbmFibGVkKCkKYW5k
IGRpc3BsYXkoKSBpbiBRdCBEUlQuCgpUaGlzIGFsbG93cyB0aGUgZm9sbG93aW5nIHRlc3RzIHRv
IHBhc3M6CgppbnNwZWN0b3IvZXZhbHVhdGUtaW4tZnJvbnRlbmQuaHRtbAppbnNwZWN0b3IvZWxl
bWVudHMtcGFuZWwtc3RydWN0dXJlLmh0bWwKaW5zcGVjdG9yL3N0eWxlcy1pZnJhbWUuaHRtbApp
bnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1jc3MuaHRtbAppbnNwZWN0b3Ivc3ludGF4LWhpZ2hs
aWdodC1qYXZhc2NyaXB0Lmh0bWwKaW5zcGVjdG9yL3RpbWVsaW5lLWVudW0tc3RhYmlsaXR5Lmh0
bWwKaW5zcGVjdG9yL3RpbWVsaW5lLWxheW91dC5odG1sCmluc3BlY3Rvci90aW1lbGluZS1tYXJr
LXRpbWVsaW5lLmh0bWwKaW5zcGVjdG9yL3RpbWVsaW5lLXBhaW50Lmh0bWwKaW5zcGVjdG9yL3Rp
bWVsaW5lLXBhcnNlLWh0bWwuaHRtbAppbnNwZWN0b3IvdGltZWxpbmUtcmVjYWxjdWxhdGUtc3R5
bGVzLmh0bWwKaW5zcGVjdG9yL3RpbWVsaW5lLXNjcmlwdC10YWctMS5odG1sCmluc3BlY3Rvci90
aW1lbGluZS1zY3JpcHQtdGFnLTIuaHRtbAppbnNwZWN0b3IvdGltZWxpbmUtdHJpdmlhbC5odG1s
Cmluc3BlY3Rvci9jb29raWUtcmVzb3VyY2UtbWF0Y2guaHRtbAppbnNwZWN0b3IvZWxlbWVudHMt
aW1nLXRvb2x0aXAuaHRtbAppbnNwZWN0b3IvZWxlbWVudHMtcGFuZWwtc2VsZWN0aW9uLW9uLXJl
ZnJlc2guaHRtbAppbnNwZWN0b3IvdGltZWxpbmUtZXZlbnQtZGlzcGF0Y2guaHRtbAoKaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMzMDk2Ci0tLQogTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDM0ICsrKysrKysrKysr
KysrCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkICAgICAgICAgICAgICAgICAgICB8
ICAgMzEgKy0tLS0tLS0tLS0tLQogV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgIDMyICsrKysrKysrKysrKysKIFdlYktpdC9xdC9DaGFuZ2VMb2cg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAzOCArKysrKysrKysrKysrKysrCiBX
ZWJLaXRUb29scy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNDcg
KysrKysrKysrKysrKysrKysrKysKIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBS
ZW5kZXJUcmVlUXQuY3BwIHwgICAyMiArKysrKysrKystCiBXZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmggICB8ICAgIDIgKwogLi4uL0R1bXBSZW5kZXJUcmVl
L3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwICAgfCAgIDE5ICsrKysrKystCiAuLi4vRHVt
cFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oICAgICB8ICAgIDUgKy0KIDkg
ZmlsZXMgY2hhbmdlZCwgMTk2IGluc2VydGlvbnMoKyksIDM0IGRlbGV0aW9ucygtKQoKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCBiNTBjN2U4Li45MTY3ZTJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTAtMDEtMTMgIFJv
YmVydCBIb2dhbiAgPHJvYmVydEByb2JlcnRob2dhbi5uZXQ+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBEUlQ6IFN1cHBvcnQgZXZhbHVhdGVJ
bldlYkluc3BlY3RvcigpLCBzZXRUaW1lclByb2ZpbGluZ0VuYWJsZWQoKSBhbmQgZGlzcGxheSgp
LgorICAgICAgICAKKyAgICAgICAgU3VwcG9ydCBMYXlvdXRUZXN0Q29udHJvbGxlci5ldmFsdWF0
ZUluV2ViSW5zcGVjdG9yKCksIHNldFRpbWVyUHJvZmlsaWluZ0VuYWJsZWQoKQorICAgICAgICBh
bmQgZGlzcGxheSgpIGluIFF0IERSVC4KKyAgICAgICAgCisgICAgICAgIFRoaXMgYWxsb3dzIHRo
ZSBmb2xsb3dpbmcgdGVzdHMgdG8gcGFzczoKKyAgICAgICAgCisgICAgICAgIGluc3BlY3Rvci9l
dmFsdWF0ZS1pbi1mcm9udGVuZC5odG1sCisgICAgICAgIGluc3BlY3Rvci9lbGVtZW50cy1wYW5l
bC1zdHJ1Y3R1cmUuaHRtbAorICAgICAgICBpbnNwZWN0b3Ivc3R5bGVzLWlmcmFtZS5odG1sCisg
ICAgICAgIGluc3BlY3Rvci9zeW50YXgtaGlnaGxpZ2h0LWNzcy5odG1sCisgICAgICAgIGluc3Bl
Y3Rvci9zeW50YXgtaGlnaGxpZ2h0LWphdmFzY3JpcHQuaHRtbAorICAgICAgICBpbnNwZWN0b3Iv
dGltZWxpbmUtZW51bS1zdGFiaWxpdHkuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUt
bGF5b3V0Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLW1hcmstdGltZWxpbmUuaHRt
bAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtcGFpbnQuaHRtbAorICAgICAgICBpbnNwZWN0
b3IvdGltZWxpbmUtcGFyc2UtaHRtbC5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1y
ZWNhbGN1bGF0ZS1zdHlsZXMuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtc2NyaXB0
LXRhZy0xLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLXNjcmlwdC10YWctMi5odG1s
CisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS10cml2aWFsLmh0bWwKKyAgICAgICAgaW5zcGVj
dG9yL2Nvb2tpZS1yZXNvdXJjZS1tYXRjaC5odG1sCisgICAgICAgIGluc3BlY3Rvci9lbGVtZW50
cy1pbWctdG9vbHRpcC5odG1sCisgICAgICAgIGluc3BlY3Rvci9lbGVtZW50cy1wYW5lbC1zZWxl
Y3Rpb24tb24tcmVmcmVzaC5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1ldmVudC1k
aXNwYXRjaC5odG1sCisgICAgICAgIAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MzMwOTYKKworICAgICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6CisK
IDIwMTAtMDEtMTMgIEZ1bWl0b3NoaSBVa2FpICA8dWthaUBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgVW5yZXZpZXdlZC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBw
ZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCmluZGV4IDVjZDA0NTMuLjcwNzZm
ZTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZApAQCAtMTQ2LDIxICsxNDYsNiBAQCBodHRwL3Rl
c3RzL3NlY3VyaXR5L2xvY2FsLXZpZGVvLXNvdXJjZS1mcm9tLXJlbW90ZS5odG1sCiAjICAgICAg
ICAgICAgTWlzc2luZyBmZWF0dXJlcyBpbiBvdXIgRHVtcFJlbmRlclRyZWUgaW1wbGVtZW50YXRp
b24gICAgICAgICAgICAgICMKICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gIwogCi0jIE1pc3Npbmcg
bGF5b3V0VGVzdENvbnRyb2xsZXIuc2hvd1dlYkluc3BlY3RvcigpCi1pbnNwZWN0b3IvY29uc29s
ZS1mb3JtYXQtY29sbGVjdGlvbnMuaHRtbAotaW5zcGVjdG9yL3N0eWxlcy1pZnJhbWUuaHRtbAot
aW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQtY3NzLmh0bWwKLWluc3BlY3Rvci9zeW50YXgtaGln
aGxpZ2h0LWphdmFzY3JpcHQuaHRtbAotaW5zcGVjdG9yL3RpbWVsaW5lLWVudW0tc3RhYmlsaXR5
Lmh0bWwKLWluc3BlY3Rvci90aW1lbGluZS1sYXlvdXQuaHRtbAotaW5zcGVjdG9yL3RpbWVsaW5l
LW1hcmstdGltZWxpbmUuaHRtbAotaW5zcGVjdG9yL3RpbWVsaW5lLXBhaW50Lmh0bWwKLWluc3Bl
Y3Rvci90aW1lbGluZS1wYXJzZS1odG1sLmh0bWwKLWluc3BlY3Rvci90aW1lbGluZS1yZWNhbGN1
bGF0ZS1zdHlsZXMuaHRtbAotaW5zcGVjdG9yL3RpbWVsaW5lLXNjcmlwdC10YWctMS5odG1sCi1p
bnNwZWN0b3IvdGltZWxpbmUtc2NyaXB0LXRhZy0yLmh0bWwKLWluc3BlY3Rvci90aW1lbGluZS10
cml2aWFsLmh0bWwKLQogIyBNaXNzaW5nIHRleHRJbnB1dENvbnRyb2xsZXIuc2VsZWN0ZWRSYW5n
ZSgpCiBlZGl0aW5nL3NlbGVjdGlvbi81ODI1MzUwLTEuaHRtbAogZWRpdGluZy9zZWxlY3Rpb24v
NTgyNTM1MC0yLmh0bWwKQEAgLTIwNywxNSArMTkyLDYgQEAgaHR0cC90ZXN0cy9jYWNoZS9zdWJy
ZXNvdXJjZS1mYWlsb3Zlci10by1uZXR3b3JrLmh0bWwKICMgTWlzc2luZyBsYXlvdXRUZXN0Q29u
dHJvbGxlci5zZXRVc2VyU3R5bGVTaGVldExvY2F0aW9uKCkgYW5kIGxheW91dFRlc3RDb250cm9s
bGVyLnNldFVzZXJTdHlsZVNoZWV0RW5hYmxlZCgpCiBodHRwL3Rlc3RzL3NlY3VyaXR5L2xvY2Fs
LXVzZXItQ1NTLWZyb20tcmVtb3RlLmh0bWwKIAotIyBNaXNzaW5nIGxheW91dFRlc3RDb250cm9s
bGVyLmV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoKQotIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MzMwOTYKLWluc3BlY3Rvci9jb29raWUtcmVzb3VyY2UtbWF0Y2guaHRt
bAotaW5zcGVjdG9yL2VsZW1lbnRzLWltZy10b29sdGlwLmh0bWwKLWluc3BlY3Rvci9lbGVtZW50
cy1wYW5lbC1zZWxlY3Rpb24tb24tcmVmcmVzaC5odG1sCi1pbnNwZWN0b3IvdGltZWxpbmUtZXZl
bnQtZGlzcGF0Y2guaHRtbAotaW5zcGVjdG9yL3RpbWVsaW5lLW5ldHdvcmstcmVzb3VyY2UuaHRt
bAotaW5zcGVjdG9yL2VsZW1lbnRzLXBhbmVsLXJld3JpdGUtaHJlZi5odG1sCi0KICMgTWlzc2lu
ZyBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRTbWFydEluc2VydERlbGV0ZUVuYWJsZWQoKQogZWRp
dGluZy9zZWxlY3Rpb24vZG91YmxlY2xpY2stYmVzaWRlLWNyLXNwYW4uaHRtbAogIyA9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PSAjCkBAIC00ODQzLDEzICs0ODE5LDEzIEBAIGZhc3QvZG9tL1dpbmRvdy9z
bG93X3VubG9hZF9oYW5kbGVyLmh0bWwKICMgVGhpcyBwb3J0IGRvZXNuJ3QgaGF2ZSBhIGdsb2Jh
bCBoaXN0b3J5IGRlbGVnYXRlIHlldAogaHR0cC90ZXN0cy9nbG9iYWxoaXN0b3J5CiAKLSMgU2tp
cCBpbnNwZWN0b3IgdGVzdHMKKyMgRmFpbCBiZWNhdXNlIGZ1bGwgZmlsZTovLyBVUkwgaXMgcmV0
dXJuZWQgaW4gY29uc29sZSBtZXNzYWdlLgogaW5zcGVjdG9yL2NvbnNvbGUtZGlyLmh0bWwKIGlu
c3BlY3Rvci9jb25zb2xlLWRpcnhtbC5odG1sCiBpbnNwZWN0b3IvY29uc29sZS1mb3JtYXQuaHRt
bAogaW5zcGVjdG9yL2NvbnNvbGUtdGVzdHMuaHRtbAotaW5zcGVjdG9yL2VsZW1lbnRzLXBhbmVs
LXN0cnVjdHVyZS5odG1sCi1pbnNwZWN0b3IvZXZhbHVhdGUtaW4tZnJvbnRlbmQuaHRtbAoraW5z
cGVjdG9yL2NvbnNvbGUtY2xlYXIuaHRtbAoraW5zcGVjdG9yL2NvbnNvbGUtZm9ybWF0LWNvbGxl
Y3Rpb25zLmh0bWwKIAogIyBTa2lwIHhtbGh0dHByZXF1ZXN0IHRlc3RzIC0gTkVUV09SS19FUlI6
IFhNTEh0dHBSZXF1ZXN0IEV4Y2VwdGlvbiAxMDE6IEEgbmV0d29yayBlcnJvciBvY2N1cmVkIGlu
IHN5bmNocm9ub3VzIHJlcXVlc3RzLgogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9hY2Nlc3Mt
Y29udHJvbC1iYXNpYy1hbGxvdy1wcmVmbGlnaHQtY2FjaGUuaHRtbApAQCAtNTAyMiw3ICs0OTk4
LDYgQEAgZmFzdC9kb20vRG9jdW1lbnQvZWFybHktZG9jdW1lbnQtYWNjZXNzLmh0bWwKIGZhc3Qv
ZG9tL1dpbmRvdy93aW5kb3ctZWFybHktcHJvcGVydGllcy5odG1sCiBmYXN0L2V2ZW50cy9vcGVu
LXdpbmRvdy1mcm9tLWFub3RoZXItZnJhbWUuaHRtbAogZmFzdC9ldmVudHMvcG9wdXAtYmxvY2tp
bmctY2xpY2staW4taWZyYW1lLmh0bWwKLWluc3BlY3Rvci9jb25zb2xlLWNsZWFyLmh0bWwKIGh0
dHAvdGVzdHMvbWlzYy9zZXQtd2luZG93LW9wZW5lci10by1udWxsLmh0bWwKIGh0dHAvdGVzdHMv
c2VjdXJpdHkvYWJvdXRCbGFuay94c3MtREVOSUVELXNldC1vcGVuZXIuaHRtbAogaHR0cC90ZXN0
cy9zZWN1cml0eS9kYXRhVVJML3hzcy1ERU5JRUQtZnJvbS1kYXRhLXVybC1pbi1mb3JlaWduLWRv
bWFpbi13aW5kb3ctb3Blbi5odG1sCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdl
LmNwcCBiL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCmluZGV4IDIxNDdlYWIuLjQxZWI3YmIg
MTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCisrKyBiL1dlYktpdC9xdC9B
cGkvcXdlYnBhZ2UuY3BwCkBAIC0xNDUsNiArMTQ1LDM4IEBAIFFTdHJpbmcgUVdFQktJVF9FWFBP
UlQgcXRfd2VicGFnZV9ncm91cE5hbWUoUVdlYlBhZ2UqIHBhZ2UpCiAgICAgcmV0dXJuIHBhZ2Ut
PmhhbmRsZSgpLT5wYWdlLT5ncm91cE5hbWUoKTsKIH0KIAordm9pZCBRV0VCS0lUX0VYUE9SVCBx
dF9kcnRfd2ViaW5zcGVjdG9yX2V4ZWN1dGVfc2NyaXB0KFFXZWJQYWdlICpwYWdlLCBsb25nIGNh
bGxJZCwgY29uc3QgUVN0cmluZyAmc2NyaXB0KQoreworICAgIGlmICghcGFnZS0+aGFuZGxlKCkt
PnBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKSkKKyAgICAgICAgcmV0dXJuOworICAgIHBhZ2Ut
PmhhbmRsZSgpLT5wYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPmV2YWx1YXRlRm9yVGVzdElu
RnJvbnRlbmQoY2FsbElkLCBzY3JpcHQpOworfQorCit2b2lkIFFXRUJLSVRfRVhQT1JUIHF0X2Ry
dF93ZWJpbnNwZWN0b3JfY2xvc2UoUVdlYlBhZ2UgKnBhZ2UpCit7CisgICAgaWYgKCFwYWdlLT5o
YW5kbGUoKS0+cGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpKQorICAgICAgICByZXR1cm47Cisg
ICAgcGFnZS0+aGFuZGxlKCktPnBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+Y2xvc2UoKTsK
K30KKwordm9pZCBRV0VCS0lUX0VYUE9SVCBxdF9kcnRfd2ViaW5zcGVjdG9yX3Nob3coUVdlYlBh
Z2UgKnBhZ2UpCit7CisgICAgaWYgKCFwYWdlLT5oYW5kbGUoKS0+cGFnZS0+aW5zcGVjdG9yQ29u
dHJvbGxlcigpKQorICAgICAgICByZXR1cm47CisgICAgcGFnZS0+aGFuZGxlKCktPnBhZ2UtPmlu
c3BlY3RvckNvbnRyb2xsZXIoKS0+c2hvdygpOworfQorCit2b2lkIFFXRUJLSVRfRVhQT1JUIHF0
X2RydF9zZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWQoUVdlYlBhZ2UqIHBhZ2UsIGJvb2wgZW5h
YmxlZCkKK3sKKyAgICBJbnNwZWN0b3JDb250cm9sbGVyKiBjb250cm9sbGVyID0gcGFnZS0+aGFu
ZGxlKCktPnBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKTsKKyAgICBpZiAoIWNvbnRyb2xsZXIp
CisgICAgICAgIHJldHVybjsKKyAgICBpZiAoZW5hYmxlZCkKKyAgICAgICAgY29udHJvbGxlci0+
c3RhcnRUaW1lbGluZVByb2ZpbGVyKCk7CisgICAgZWxzZQorICAgICAgICBjb250cm9sbGVyLT5z
dG9wVGltZWxpbmVQcm9maWxlcigpOworfQorCiBjbGFzcyBRV2ViUGFnZVdpZGdldENsaWVudCA6
IHB1YmxpYyBRV2ViUGFnZUNsaWVudCB7CiBwdWJsaWM6CiAgICAgUVdlYlBhZ2VXaWRnZXRDbGll
bnQoUVdpZGdldCogdmlldykKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9XZWJL
aXQvcXQvQ2hhbmdlTG9nCmluZGV4IGE1NzMzZGEuLjFjMmM0ZDcgMTAwNjQ0Ci0tLSBhL1dlYktp
dC9xdC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBA
CisyMDEwLTAxLTEzICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAcm9iZXJ0aG9nYW4ubmV0PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gRFJUOiBT
dXBwb3J0IGV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoKSwgc2V0VGltZXJQcm9maWxpbmdFbmFibGVk
KCkgYW5kIGRpc3BsYXkoKS4KKyAgICAgICAgCisgICAgICAgIFN1cHBvcnQgTGF5b3V0VGVzdENv
bnRyb2xsZXIuZXZhbHVhdGVJbldlYkluc3BlY3RvcigpLCBzZXRUaW1lclByb2ZpbGlpbmdFbmFi
bGVkKCkKKyAgICAgICAgYW5kIGRpc3BsYXkoKSBpbiBRdCBEUlQuCisgICAgICAgIAorICAgICAg
ICBUaGlzIGFsbG93cyB0aGUgZm9sbG93aW5nIHRlc3RzIHRvIHBhc3M6CisgICAgICAgIAorICAg
ICAgICBpbnNwZWN0b3IvZXZhbHVhdGUtaW4tZnJvbnRlbmQuaHRtbAorICAgICAgICBpbnNwZWN0
b3IvZWxlbWVudHMtcGFuZWwtc3RydWN0dXJlLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3N0eWxl
cy1pZnJhbWUuaHRtbAorICAgICAgICBpbnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1jc3MuaHRt
bAorICAgICAgICBpbnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1qYXZhc2NyaXB0Lmh0bWwKKyAg
ICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLWVudW0tc3RhYmlsaXR5Lmh0bWwKKyAgICAgICAgaW5z
cGVjdG9yL3RpbWVsaW5lLWxheW91dC5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1t
YXJrLXRpbWVsaW5lLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLXBhaW50Lmh0bWwK
KyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLXBhcnNlLWh0bWwuaHRtbAorICAgICAgICBpbnNw
ZWN0b3IvdGltZWxpbmUtcmVjYWxjdWxhdGUtc3R5bGVzLmh0bWwKKyAgICAgICAgaW5zcGVjdG9y
L3RpbWVsaW5lLXNjcmlwdC10YWctMS5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1z
Y3JpcHQtdGFnLTIuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtdHJpdmlhbC5odG1s
CisgICAgICAgIGluc3BlY3Rvci9jb29raWUtcmVzb3VyY2UtbWF0Y2guaHRtbAorICAgICAgICBp
bnNwZWN0b3IvZWxlbWVudHMtaW1nLXRvb2x0aXAuaHRtbAorICAgICAgICBpbnNwZWN0b3IvZWxl
bWVudHMtcGFuZWwtc2VsZWN0aW9uLW9uLXJlZnJlc2guaHRtbAorICAgICAgICBpbnNwZWN0b3Iv
dGltZWxpbmUtZXZlbnQtZGlzcGF0Y2guaHRtbAorICAgICAgICAKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMzMDk2CisKKyAgICAgICAgKiBBcGkvcXdl
YnBhZ2UuY3BwOgorICAgICAgICAocXRfZHJ0X3dlYmluc3BlY3Rvcl9leGVjdXRlX3NjcmlwdCk6
CisgICAgICAgIChxdF9kcnRfd2ViaW5zcGVjdG9yX2Nsb3NlKToKKyAgICAgICAgKHF0X2RydF9z
ZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWQpOgorICAgICAgICAocXRfZHJ0X3dlYmluc3BlY3Rv
cl9zaG93KToKKwogMjAxMC0wMS0xMSAgU2ltb24gSGF1c21hbm4gIDxzaW1vbi5oYXVzbWFubkBu
b2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSG9sZ2VyIEZyZXl0aGVyLgpkaWZmIC0t
Z2l0IGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4
IDg1MzEzYTMuLmI0ODczMzAgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysg
Yi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1MCBAQAorMjAxMC0wMS0xMyAgUm9i
ZXJ0IEhvZ2FuICA8cm9iZXJ0QHJvYmVydGhvZ2FuLm5ldD4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIERSVDogU3VwcG9ydCBldmFsdWF0ZUlu
V2ViSW5zcGVjdG9yKCksIHNldFRpbWVyUHJvZmlsaW5nRW5hYmxlZCgpIGFuZCBkaXNwbGF5KCku
CisgICAgICAgIAorICAgICAgICBTdXBwb3J0IExheW91dFRlc3RDb250cm9sbGVyLmV2YWx1YXRl
SW5XZWJJbnNwZWN0b3IoKSwgc2V0VGltZXJQcm9maWxpaW5nRW5hYmxlZCgpCisgICAgICAgIGFu
ZCBkaXNwbGF5KCkgaW4gUXQgRFJULgorICAgICAgICAKKyAgICAgICAgVGhpcyBhbGxvd3MgdGhl
IGZvbGxvd2luZyB0ZXN0cyB0byBwYXNzOgorICAgICAgICAKKyAgICAgICAgaW5zcGVjdG9yL2V2
YWx1YXRlLWluLWZyb250ZW5kLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2VsZW1lbnRzLXBhbmVs
LXN0cnVjdHVyZS5odG1sCisgICAgICAgIGluc3BlY3Rvci9zdHlsZXMtaWZyYW1lLmh0bWwKKyAg
ICAgICAgaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQtY3NzLmh0bWwKKyAgICAgICAgaW5zcGVj
dG9yL3N5bnRheC1oaWdobGlnaHQtamF2YXNjcmlwdC5odG1sCisgICAgICAgIGluc3BlY3Rvci90
aW1lbGluZS1lbnVtLXN0YWJpbGl0eS5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1s
YXlvdXQuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtbWFyay10aW1lbGluZS5odG1s
CisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1wYWludC5odG1sCisgICAgICAgIGluc3BlY3Rv
ci90aW1lbGluZS1wYXJzZS1odG1sLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLXJl
Y2FsY3VsYXRlLXN0eWxlcy5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1zY3JpcHQt
dGFnLTEuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtc2NyaXB0LXRhZy0yLmh0bWwK
KyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLXRyaXZpYWwuaHRtbAorICAgICAgICBpbnNwZWN0
b3IvY29va2llLXJlc291cmNlLW1hdGNoLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2VsZW1lbnRz
LWltZy10b29sdGlwLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2VsZW1lbnRzLXBhbmVsLXNlbGVj
dGlvbi1vbi1yZWZyZXNoLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLWV2ZW50LWRp
c3BhdGNoLmh0bWwKKyAgICAgICAgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0zMzA5NgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJl
bmRlclRyZWVRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJQYWdlOjpjbG9zZVdlYkluc3Bl
Y3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJQYWdlOjpyZXNldFNldHRpbmdzKToKKyAgICAg
ICAgKFdlYkNvcmU6OkR1bXBSZW5kZXJUcmVlOjpEdW1wUmVuZGVyVHJlZSk6CisgICAgICAgIChX
ZWJDb3JlOjpEdW1wUmVuZGVyVHJlZTo6cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZUJlZm9yZVRlc3Rp
bmcpOgorICAgICAgICAoV2ViQ29yZTo6RHVtcFJlbmRlclRyZWU6Om9wZW4pOgorICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuaDoKKyAgICAgICAgKFdlYkNvcmU6
OkR1bXBSZW5kZXJUcmVlOjpkaXNwbGF5KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9M
YXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVy
OjpzaG93V2ViSW5zcGVjdG9yKToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpldmFs
dWF0ZUluV2ViSW5zcGVjdG9yKToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpzZXRU
aW1lbGluZVByb2ZpbGluZ0VuYWJsZWQpOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6
OmRpc3BsYXkpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9s
bGVyUXQuaDoKKwogMjAxMC0wMS0xMyAgSm9jZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4udHVyY290
dGVAbm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5uLgpkaWZm
IC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5j
cHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcApp
bmRleCA2MzY3ZmUzLi4yMGVkYmE1IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcApAQCAtNzcsNiArNzcsNyBAQCBleHRlcm4gdm9p
ZCBxdF9kcnRfY2xlYXJGcmFtZU5hbWUoUVdlYkZyYW1lKiBxRnJhbWUpOwogZXh0ZXJuIHZvaWQg
cXRfZHJ0X292ZXJ3cml0ZVBsdWdpbkRpcmVjdG9yaWVzKCk7CiBleHRlcm4gdm9pZCBxdF9kcnRf
cmVzZXRPcmlnaW5BY2Nlc3NXaGl0ZUxpc3RzKCk7CiBleHRlcm4gYm9vbCBxdF9kcnRfaGFzRG9j
dW1lbnRFbGVtZW50KFFXZWJGcmFtZSogcUZyYW1lKTsKK2V4dGVybiB2b2lkIHF0X2RydF93ZWJp
bnNwZWN0b3JfY2xvc2UoUVdlYlBhZ2UgKnBhZ2UpOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTE0MSw2ICsxNDIsMTIgQEAgV2ViUGFnZTo6V2ViUGFnZShRT2JqZWN0KiBwYXJlbnQsIER1
bXBSZW5kZXJUcmVlKiBkcnQpCiAgICAgc2V0UGx1Z2luRmFjdG9yeShuZXcgVGVzdFBsdWdpbih0
aGlzKSk7CiB9CiAKK3ZvaWQgV2ViUGFnZTo6Y2xvc2VXZWJJbnNwZWN0b3IoKQoreworICAgIGlm
IChtX3dlYkluc3BlY3RvcikKKyAgICAgICAgcXRfZHJ0X3dlYmluc3BlY3Rvcl9jbG9zZSh0aGlz
KTsKK30KKwogV2ViUGFnZTo6fldlYlBhZ2UoKQogewogICAgIGRlbGV0ZSBtX3dlYkluc3BlY3Rv
cjsKQEAgLTE2Niw2ICsxNzMsNyBAQCB2b2lkIFdlYlBhZ2U6OnJlc2V0U2V0dGluZ3MoKQogICAg
IHNldHRpbmdzKCktPnJlc2V0QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6TGlua3NJbmNsdWRlZElu
Rm9jdXNDaGFpbik7CiAgICAgc2V0dGluZ3MoKS0+cmVzZXRBdHRyaWJ1dGUoUVdlYlNldHRpbmdz
OjpPZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQpOwogICAgIHNldHRpbmdzKCktPnJl
c2V0QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6TG9jYWxDb250ZW50Q2FuQWNjZXNzUmVtb3RlVXJs
cyk7CisgICAgc2V0dGluZ3MoKS0+cmVzZXRBdHRyaWJ1dGUoUVdlYlNldHRpbmdzOjpEZXZlbG9w
ZXJFeHRyYXNFbmFibGVkKTsKIAogICAgIC8vIGdsb2JhbFNldHRpbmdzIG11c3QgYmUgcmVzZXQg
ZXhwbGljaXRseS4KICAgICBtX2RydC0+bGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+c2V0WFNTQXVk
aXRvckVuYWJsZWQoZmFsc2UpOwpAQCAtMzk2LDYgKzQwNCw5IEBAIHZvaWQgRHVtcFJlbmRlclRy
ZWU6OnJlc2V0VG9Db25zaXN0ZW50U3RhdGVCZWZvcmVUZXN0aW5nKCkKICAgICBtX3BhZ2UtPnRy
aWdnZXJBY3Rpb24oUVdlYlBhZ2U6OlN0b3ApOwogICAgIG1fcGFnZS0+YmxvY2tTaWduYWxzKGZh
bHNlKTsKIAorICAgIGlmICghbV9tYWluVmlldy0+aXNIaWRkZW4oKSkKKyAgICAgICAgbV9tYWlu
Vmlldy0+aGlkZSgpOworCiAgICAgLy8gcmVzZXQgdGhlIGxheW91dFRlc3RDb250cm9sbGVyIGF0
IHRoaXMgcG9pbnQsIHNvIHRoYXQgd2UgdW5kZXIgbm8KICAgICAvLyBjaXJjdW1zdGFuY2UgZHVt
cCAoc3RvcCB0aGUgd2FpdFVudGlsRG9uZSB0aW1lcikgZHVyaW5nIHRoZSByZXNldAogICAgIC8v
IG9mIHRoZSBEUlQuCkBAIC00MjAsOSArNDMxLDE4IEBAIHZvaWQgRHVtcFJlbmRlclRyZWU6OnJl
c2V0VG9Db25zaXN0ZW50U3RhdGVCZWZvcmVUZXN0aW5nKCkKIAogdm9pZCBEdW1wUmVuZGVyVHJl
ZTo6b3Blbihjb25zdCBRVXJsJiBhdXJsKQogeworICAgIHN0YXRpYyBRVXJsIHVybChhdXJsKTsK
KwogICAgIHJlc2V0VG9Db25zaXN0ZW50U3RhdGVCZWZvcmVUZXN0aW5nKCk7CiAKLSAgICBRVXJs
IHVybCA9IGF1cmw7CisgICAgaWYgKHVybC50b1N0cmluZygpLmNvbnRhaW5zKCJpbnNwZWN0b3Iv
IikpCisgICAgICAgIG1fcGFnZS0+Y2xvc2VXZWJJbnNwZWN0b3IoKTsKKworICAgIHVybCA9IGF1
cmw7CisKKyAgICBpZiAodXJsLnRvU3RyaW5nKCkuY29udGFpbnMoImluc3BlY3Rvci8iKSkKKyAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+c2hvd1dlYkluc3BlY3RvcigpOworCiAgICAg
bV9leHBlY3RlZEhhc2ggPSBRU3RyaW5nKCk7CiAgICAgaWYgKG1fZHVtcFBpeGVscykgewogICAg
ICAgICAvLyBzaW5nbGUgcXVvdGUgbWFya3MgdGhlIHBpeGVsIGR1bXAgaGFzaApkaWZmIC0tZ2l0
IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5oIGIvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5oCmluZGV4IGNhZWU1
MmQuLmUzZDI1ZTYgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1
bXBSZW5kZXJUcmVlUXQuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1w
UmVuZGVyVHJlZVF0LmgKQEAgLTc5LDYgKzc5LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRE
dW1wUGl4ZWxzKGJvb2wpOwogCisgICAgdm9pZCBkaXNwbGF5KCkgeyBtX21haW5WaWV3LT5zaG93
KCk7IH0KICAgICB2b2lkIGNsb3NlUmVtYWluaW5nV2luZG93cygpOwogICAgIHZvaWQgcmVzZXRU
b0NvbnNpc3RlbnRTdGF0ZUJlZm9yZVRlc3RpbmcoKTsKIApAQCAtMTQ5LDYgKzE1MCw3IEBAIHB1
YmxpYzoKICAgICBXZWJQYWdlKFFPYmplY3QqIHBhcmVudCwgRHVtcFJlbmRlclRyZWUqKTsKICAg
ICB2aXJ0dWFsIH5XZWJQYWdlKCk7CiAgICAgUVdlYkluc3BlY3Rvciogd2ViSW5zcGVjdG9yKCk7
CisgICAgdm9pZCBjbG9zZVdlYkluc3BlY3RvcigpOwogCiAgICAgUVdlYlBhZ2UgKmNyZWF0ZVdp
bmRvdyhRV2ViUGFnZTo6V2ViV2luZG93VHlwZSk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwIGIvV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKaW5kZXggZTAx
N2VlNy4uZWM2NjFjYiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQv
TGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKQEAgLTM5LDYgKzM5LDcgQEAKIGV4dGVy
biB2b2lkIHF0X2R1bXBfZWRpdGluZ19jYWxsYmFja3MoYm9vbCBiKTsKIGV4dGVybiB2b2lkIHF0
X2R1bXBfcmVzb3VyY2VfbG9hZF9jYWxsYmFja3MoYm9vbCBiKTsKIGV4dGVybiB2b2lkIHF0X2Ry
dF9zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZChRV2ViRnJhbWUqLCBib29sIGVuYWJsZWQp
OworZXh0ZXJuIHZvaWQgcXRfZHJ0X3NldFRpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZChRV2ViUGFn
ZSosIGJvb2wgZW5hYmxlZCk7CiBleHRlcm4gYm9vbCBxdF9kcnRfcGF1c2VBbmltYXRpb24oUVdl
YkZyYW1lKiwgY29uc3QgUVN0cmluZyYgbmFtZSwgZG91YmxlIHRpbWUsIGNvbnN0IFFTdHJpbmcm
IGVsZW1lbnRJZCk7CiBleHRlcm4gYm9vbCBxdF9kcnRfcGF1c2VUcmFuc2l0aW9uT2ZQcm9wZXJ0
eShRV2ViRnJhbWUqLCBjb25zdCBRU3RyaW5nJiBuYW1lLCBkb3VibGUgdGltZSwgY29uc3QgUVN0
cmluZyYgZWxlbWVudElkKTsKIGV4dGVybiBib29sIHF0X2RydF9wYXVzZVNWR0FuaW1hdGlvbihR
V2ViRnJhbWUqLCBjb25zdCBRU3RyaW5nJiBhbmltYXRpb25JZCwgZG91YmxlIHRpbWUsIGNvbnN0
IFFTdHJpbmcmIGVsZW1lbnRJZCk7CkBAIC00Niw2ICs0Nyw4IEBAIGV4dGVybiBpbnQgcXRfZHJ0
X251bWJlck9mQWN0aXZlQW5pbWF0aW9ucyhRV2ViRnJhbWUqKTsKIAogZXh0ZXJuIHZvaWQgcXRf
ZHJ0X3doaXRlTGlzdEFjY2Vzc0Zyb21PcmlnaW4oY29uc3QgUVN0cmluZyYgc291cmNlT3JpZ2lu
LCBjb25zdCBRU3RyaW5nJiBkZXN0aW5hdGlvblByb3RvY29sLCBjb25zdCBRU3RyaW5nJiBkZXN0
aW5hdGlvbkhvc3QsIGJvb2wgYWxsb3dEZXN0aW5hdGlvblN1YmRvbWFpbnMpOwogZXh0ZXJuIFFT
dHJpbmcgcXRfZHJ0X2NvdW50ZXJWYWx1ZUZvckVsZW1lbnRCeUlkKFFXZWJGcmFtZSogcUZyYW1l
LCBjb25zdCBRU3RyaW5nJiBpZCk7CitleHRlcm4gdm9pZCBxdF9kcnRfd2ViaW5zcGVjdG9yX2V4
ZWN1dGVfc2NyaXB0KFFXZWJQYWdlKiBwYWdlLCBsb25nIGNhbGxJZCwgY29uc3QgUVN0cmluZyYg
c2NyaXB0KTsKK2V4dGVybiB2b2lkIHF0X2RydF93ZWJpbnNwZWN0b3Jfc2hvdyhRV2ViUGFnZSAq
cGFnZSk7CiAKIExheW91dFRlc3RDb250cm9sbGVyOjpMYXlvdXRUZXN0Q29udHJvbGxlcihXZWJD
b3JlOjpEdW1wUmVuZGVyVHJlZSogZHJ0KQogICAgIDogUU9iamVjdCgpCkBAIC0yNDgsMTIgKzI1
MSwxMiBAQCBRU3RyaW5nIExheW91dFRlc3RDb250cm9sbGVyOjpkZWNvZGVIb3N0TmFtZShjb25z
dCBRU3RyaW5nJiBob3N0KQogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2hvd1dlYkluc3Bl
Y3RvcigpCiB7CiAgICAgbV9kcnQtPndlYlBhZ2UoKS0+c2V0dGluZ3MoKS0+c2V0QXR0cmlidXRl
KFFXZWJTZXR0aW5nczo6RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCwgdHJ1ZSk7Ci0gICAgbV9kcnQt
PndlYlBhZ2UoKS0+d2ViSW5zcGVjdG9yKCktPnNob3coKTsKKyAgICBxdF9kcnRfd2ViaW5zcGVj
dG9yX3Nob3cobV9kcnQtPndlYlBhZ2UoKSk7CiB9CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xs
ZXI6OmhpZGVXZWJJbnNwZWN0b3IoKQordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZXZhbHVh
dGVJbldlYkluc3BlY3Rvcihsb25nIGNhbGxJZCwgY29uc3QgUVN0cmluZyAmc2NyaXB0KQogewot
ICAgIG1fZHJ0LT53ZWJQYWdlKCktPndlYkluc3BlY3RvcigpLT5oaWRlKCk7CisgICAgcXRfZHJ0
X3dlYmluc3BlY3Rvcl9leGVjdXRlX3NjcmlwdChtX2RydC0+d2ViUGFnZSgpLCBjYWxsSWQsIHNj
cmlwdCk7CiB9CiAKIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEFsbG93VW5pdmVyc2Fs
QWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wgZW5hYmxlZCkKQEAgLTI2Nyw2ICsyNzAsMTEgQEAgdm9p
ZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQoYm9v
bCBlbmFibGUpCiAgICAgcXRfZHJ0X3NldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKG1fdG9w
TG9hZGluZ0ZyYW1lLCBlbmFibGUpOwogfQogCit2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpz
ZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWQoYm9vbCBlbmFibGUpCit7CisgICAgcXRfZHJ0X3Nl
dFRpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZChtX2RydC0+d2ViUGFnZSgpLCBlbmFibGUpOworfQor
CiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRGaXhlZENvbnRlbnRzU2l6ZShpbnQgd2lk
dGgsIGludCBoZWlnaHQpCiB7CiAgICAgbV90b3BMb2FkaW5nRnJhbWUtPnBhZ2UoKS0+c2V0UHJl
ZmVycmVkQ29udGVudHNTaXplKFFTaXplKHdpZHRoLCBoZWlnaHQpKTsKQEAgLTM5MSwzICszOTks
OCBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpvdmVycmlkZVByZWZlcmVuY2UoY29uc3Qg
UVN0cmluZyYgbmFtZSwgY29uc3QgUVZhcmlhbgogICAgIGVsc2UgaWYgKG5hbWUgPT0gIldlYktp
dFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IikKICAgICAgICAgUVdlYlNldHRpbmdzOjpzZXRN
YXhpbXVtUGFnZXNJbkNhY2hlKHZhbHVlLnRvSW50KCkpOwogfQorCit2b2lkIExheW91dFRlc3RD
b250cm9sbGVyOjpkaXNwbGF5KCkKK3sKKyAgICBtX2RydC0+ZGlzcGxheSgpOworfQpkaWZmIC0t
Z2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJR
dC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJR
dC5oCmluZGV4IDQ0NTFiN2EuLmU5YzQwODMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaAorKysgYi9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmgKQEAgLTk3LDcgKzk3LDcg
QEAgcHVibGljIHNsb3RzOgogICAgIHZvaWQgcHJvdmlzaW9uYWxMb2FkKCk7CiAgICAgdm9pZCBz
ZXRDbG9zZVJlbWFpbmluZ1dpbmRvd3NXaGVuQ29tcGxldGUoYm9vbCA9IGZhbHNlKSB7fQogICAg
IGludCB3aW5kb3dDb3VudCgpOwotICAgIHZvaWQgZGlzcGxheSgpIHt9CisgICAgdm9pZCBkaXNw
bGF5KCk7CiAgICAgdm9pZCBjbGVhckJhY2tGb3J3YXJkTGlzdCgpOwogICAgIFFTdHJpbmcgcGF0
aFRvTG9jYWxSZXNvdXJjZShjb25zdCBRU3RyaW5nJiB1cmwpOwogICAgIHZvaWQgZHVtcFRpdGxl
Q2hhbmdlcygpIHsgbV9kdW1wVGl0bGVDaGFuZ2VzID0gdHJ1ZTsgfQpAQCAtMTA1LDkgKzEwNSwx
MCBAQCBwdWJsaWMgc2xvdHM6CiAgICAgUVN0cmluZyBkZWNvZGVIb3N0TmFtZShjb25zdCBRU3Ry
aW5nJiBob3N0KTsKICAgICB2b2lkIGR1bXBTZWxlY3Rpb25SZWN0KCkgY29uc3Qge30KICAgICB2
b2lkIHNob3dXZWJJbnNwZWN0b3IoKTsKLSAgICB2b2lkIGhpZGVXZWJJbnNwZWN0b3IoKTsKKyAg
ICB2b2lkIGV2YWx1YXRlSW5XZWJJbnNwZWN0b3IobG9uZyBjYWxsSWQsIGNvbnN0IFFTdHJpbmcg
JnNjcmlwdCk7CiAgICAgdm9pZCBzZXRBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMcyhi
b29sIGVuYWJsZSk7CiAgICAgdm9pZCBzZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZChib29s
IGVuYWJsZSk7CisgICAgdm9pZCBzZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWQoYm9vbCBlbmFi
bGUpOwogICAgIHZvaWQgc2V0Rml4ZWRDb250ZW50c1NpemUoaW50IHdpZHRoLCBpbnQgaGVpZ2h0
KTsKICAgICB2b2lkIHNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoYm9vbCBlbmFibGUpOwogICAg
IHZvaWQgc2V0UG9wdXBCbG9ja2luZ0VuYWJsZWQoYm9vbCBlbmFibGUpOwotLSAKMS42LjMuMwoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46592</attachid>
            <date>2010-01-14 12:07:41 -0800</date>
            <delta_ts>2010-01-14 12:43:19 -0800</delta_ts>
            <desc>Updated Patch</desc>
            <filename>0001-Qt-DRT-Support-evaluateInWebInspector-setTimelinePro.patch</filename>
            <type>text/plain</type>
            <size>18204</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">RnJvbSAwNzEzMmRmYjMxYmE4Mjg3ZDY2YWZiMDAxYWJmZTAzZGE4MTk1Y2YzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnQgSG9nYW4gPHJvYmVydEByb2JlcnRob2dhbi5uZXQ+
CkRhdGU6IEZyaSwgMSBKYW4gMjAxMCAxODo0NTo1NyArMDAwMApTdWJqZWN0OiBbUEFUQ0hdIFtR
dF0gRFJUOiBTdXBwb3J0IGV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoKSwgc2V0VGltZWxpbmVQcm9m
aWxpbmdFbmFibGVkKCkgYW5kIGRpc3BsYXkoKS4KClN1cHBvcnQgTGF5b3V0VGVzdENvbnRyb2xs
ZXIuZXZhbHVhdGVJbldlYkluc3BlY3RvcigpLCBzZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWQo
KQphbmQgZGlzcGxheSgpIGluIFF0IERSVC4KCmh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0zMzA5NgoKVGhpcyBhbGxvd3MgdGhlIGZvbGxvd2luZyB0ZXN0cyB0byBwYXNz
OgoKaW5zcGVjdG9yL2V2YWx1YXRlLWluLWZyb250ZW5kLmh0bWwKaW5zcGVjdG9yL2VsZW1lbnRz
LXBhbmVsLXN0cnVjdHVyZS5odG1sCmluc3BlY3Rvci9zdHlsZXMtaWZyYW1lLmh0bWwKaW5zcGVj
dG9yL3N5bnRheC1oaWdobGlnaHQtY3NzLmh0bWwKaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQt
amF2YXNjcmlwdC5odG1sCmluc3BlY3Rvci90aW1lbGluZS1lbnVtLXN0YWJpbGl0eS5odG1sCmlu
c3BlY3Rvci90aW1lbGluZS1sYXlvdXQuaHRtbAppbnNwZWN0b3IvdGltZWxpbmUtbWFyay10aW1l
bGluZS5odG1sCmluc3BlY3Rvci90aW1lbGluZS1wYWludC5odG1sCmluc3BlY3Rvci90aW1lbGlu
ZS1wYXJzZS1odG1sLmh0bWwKaW5zcGVjdG9yL3RpbWVsaW5lLXJlY2FsY3VsYXRlLXN0eWxlcy5o
dG1sCmluc3BlY3Rvci90aW1lbGluZS1zY3JpcHQtdGFnLTEuaHRtbAppbnNwZWN0b3IvdGltZWxp
bmUtc2NyaXB0LXRhZy0yLmh0bWwKaW5zcGVjdG9yL3RpbWVsaW5lLXRyaXZpYWwuaHRtbAppbnNw
ZWN0b3IvY29va2llLXJlc291cmNlLW1hdGNoLmh0bWwKaW5zcGVjdG9yL2VsZW1lbnRzLWltZy10
b29sdGlwLmh0bWwKaW5zcGVjdG9yL2VsZW1lbnRzLXBhbmVsLXNlbGVjdGlvbi1vbi1yZWZyZXNo
Lmh0bWwKaW5zcGVjdG9yL3RpbWVsaW5lLWV2ZW50LWRpc3BhdGNoLmh0bWwKLS0tCiBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMzQgKysrKysr
KysrKysrKysKIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQgICAgICAgICAgICAgICAg
ICAgIHwgICAzMSArLS0tLS0tLS0tLS0tCiBXZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcCAgICAg
ICAgICAgICAgICAgICAgICAgICB8ICAgMzIgKysrKysrKysrKysrKysKIFdlYktpdC9xdC9DaGFu
Z2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAzOCArKysrKysrKysrKysr
KysrCiBXZWJLaXRUb29scy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
ICAgNDYgKysrKysrKysrKysrKysrKysrKysKIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0
L0R1bXBSZW5kZXJUcmVlUXQuY3BwIHwgICAyMSArKysrKysrKystCiBXZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmggICB8ICAgIDIgKwogLi4uL0R1bXBSZW5k
ZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwICAgfCAgIDI1ICsrKysrKysrKy0K
IC4uLi9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmggICAgIHwgICAg
NiArKy0KIDkgZmlsZXMgY2hhbmdlZCwgMjAxIGluc2VydGlvbnMoKyksIDM0IGRlbGV0aW9ucygt
KQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCA3NTIzNjdhLi4yYTg0N2E4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTAt
MDEtMTQgIFJvYmVydCBIb2dhbiAgPHJvYmVydEByb2JlcnRob2dhbi5uZXQ+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBEUlQ6IFN1cHBvcnQg
ZXZhbHVhdGVJbldlYkluc3BlY3RvcigpLCBzZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWQoKSBh
bmQgZGlzcGxheSgpLgorCisgICAgICAgIFN1cHBvcnQgTGF5b3V0VGVzdENvbnRyb2xsZXIuZXZh
bHVhdGVJbldlYkluc3BlY3RvcigpLCBzZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWQoKQorICAg
ICAgICBhbmQgZGlzcGxheSgpIGluIFF0IERSVC4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzMwOTYKKworICAgICAgICBUaGlzIGFsbG93cyB0aGUg
Zm9sbG93aW5nIHRlc3RzIHRvIHBhc3M6CisKKyAgICAgICAgaW5zcGVjdG9yL2V2YWx1YXRlLWlu
LWZyb250ZW5kLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2VsZW1lbnRzLXBhbmVsLXN0cnVjdHVy
ZS5odG1sCisgICAgICAgIGluc3BlY3Rvci9zdHlsZXMtaWZyYW1lLmh0bWwKKyAgICAgICAgaW5z
cGVjdG9yL3N5bnRheC1oaWdobGlnaHQtY3NzLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3N5bnRh
eC1oaWdobGlnaHQtamF2YXNjcmlwdC5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1l
bnVtLXN0YWJpbGl0eS5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1sYXlvdXQuaHRt
bAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtbWFyay10aW1lbGluZS5odG1sCisgICAgICAg
IGluc3BlY3Rvci90aW1lbGluZS1wYWludC5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGlu
ZS1wYXJzZS1odG1sLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLXJlY2FsY3VsYXRl
LXN0eWxlcy5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1zY3JpcHQtdGFnLTEuaHRt
bAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtc2NyaXB0LXRhZy0yLmh0bWwKKyAgICAgICAg
aW5zcGVjdG9yL3RpbWVsaW5lLXRyaXZpYWwuaHRtbAorICAgICAgICBpbnNwZWN0b3IvY29va2ll
LXJlc291cmNlLW1hdGNoLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2VsZW1lbnRzLWltZy10b29s
dGlwLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2VsZW1lbnRzLXBhbmVsLXNlbGVjdGlvbi1vbi1y
ZWZyZXNoLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLWV2ZW50LWRpc3BhdGNoLmh0
bWwKKworICAgICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6CisKIDIwMTAtMDEtMTQgIEFkYW0g
Um9iZW4gIDxhcm9iZW5AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBuZXcgdGVzdHMgZnJvbSBy
NTMyNzcgdG8gdGhlIFF0IFNraXBwZWQgbGlzdApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vcXQvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5kZXgg
MTg4Zjk1Ni4uNWI1NGQ0NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tp
cHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC0xNDYsMjEgKzE0
Niw2IEBAIGh0dHAvdGVzdHMvc2VjdXJpdHkvbG9jYWwtdmlkZW8tc291cmNlLWZyb20tcmVtb3Rl
Lmh0bWwKICMgICAgICAgICAgICBNaXNzaW5nIGZlYXR1cmVzIGluIG91ciBEdW1wUmVuZGVyVHJl
ZSBpbXBsZW1lbnRhdGlvbiAgICAgICAgICAgICAgIwogIyA9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAj
CiAKLSMgTWlzc2luZyBsYXlvdXRUZXN0Q29udHJvbGxlci5zaG93V2ViSW5zcGVjdG9yKCkKLWlu
c3BlY3Rvci9jb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1sCi1pbnNwZWN0b3Ivc3R5bGVz
LWlmcmFtZS5odG1sCi1pbnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1jc3MuaHRtbAotaW5zcGVj
dG9yL3N5bnRheC1oaWdobGlnaHQtamF2YXNjcmlwdC5odG1sCi1pbnNwZWN0b3IvdGltZWxpbmUt
ZW51bS1zdGFiaWxpdHkuaHRtbAotaW5zcGVjdG9yL3RpbWVsaW5lLWxheW91dC5odG1sCi1pbnNw
ZWN0b3IvdGltZWxpbmUtbWFyay10aW1lbGluZS5odG1sCi1pbnNwZWN0b3IvdGltZWxpbmUtcGFp
bnQuaHRtbAotaW5zcGVjdG9yL3RpbWVsaW5lLXBhcnNlLWh0bWwuaHRtbAotaW5zcGVjdG9yL3Rp
bWVsaW5lLXJlY2FsY3VsYXRlLXN0eWxlcy5odG1sCi1pbnNwZWN0b3IvdGltZWxpbmUtc2NyaXB0
LXRhZy0xLmh0bWwKLWluc3BlY3Rvci90aW1lbGluZS1zY3JpcHQtdGFnLTIuaHRtbAotaW5zcGVj
dG9yL3RpbWVsaW5lLXRyaXZpYWwuaHRtbAotCiAjIE1pc3NpbmcgdGV4dElucHV0Q29udHJvbGxl
ci5zZWxlY3RlZFJhbmdlKCkKIGVkaXRpbmcvc2VsZWN0aW9uLzU4MjUzNTAtMS5odG1sCiBlZGl0
aW5nL3NlbGVjdGlvbi81ODI1MzUwLTIuaHRtbApAQCAtMjA4LDE1ICsxOTMsNiBAQCBodHRwL3Rl
c3RzL3NlY3VyaXR5L2lzb2xhdGVkV29ybGQKIGh0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250
ZW50CiBodHRwL3Rlc3RzL2NhY2hlL3N1YnJlc291cmNlLWZhaWxvdmVyLXRvLW5ldHdvcmsuaHRt
bAogCi0jIE1pc3NpbmcgbGF5b3V0VGVzdENvbnRyb2xsZXIuZXZhbHVhdGVJbldlYkluc3BlY3Rv
cigpCi0jIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzA5NgotaW5z
cGVjdG9yL2Nvb2tpZS1yZXNvdXJjZS1tYXRjaC5odG1sCi1pbnNwZWN0b3IvZWxlbWVudHMtaW1n
LXRvb2x0aXAuaHRtbAotaW5zcGVjdG9yL2VsZW1lbnRzLXBhbmVsLXNlbGVjdGlvbi1vbi1yZWZy
ZXNoLmh0bWwKLWluc3BlY3Rvci90aW1lbGluZS1ldmVudC1kaXNwYXRjaC5odG1sCi1pbnNwZWN0
b3IvdGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS5odG1sCi1pbnNwZWN0b3IvZWxlbWVudHMtcGFu
ZWwtcmV3cml0ZS1ocmVmLmh0bWwKLQogIyBNaXNzaW5nIGxheW91dFRlc3RDb250cm9sbGVyLnNl
dFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZCgpCiBlZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVjbGlj
ay1iZXNpZGUtY3Itc3Bhbi5odG1sCiAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICMKQEAgLTQ4NDQs
MTMgKzQ4MjAsMTMgQEAgZmFzdC9kb20vV2luZG93L3Nsb3dfdW5sb2FkX2hhbmRsZXIuaHRtbAog
IyBUaGlzIHBvcnQgZG9lc24ndCBoYXZlIGEgZ2xvYmFsIGhpc3RvcnkgZGVsZWdhdGUgeWV0CiBo
dHRwL3Rlc3RzL2dsb2JhbGhpc3RvcnkKIAotIyBTa2lwIGluc3BlY3RvciB0ZXN0cworIyBGYWls
IGJlY2F1c2UgZnVsbCBmaWxlOi8vIFVSTCBpcyByZXR1cm5lZCBpbiBjb25zb2xlIG1lc3NhZ2Uu
CiBpbnNwZWN0b3IvY29uc29sZS1kaXIuaHRtbAogaW5zcGVjdG9yL2NvbnNvbGUtZGlyeG1sLmh0
bWwKIGluc3BlY3Rvci9jb25zb2xlLWZvcm1hdC5odG1sCiBpbnNwZWN0b3IvY29uc29sZS10ZXN0
cy5odG1sCi1pbnNwZWN0b3IvZWxlbWVudHMtcGFuZWwtc3RydWN0dXJlLmh0bWwKLWluc3BlY3Rv
ci9ldmFsdWF0ZS1pbi1mcm9udGVuZC5odG1sCitpbnNwZWN0b3IvY29uc29sZS1jbGVhci5odG1s
CitpbnNwZWN0b3IvY29uc29sZS1mb3JtYXQtY29sbGVjdGlvbnMuaHRtbAogCiAjIFNraXAgeG1s
aHR0cHJlcXVlc3QgdGVzdHMgLSBORVRXT1JLX0VSUjogWE1MSHR0cFJlcXVlc3QgRXhjZXB0aW9u
IDEwMTogQSBuZXR3b3JrIGVycm9yIG9jY3VyZWQgaW4gc3luY2hyb25vdXMgcmVxdWVzdHMuCiBo
dHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLWJhc2ljLWFsbG93LXByZWZs
aWdodC1jYWNoZS5odG1sCkBAIC01MDIzLDcgKzQ5OTksNiBAQCBmYXN0L2RvbS9Eb2N1bWVudC9l
YXJseS1kb2N1bWVudC1hY2Nlc3MuaHRtbAogZmFzdC9kb20vV2luZG93L3dpbmRvdy1lYXJseS1w
cm9wZXJ0aWVzLmh0bWwKIGZhc3QvZXZlbnRzL29wZW4td2luZG93LWZyb20tYW5vdGhlci1mcmFt
ZS5odG1sCiBmYXN0L2V2ZW50cy9wb3B1cC1ibG9ja2luZy1jbGljay1pbi1pZnJhbWUuaHRtbAot
aW5zcGVjdG9yL2NvbnNvbGUtY2xlYXIuaHRtbAogaHR0cC90ZXN0cy9taXNjL3NldC13aW5kb3ct
b3BlbmVyLXRvLW51bGwuaHRtbAogaHR0cC90ZXN0cy9zZWN1cml0eS9hYm91dEJsYW5rL3hzcy1E
RU5JRUQtc2V0LW9wZW5lci5odG1sCiBodHRwL3Rlc3RzL3NlY3VyaXR5L2RhdGFVUkwveHNzLURF
TklFRC1mcm9tLWRhdGEtdXJsLWluLWZvcmVpZ24tZG9tYWluLXdpbmRvdy1vcGVuLmh0bWwKZGlm
ZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwIGIvV2ViS2l0L3F0L0FwaS9xd2Vi
cGFnZS5jcHAKaW5kZXggNTk4ZDdkNi4uMmI5ODQ2YyAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0Fw
aS9xd2VicGFnZS5jcHAKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKQEAgLTE0NSw2
ICsxNDUsMzggQEAgUVN0cmluZyBRV0VCS0lUX0VYUE9SVCBxdF93ZWJwYWdlX2dyb3VwTmFtZShR
V2ViUGFnZSogcGFnZSkKICAgICByZXR1cm4gcGFnZS0+aGFuZGxlKCktPnBhZ2UtPmdyb3VwTmFt
ZSgpOwogfQogCit2b2lkIFFXRUJLSVRfRVhQT1JUIHF0X2RydF93ZWJpbnNwZWN0b3JfZXhlY3V0
ZVNjcmlwdChRV2ViUGFnZSAqcGFnZSwgbG9uZyBjYWxsSWQsIGNvbnN0IFFTdHJpbmcgJnNjcmlw
dCkKK3sKKyAgICBpZiAoIXBhZ2UtPmhhbmRsZSgpLT5wYWdlLT5pbnNwZWN0b3JDb250cm9sbGVy
KCkpCisgICAgICAgIHJldHVybjsKKyAgICBwYWdlLT5oYW5kbGUoKS0+cGFnZS0+aW5zcGVjdG9y
Q29udHJvbGxlcigpLT5ldmFsdWF0ZUZvclRlc3RJbkZyb250ZW5kKGNhbGxJZCwgc2NyaXB0KTsK
K30KKwordm9pZCBRV0VCS0lUX0VYUE9SVCBxdF9kcnRfd2ViaW5zcGVjdG9yX2Nsb3NlKFFXZWJQ
YWdlICpwYWdlKQoreworICAgIGlmICghcGFnZS0+aGFuZGxlKCktPnBhZ2UtPmluc3BlY3RvckNv
bnRyb2xsZXIoKSkKKyAgICAgICAgcmV0dXJuOworICAgIHBhZ2UtPmhhbmRsZSgpLT5wYWdlLT5p
bnNwZWN0b3JDb250cm9sbGVyKCktPmNsb3NlKCk7Cit9CisKK3ZvaWQgUVdFQktJVF9FWFBPUlQg
cXRfZHJ0X3dlYmluc3BlY3Rvcl9zaG93KFFXZWJQYWdlICpwYWdlKQoreworICAgIGlmICghcGFn
ZS0+aGFuZGxlKCktPnBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKSkKKyAgICAgICAgcmV0dXJu
OworICAgIHBhZ2UtPmhhbmRsZSgpLT5wYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPnNob3co
KTsKK30KKwordm9pZCBRV0VCS0lUX0VYUE9SVCBxdF9kcnRfc2V0VGltZWxpbmVQcm9maWxpbmdF
bmFibGVkKFFXZWJQYWdlKiBwYWdlLCBib29sIGVuYWJsZWQpCit7CisgICAgSW5zcGVjdG9yQ29u
dHJvbGxlciogY29udHJvbGxlciA9IHBhZ2UtPmhhbmRsZSgpLT5wYWdlLT5pbnNwZWN0b3JDb250
cm9sbGVyKCk7CisgICAgaWYgKCFjb250cm9sbGVyKQorICAgICAgICByZXR1cm47CisgICAgaWYg
KGVuYWJsZWQpCisgICAgICAgIGNvbnRyb2xsZXItPnN0YXJ0VGltZWxpbmVQcm9maWxlcigpOwor
ICAgIGVsc2UKKyAgICAgICAgY29udHJvbGxlci0+c3RvcFRpbWVsaW5lUHJvZmlsZXIoKTsKK30K
KwogY2xhc3MgUVdlYlBhZ2VXaWRnZXRDbGllbnQgOiBwdWJsaWMgUVdlYlBhZ2VDbGllbnQgewog
cHVibGljOgogICAgIFFXZWJQYWdlV2lkZ2V0Q2xpZW50KFFXaWRnZXQqIHZpZXcpCmRpZmYgLS1n
aXQgYS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCBiNzRi
MzRiLi44YzUwZGZlIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1dlYktp
dC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MSBAQAorMjAxMC0wMS0xNCAgUm9iZXJ0IEhvZ2Fu
ICA8cm9iZXJ0QHJvYmVydGhvZ2FuLm5ldD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBbUXRdIERSVDogU3VwcG9ydCBldmFsdWF0ZUluV2ViSW5zcGVj
dG9yKCksIHNldFRpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZCgpIGFuZCBkaXNwbGF5KCkuCisgICAg
ICAgIAorICAgICAgICBTdXBwb3J0IExheW91dFRlc3RDb250cm9sbGVyLmV2YWx1YXRlSW5XZWJJ
bnNwZWN0b3IoKSwgc2V0VGltZWxpbmVQcm9maWxpbmdFbmFibGVkKCkKKyAgICAgICAgYW5kIGRp
c3BsYXkoKSBpbiBRdCBEUlQuCisgICAgICAgIAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzMwOTYKKyAgICAgICAgCisgICAgICAgIFRoaXMgYWxsb3dz
IHRoZSBmb2xsb3dpbmcgdGVzdHMgdG8gcGFzczoKKyAgICAgICAgCisgICAgICAgIGluc3BlY3Rv
ci9ldmFsdWF0ZS1pbi1mcm9udGVuZC5odG1sCisgICAgICAgIGluc3BlY3Rvci9lbGVtZW50cy1w
YW5lbC1zdHJ1Y3R1cmUuaHRtbAorICAgICAgICBpbnNwZWN0b3Ivc3R5bGVzLWlmcmFtZS5odG1s
CisgICAgICAgIGluc3BlY3Rvci9zeW50YXgtaGlnaGxpZ2h0LWNzcy5odG1sCisgICAgICAgIGlu
c3BlY3Rvci9zeW50YXgtaGlnaGxpZ2h0LWphdmFzY3JpcHQuaHRtbAorICAgICAgICBpbnNwZWN0
b3IvdGltZWxpbmUtZW51bS1zdGFiaWxpdHkuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxp
bmUtbGF5b3V0Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLW1hcmstdGltZWxpbmUu
aHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtcGFpbnQuaHRtbAorICAgICAgICBpbnNw
ZWN0b3IvdGltZWxpbmUtcGFyc2UtaHRtbC5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGlu
ZS1yZWNhbGN1bGF0ZS1zdHlsZXMuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtc2Ny
aXB0LXRhZy0xLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLXNjcmlwdC10YWctMi5o
dG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS10cml2aWFsLmh0bWwKKyAgICAgICAgaW5z
cGVjdG9yL2Nvb2tpZS1yZXNvdXJjZS1tYXRjaC5odG1sCisgICAgICAgIGluc3BlY3Rvci9lbGVt
ZW50cy1pbWctdG9vbHRpcC5odG1sCisgICAgICAgIGluc3BlY3Rvci9lbGVtZW50cy1wYW5lbC1z
ZWxlY3Rpb24tb24tcmVmcmVzaC5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1ldmVu
dC1kaXNwYXRjaC5odG1sCisKKyAgICAgICAgKiBBcGkvcXdlYnBhZ2UuY3BwOgorICAgICAgICAo
cXRfZHJ0X3dlYmluc3BlY3Rvcl9leGVjdXRlU2NyaXB0KToKKyAgICAgICAgKHF0X2RydF93ZWJp
bnNwZWN0b3JfY2xvc2UpOgorICAgICAgICAocXRfZHJ0X3dlYmluc3BlY3Rvcl9zaG93KToKKyAg
ICAgICAgKHF0X2RydF9zZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWQpOgorCiAyMDEwLTAxLTE0
ICBTaW1vbiBIYXVzbWFubiAgPHNpbW9uLmhhdXNtYW5uQG5va2lhLmNvbT4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBUb3IgQXJuZSBWZXN0YsO4LgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvQ2hh
bmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDZiMjJkYzUuLmJiZjAxYWMgMTAw
NjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSw0OSBAQAorMjAxMC0wMS0xNCAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHJv
YmVydGhvZ2FuLm5ldD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBbUXRdIERSVDogU3VwcG9ydCBldmFsdWF0ZUluV2ViSW5zcGVjdG9yKCksIHNldFRp
bWVsaW5lUHJvZmlsaW5nRW5hYmxlZCgpIGFuZCBkaXNwbGF5KCkuCisKKyAgICAgICAgU3VwcG9y
dCBMYXlvdXRUZXN0Q29udHJvbGxlci5ldmFsdWF0ZUluV2ViSW5zcGVjdG9yKCksIHNldFRpbWVs
aW5lUHJvZmlsaW5nRW5hYmxlZCgpCisgICAgICAgIGFuZCBkaXNwbGF5KCkgaW4gUXQgRFJULgor
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzA5Ngor
CisgICAgICAgIFRoaXMgYWxsb3dzIHRoZSBmb2xsb3dpbmcgdGVzdHMgdG8gcGFzczoKKworICAg
ICAgICBpbnNwZWN0b3IvZXZhbHVhdGUtaW4tZnJvbnRlbmQuaHRtbAorICAgICAgICBpbnNwZWN0
b3IvZWxlbWVudHMtcGFuZWwtc3RydWN0dXJlLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3N0eWxl
cy1pZnJhbWUuaHRtbAorICAgICAgICBpbnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1jc3MuaHRt
bAorICAgICAgICBpbnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1qYXZhc2NyaXB0Lmh0bWwKKyAg
ICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLWVudW0tc3RhYmlsaXR5Lmh0bWwKKyAgICAgICAgaW5z
cGVjdG9yL3RpbWVsaW5lLWxheW91dC5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1t
YXJrLXRpbWVsaW5lLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLXBhaW50Lmh0bWwK
KyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLXBhcnNlLWh0bWwuaHRtbAorICAgICAgICBpbnNw
ZWN0b3IvdGltZWxpbmUtcmVjYWxjdWxhdGUtc3R5bGVzLmh0bWwKKyAgICAgICAgaW5zcGVjdG9y
L3RpbWVsaW5lLXNjcmlwdC10YWctMS5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1z
Y3JpcHQtdGFnLTIuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtdHJpdmlhbC5odG1s
CisgICAgICAgIGluc3BlY3Rvci9jb29raWUtcmVzb3VyY2UtbWF0Y2guaHRtbAorICAgICAgICBp
bnNwZWN0b3IvZWxlbWVudHMtaW1nLXRvb2x0aXAuaHRtbAorICAgICAgICBpbnNwZWN0b3IvZWxl
bWVudHMtcGFuZWwtc2VsZWN0aW9uLW9uLXJlZnJlc2guaHRtbAorICAgICAgICBpbnNwZWN0b3Iv
dGltZWxpbmUtZXZlbnQtZGlzcGF0Y2guaHRtbAorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
cXQvRHVtcFJlbmRlclRyZWVRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEdW1wUmVuZGVyVHJl
ZTo6cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZUJlZm9yZVRlc3RpbmcpOgorICAgICAgICAoV2ViQ29y
ZTo6aXNXZWJJbnNwZWN0b3JUZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkR1bXBSZW5kZXJUcmVl
OjpvcGVuKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0Lmg6
CisgICAgICAgIChXZWJDb3JlOjpEdW1wUmVuZGVyVHJlZTo6ZGlzcGxheSk6CisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHA6CisgICAgICAgIChM
YXlvdXRUZXN0Q29udHJvbGxlcjo6Y2xvc2VXZWJJbnNwZWN0b3IpOgorICAgICAgICAoTGF5b3V0
VGVzdENvbnRyb2xsZXI6OnNob3dXZWJJbnNwZWN0b3IpOgorICAgICAgICAoTGF5b3V0VGVzdENv
bnRyb2xsZXI6OmV2YWx1YXRlSW5XZWJJbnNwZWN0b3IpOgorICAgICAgICAoTGF5b3V0VGVzdENv
bnRyb2xsZXI6OnNldFRpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZCk6CisgICAgICAgIChMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6ZGlzcGxheSk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvTGF5
b3V0VGVzdENvbnRyb2xsZXJRdC5oOgorCiAyMDEwLTAxLTEzICBEaWVnbyBHb256YWxleiAgPGRp
ZWdvLmdvbnphbGV6QG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0
aCBDaHJpc3RpYW5zZW4uCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9x
dC9EdW1wUmVuZGVyVHJlZVF0LmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1
bXBSZW5kZXJUcmVlUXQuY3BwCmluZGV4IDUyOTM5ZTQuLjcxYTExMzUgMTAwNjQ0Ci0tLSBhL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCisrKyBiL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCkBAIC0zOTcs
NiArMzk3LDkgQEAgdm9pZCBEdW1wUmVuZGVyVHJlZTo6cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZUJl
Zm9yZVRlc3RpbmcoKQogICAgIG1fcGFnZS0+dHJpZ2dlckFjdGlvbihRV2ViUGFnZTo6U3RvcCk7
CiAgICAgbV9wYWdlLT5ibG9ja1NpZ25hbHMoZmFsc2UpOwogCisgICAgaWYgKCFtX21haW5WaWV3
LT5pc0hpZGRlbigpKQorICAgICAgICBtX21haW5WaWV3LT5oaWRlKCk7CisKICAgICAvLyByZXNl
dCB0aGUgbGF5b3V0VGVzdENvbnRyb2xsZXIgYXQgdGhpcyBwb2ludCwgc28gdGhhdCB3ZSB1bmRl
ciBubwogICAgIC8vIGNpcmN1bXN0YW5jZSBkdW1wIChzdG9wIHRoZSB3YWl0VW50aWxEb25lIHRp
bWVyKSBkdXJpbmcgdGhlIHJlc2V0CiAgICAgLy8gb2YgdGhlIERSVC4KQEAgLTQxOSwxMSArNDIy
LDI3IEBAIHZvaWQgRHVtcFJlbmRlclRyZWU6OnJlc2V0VG9Db25zaXN0ZW50U3RhdGVCZWZvcmVU
ZXN0aW5nKCkKICAgICBzZXRsb2NhbGUoTENfQUxMLCAiIik7CiB9CiAKK3N0YXRpYyBib29sIGlz
V2ViSW5zcGVjdG9yVGVzdChjb25zdCBRVXJsJiB1cmwpCit7CisgICAgaWYgKHVybC50b1N0cmlu
ZygpLmNvbnRhaW5zKCJpbnNwZWN0b3IvIikpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIHJl
dHVybiBmYWxzZTsKK30KKwogdm9pZCBEdW1wUmVuZGVyVHJlZTo6b3Blbihjb25zdCBRVXJsJiBh
dXJsKQogeworICAgIHN0YXRpYyBRVXJsIHVybChhdXJsKTsKKwogICAgIHJlc2V0VG9Db25zaXN0
ZW50U3RhdGVCZWZvcmVUZXN0aW5nKCk7CiAKLSAgICBRVXJsIHVybCA9IGF1cmw7CisgICAgaWYg
KGlzV2ViSW5zcGVjdG9yVGVzdCh1cmwpKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlcigp
LT5jbG9zZVdlYkluc3BlY3RvcigpOworCisgICAgdXJsID0gYXVybDsKKworICAgIGlmIChpc1dl
Ykluc3BlY3RvclRlc3QodXJsKSkKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+c2hv
d1dlYkluc3BlY3RvcigpOworCiAgICAgbV9leHBlY3RlZEhhc2ggPSBRU3RyaW5nKCk7CiAgICAg
aWYgKG1fZHVtcFBpeGVscykgewogICAgICAgICAvLyBzaW5nbGUgcXVvdGUgbWFya3MgdGhlIHBp
eGVsIGR1bXAgaGFzaApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQv
RHVtcFJlbmRlclRyZWVRdC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJl
bmRlclRyZWVRdC5oCmluZGV4IGNhZWU1MmQuLmUzZDI1ZTYgMTAwNjQ0Ci0tLSBhL1dlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuaAorKysgYi9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmgKQEAgLTc5LDYgKzc5LDcgQEAg
cHVibGljOgogCiAgICAgdm9pZCBzZXREdW1wUGl4ZWxzKGJvb2wpOwogCisgICAgdm9pZCBkaXNw
bGF5KCkgeyBtX21haW5WaWV3LT5zaG93KCk7IH0KICAgICB2b2lkIGNsb3NlUmVtYWluaW5nV2lu
ZG93cygpOwogICAgIHZvaWQgcmVzZXRUb0NvbnNpc3RlbnRTdGF0ZUJlZm9yZVRlc3RpbmcoKTsK
IApAQCAtMTQ5LDYgKzE1MCw3IEBAIHB1YmxpYzoKICAgICBXZWJQYWdlKFFPYmplY3QqIHBhcmVu
dCwgRHVtcFJlbmRlclRyZWUqKTsKICAgICB2aXJ0dWFsIH5XZWJQYWdlKCk7CiAgICAgUVdlYklu
c3BlY3Rvciogd2ViSW5zcGVjdG9yKCk7CisgICAgdm9pZCBjbG9zZVdlYkluc3BlY3RvcigpOwog
CiAgICAgUVdlYlBhZ2UgKmNyZWF0ZVdpbmRvdyhRV2ViUGFnZTo6V2ViV2luZG93VHlwZSk7CiAK
ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250
cm9sbGVyUXQuY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENv
bnRyb2xsZXJRdC5jcHAKaW5kZXggYzJlMDk3Yi4uM2RiZTBkNyAxMDA2NDQKLS0tIGEvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKKysrIGIv
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAK
QEAgLTM5LDYgKzM5LDcgQEAKIGV4dGVybiB2b2lkIHF0X2R1bXBfZWRpdGluZ19jYWxsYmFja3Mo
Ym9vbCBiKTsKIGV4dGVybiB2b2lkIHF0X2R1bXBfcmVzb3VyY2VfbG9hZF9jYWxsYmFja3MoYm9v
bCBiKTsKIGV4dGVybiB2b2lkIHF0X2RydF9zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZChR
V2ViRnJhbWUqLCBib29sIGVuYWJsZWQpOworZXh0ZXJuIHZvaWQgcXRfZHJ0X3NldFRpbWVsaW5l
UHJvZmlsaW5nRW5hYmxlZChRV2ViUGFnZSosIGJvb2wgZW5hYmxlZCk7CiBleHRlcm4gYm9vbCBx
dF9kcnRfcGF1c2VBbmltYXRpb24oUVdlYkZyYW1lKiwgY29uc3QgUVN0cmluZyYgbmFtZSwgZG91
YmxlIHRpbWUsIGNvbnN0IFFTdHJpbmcmIGVsZW1lbnRJZCk7CiBleHRlcm4gYm9vbCBxdF9kcnRf
cGF1c2VUcmFuc2l0aW9uT2ZQcm9wZXJ0eShRV2ViRnJhbWUqLCBjb25zdCBRU3RyaW5nJiBuYW1l
LCBkb3VibGUgdGltZSwgY29uc3QgUVN0cmluZyYgZWxlbWVudElkKTsKIGV4dGVybiBib29sIHF0
X2RydF9wYXVzZVNWR0FuaW1hdGlvbihRV2ViRnJhbWUqLCBjb25zdCBRU3RyaW5nJiBhbmltYXRp
b25JZCwgZG91YmxlIHRpbWUsIGNvbnN0IFFTdHJpbmcmIGVsZW1lbnRJZCk7CkBAIC00Niw2ICs0
Nyw5IEBAIGV4dGVybiBpbnQgcXRfZHJ0X251bWJlck9mQWN0aXZlQW5pbWF0aW9ucyhRV2ViRnJh
bWUqKTsKIAogZXh0ZXJuIHZvaWQgcXRfZHJ0X3doaXRlTGlzdEFjY2Vzc0Zyb21PcmlnaW4oY29u
c3QgUVN0cmluZyYgc291cmNlT3JpZ2luLCBjb25zdCBRU3RyaW5nJiBkZXN0aW5hdGlvblByb3Rv
Y29sLCBjb25zdCBRU3RyaW5nJiBkZXN0aW5hdGlvbkhvc3QsIGJvb2wgYWxsb3dEZXN0aW5hdGlv
blN1YmRvbWFpbnMpOwogZXh0ZXJuIFFTdHJpbmcgcXRfZHJ0X2NvdW50ZXJWYWx1ZUZvckVsZW1l
bnRCeUlkKFFXZWJGcmFtZSogcUZyYW1lLCBjb25zdCBRU3RyaW5nJiBpZCk7CitleHRlcm4gdm9p
ZCBxdF9kcnRfd2ViaW5zcGVjdG9yX2V4ZWN1dGVTY3JpcHQoUVdlYlBhZ2UqIHBhZ2UsIGxvbmcg
Y2FsbElkLCBjb25zdCBRU3RyaW5nJiBzY3JpcHQpOworZXh0ZXJuIHZvaWQgcXRfZHJ0X3dlYmlu
c3BlY3Rvcl9zaG93KFFXZWJQYWdlICpwYWdlKTsKK2V4dGVybiB2b2lkIHF0X2RydF93ZWJpbnNw
ZWN0b3JfY2xvc2UoUVdlYlBhZ2UgKnBhZ2UpOwogCiBMYXlvdXRUZXN0Q29udHJvbGxlcjo6TGF5
b3V0VGVzdENvbnRyb2xsZXIoV2ViQ29yZTo6RHVtcFJlbmRlclRyZWUqIGRydCkKICAgICA6IFFP
YmplY3QoKQpAQCAtMjQ1LDE1ICsyNDksMjIgQEAgUVN0cmluZyBMYXlvdXRUZXN0Q29udHJvbGxl
cjo6ZGVjb2RlSG9zdE5hbWUoY29uc3QgUVN0cmluZyYgaG9zdCkKICAgICByZXR1cm4gZGVjb2Rl
ZDsKIH0KIAorCit2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpjbG9zZVdlYkluc3BlY3Rvcigp
Cit7CisgICAgbV9kcnQtPndlYlBhZ2UoKS0+c2V0dGluZ3MoKS0+c2V0QXR0cmlidXRlKFFXZWJT
ZXR0aW5nczo6RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCwgZmFsc2UpOworICAgIHF0X2RydF93ZWJp
bnNwZWN0b3JfY2xvc2UobV9kcnQtPndlYlBhZ2UoKSk7Cit9CisKIHZvaWQgTGF5b3V0VGVzdENv
bnRyb2xsZXI6OnNob3dXZWJJbnNwZWN0b3IoKQogewogICAgIG1fZHJ0LT53ZWJQYWdlKCktPnNl
dHRpbmdzKCktPnNldEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6OkRldmVsb3BlckV4dHJhc0VuYWJs
ZWQsIHRydWUpOwotICAgIG1fZHJ0LT53ZWJQYWdlKCktPndlYkluc3BlY3RvcigpLT5zaG93KCk7
CisgICAgcXRfZHJ0X3dlYmluc3BlY3Rvcl9zaG93KG1fZHJ0LT53ZWJQYWdlKCkpOwogfQogCi12
b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpoaWRlV2ViSW5zcGVjdG9yKCkKK3ZvaWQgTGF5b3V0
VGVzdENvbnRyb2xsZXI6OmV2YWx1YXRlSW5XZWJJbnNwZWN0b3IobG9uZyBjYWxsSWQsIGNvbnN0
IFFTdHJpbmcgJnNjcmlwdCkKIHsKLSAgICBtX2RydC0+d2ViUGFnZSgpLT53ZWJJbnNwZWN0b3Io
KS0+aGlkZSgpOworICAgIHF0X2RydF93ZWJpbnNwZWN0b3JfZXhlY3V0ZVNjcmlwdChtX2RydC0+
d2ViUGFnZSgpLCBjYWxsSWQsIHNjcmlwdCk7CiB9CiAKIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xs
ZXI6OnNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wgZW5hYmxlZCkKQEAg
LTI2Nyw2ICsyNzgsMTEgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0SmF2YVNjcmlw
dFByb2ZpbGluZ0VuYWJsZWQoYm9vbCBlbmFibGUpCiAgICAgcXRfZHJ0X3NldEphdmFTY3JpcHRQ
cm9maWxpbmdFbmFibGVkKG1fdG9wTG9hZGluZ0ZyYW1lLCBlbmFibGUpOwogfQogCit2b2lkIExh
eW91dFRlc3RDb250cm9sbGVyOjpzZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWQoYm9vbCBlbmFi
bGUpCit7CisgICAgcXRfZHJ0X3NldFRpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZChtX2RydC0+d2Vi
UGFnZSgpLCBlbmFibGUpOworfQorCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRGaXhl
ZENvbnRlbnRzU2l6ZShpbnQgd2lkdGgsIGludCBoZWlnaHQpCiB7CiAgICAgbV90b3BMb2FkaW5n
RnJhbWUtPnBhZ2UoKS0+c2V0UHJlZmVycmVkQ29udGVudHNTaXplKFFTaXplKHdpZHRoLCBoZWln
aHQpKTsKQEAgLTQwMyw0ICs0MTksNyBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRV
c2VyU3R5bGVTaGVldEVuYWJsZWQoYm9vbCBlbmFibGVkKQogICAgICAgICBtX2RydC0+d2ViUGFn
ZSgpLT5zZXR0aW5ncygpLT5zZXRVc2VyU3R5bGVTaGVldFVybChtX3VzZXJTdHlsZVNoZWV0TG9j
YXRpb24pOwogICAgIGVsc2UKICAgICAgICAgbV9kcnQtPndlYlBhZ2UoKS0+c2V0dGluZ3MoKS0+
c2V0VXNlclN0eWxlU2hlZXRVcmwoUVVybCgpKTsKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6
OmRpc3BsYXkoKQoreworICAgIG1fZHJ0LT5kaXNwbGF5KCk7CiB9CmRpZmYgLS1naXQgYS9XZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmggYi9XZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmgKaW5kZXgg
Y2ZmODQ3NC4uZjk5NzdhYyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
cXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaApAQCAtOTcsNyArOTcsNyBAQCBwdWJsaWMg
c2xvdHM6CiAgICAgdm9pZCBwcm92aXNpb25hbExvYWQoKTsKICAgICB2b2lkIHNldENsb3NlUmVt
YWluaW5nV2luZG93c1doZW5Db21wbGV0ZShib29sID0gZmFsc2UpIHt9CiAgICAgaW50IHdpbmRv
d0NvdW50KCk7Ci0gICAgdm9pZCBkaXNwbGF5KCkge30KKyAgICB2b2lkIGRpc3BsYXkoKTsKICAg
ICB2b2lkIGNsZWFyQmFja0ZvcndhcmRMaXN0KCk7CiAgICAgUVN0cmluZyBwYXRoVG9Mb2NhbFJl
c291cmNlKGNvbnN0IFFTdHJpbmcmIHVybCk7CiAgICAgdm9pZCBkdW1wVGl0bGVDaGFuZ2VzKCkg
eyBtX2R1bXBUaXRsZUNoYW5nZXMgPSB0cnVlOyB9CkBAIC0xMDUsOSArMTA1LDExIEBAIHB1Ymxp
YyBzbG90czoKICAgICBRU3RyaW5nIGRlY29kZUhvc3ROYW1lKGNvbnN0IFFTdHJpbmcmIGhvc3Qp
OwogICAgIHZvaWQgZHVtcFNlbGVjdGlvblJlY3QoKSBjb25zdCB7fQogICAgIHZvaWQgc2hvd1dl
Ykluc3BlY3RvcigpOwotICAgIHZvaWQgaGlkZVdlYkluc3BlY3RvcigpOworICAgIHZvaWQgY2xv
c2VXZWJJbnNwZWN0b3IoKTsKKyAgICB2b2lkIGV2YWx1YXRlSW5XZWJJbnNwZWN0b3IobG9uZyBj
YWxsSWQsIGNvbnN0IFFTdHJpbmcgJnNjcmlwdCk7CiAgICAgdm9pZCBzZXRBbGxvd1VuaXZlcnNh
bEFjY2Vzc0Zyb21GaWxlVVJMcyhib29sIGVuYWJsZSk7CiAgICAgdm9pZCBzZXRKYXZhU2NyaXB0
UHJvZmlsaW5nRW5hYmxlZChib29sIGVuYWJsZSk7CisgICAgdm9pZCBzZXRUaW1lbGluZVByb2Zp
bGluZ0VuYWJsZWQoYm9vbCBlbmFibGUpOwogICAgIHZvaWQgc2V0Rml4ZWRDb250ZW50c1NpemUo
aW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKICAgICB2b2lkIHNldFByaXZhdGVCcm93c2luZ0VuYWJs
ZWQoYm9vbCBlbmFibGUpOwogICAgIHZvaWQgc2V0UG9wdXBCbG9ja2luZ0VuYWJsZWQoYm9vbCBl
bmFibGUpOwotLSAKMS42LjMuMwoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46599</attachid>
            <date>2010-01-14 12:43:19 -0800</date>
            <delta_ts>2010-01-16 08:49:20 -0800</delta_ts>
            <desc>Updated Patch per EWS</desc>
            <filename>0001-Qt-DRT-Support-evaluateInWebInspector-setTimelinePro.patch</filename>
            <type>text/plain</type>
            <size>0</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64"></data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46741</attachid>
            <date>2010-01-16 08:49:20 -0800</date>
            <delta_ts>2010-01-16 10:40:50 -0800</delta_ts>
            <desc>Updated Patch</desc>
            <filename>0001-Qt-DRT-Support-evaluateInWebInspector-setTimelinePro.patch</filename>
            <type>text/plain</type>
            <size>17789</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">RnJvbSA4MzMyYTAwNmM0MDAwNjIyMzAwMjY2ZGFlYmI0ZDAyYWFkZmIxNjE4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnQgSG9nYW4gPHJvYmVydEByb2JlcnRob2dhbi5uZXQ+
CkRhdGU6IEZyaSwgMSBKYW4gMjAxMCAxODo0NTo1NyArMDAwMApTdWJqZWN0OiBbUEFUQ0hdIFtR
dF0gRFJUOiBTdXBwb3J0IGV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoKSwgc2V0VGltZWxpbmVQcm9m
aWxpbmdFbmFibGVkKCkgYW5kIGRpc3BsYXkoKS4KClN1cHBvcnQgTGF5b3V0VGVzdENvbnRyb2xs
ZXIuZXZhbHVhdGVJbldlYkluc3BlY3RvcigpLCBzZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWQo
KQphbmQgZGlzcGxheSgpIGluIFF0IERSVC4KCmh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0zMzA5NgoKVGhpcyBhbGxvd3MgdGhlIGZvbGxvd2luZyB0ZXN0cyB0byBwYXNz
OgoKaW5zcGVjdG9yL2V2YWx1YXRlLWluLWZyb250ZW5kLmh0bWwKaW5zcGVjdG9yL2VsZW1lbnRz
LXBhbmVsLXN0cnVjdHVyZS5odG1sCmluc3BlY3Rvci9zdHlsZXMtaWZyYW1lLmh0bWwKaW5zcGVj
dG9yL3N5bnRheC1oaWdobGlnaHQtY3NzLmh0bWwKaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQt
amF2YXNjcmlwdC5odG1sCmluc3BlY3Rvci90aW1lbGluZS1lbnVtLXN0YWJpbGl0eS5odG1sCmlu
c3BlY3Rvci90aW1lbGluZS1sYXlvdXQuaHRtbAppbnNwZWN0b3IvdGltZWxpbmUtbWFyay10aW1l
bGluZS5odG1sCmluc3BlY3Rvci90aW1lbGluZS1wYXJzZS1odG1sLmh0bWwKaW5zcGVjdG9yL3Rp
bWVsaW5lLXJlY2FsY3VsYXRlLXN0eWxlcy5odG1sCmluc3BlY3Rvci90aW1lbGluZS1zY3JpcHQt
dGFnLTEuaHRtbAppbnNwZWN0b3IvdGltZWxpbmUtc2NyaXB0LXRhZy0yLmh0bWwKaW5zcGVjdG9y
L3RpbWVsaW5lLXRyaXZpYWwuaHRtbAppbnNwZWN0b3IvY29va2llLXJlc291cmNlLW1hdGNoLmh0
bWwKaW5zcGVjdG9yL2VsZW1lbnRzLWltZy10b29sdGlwLmh0bWwKaW5zcGVjdG9yL2VsZW1lbnRz
LXBhbmVsLXNlbGVjdGlvbi1vbi1yZWZyZXNoLmh0bWwKaW5zcGVjdG9yL3RpbWVsaW5lLWV2ZW50
LWRpc3BhdGNoLmh0bWwKLS0tCiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8ICAgMzQgKysrKysrKysrKysrKysrCiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9xdC9Ta2lwcGVkICAgICAgICAgICAgICAgICAgICB8ICAgMzQgKysrLS0tLS0tLS0tLS0tCiBX
ZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcCAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMzIg
KysrKysrKysrKysrKysKIFdlYktpdC9xdC9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgICAzOCArKysrKysrKysrKysrKysrCiBXZWJLaXQvcXQvV2ViQ29yZVN1cHBv
cnQvSW5zcGVjdG9yQ2xpZW50UXQuY3BwICAgICB8ICAgIDUgKystCiBXZWJLaXRUb29scy9DaGFu
Z2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNDUgKysrKysrKysrKysrKysr
KysrKysKIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3Bw
IHwgICAxOCArKysrKysrLQogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRl
clRyZWVRdC5oICAgfCAgICAxICsKIC4uLi9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29u
dHJvbGxlclF0LmNwcCAgIHwgICAyMiArKysrKysrKy0KIC4uLi9EdW1wUmVuZGVyVHJlZS9xdC9M
YXlvdXRUZXN0Q29udHJvbGxlclF0LmggICAgIHwgICAgNCArLQogMTAgZmlsZXMgY2hhbmdlZCwg
MTk5IGluc2VydGlvbnMoKyksIDM0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhYjgyMThlLi4xM2Y4
NTg5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTAtMDEtMTUgIFJvYmVydCBIb2dhbiAgPHJv
YmVydEByb2JlcnRob2dhbi5uZXQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgW1F0XSBEUlQ6IFN1cHBvcnQgZXZhbHVhdGVJbldlYkluc3BlY3Rvcigp
LCBzZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWQoKSBhbmQgZGlzcGxheSgpLgorCisgICAgICAg
IFN1cHBvcnQgTGF5b3V0VGVzdENvbnRyb2xsZXIuZXZhbHVhdGVJbldlYkluc3BlY3RvcigpLCBz
ZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWQoKQorICAgICAgICBhbmQgZGlzcGxheSgpIGluIFF0
IERSVC4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MzMwOTYKKworICAgICAgICBUaGlzIGFsbG93cyB0aGUgZm9sbG93aW5nIHRlc3RzIHRvIHBhc3M6
CisKKyAgICAgICAgaW5zcGVjdG9yL2V2YWx1YXRlLWluLWZyb250ZW5kLmh0bWwKKyAgICAgICAg
aW5zcGVjdG9yL2VsZW1lbnRzLXBhbmVsLXN0cnVjdHVyZS5odG1sCisgICAgICAgIGluc3BlY3Rv
ci9zdHlsZXMtaWZyYW1lLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQt
Y3NzLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQtamF2YXNjcmlwdC5o
dG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1lbnVtLXN0YWJpbGl0eS5odG1sCisgICAg
ICAgIGluc3BlY3Rvci90aW1lbGluZS1sYXlvdXQuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGlt
ZWxpbmUtbWFyay10aW1lbGluZS5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1wYWlu
dC5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1wYXJzZS1odG1sLmh0bWwKKyAgICAg
ICAgaW5zcGVjdG9yL3RpbWVsaW5lLXJlY2FsY3VsYXRlLXN0eWxlcy5odG1sCisgICAgICAgIGlu
c3BlY3Rvci90aW1lbGluZS1zY3JpcHQtdGFnLTEuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGlt
ZWxpbmUtc2NyaXB0LXRhZy0yLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLXRyaXZp
YWwuaHRtbAorICAgICAgICBpbnNwZWN0b3IvY29va2llLXJlc291cmNlLW1hdGNoLmh0bWwKKyAg
ICAgICAgaW5zcGVjdG9yL2VsZW1lbnRzLWltZy10b29sdGlwLmh0bWwKKyAgICAgICAgaW5zcGVj
dG9yL2VsZW1lbnRzLXBhbmVsLXNlbGVjdGlvbi1vbi1yZWZyZXNoLmh0bWwKKyAgICAgICAgaW5z
cGVjdG9yL3RpbWVsaW5lLWV2ZW50LWRpc3BhdGNoLmh0bWwKKworICAgICAgICAqIHBsYXRmb3Jt
L3F0L1NraXBwZWQ6CisKIDIwMTAtMDEtMTUgIERhcmluIEZpc2hlciAgPGRhcmluQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBEaXNhYmxlIHRoaXMgdGVzdCB0ZW1wb3JhcmlseSBzaW5jZSBpdCBp
cyBmYWlsaW5nIG9uIGFsbCBvZiB0aGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3F0L1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCmluZGV4IDI5MzI4
YTYuLjM1ODU2YmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZApAQCAtMTQ2LDIxICsxNDYsNiBA
QCBodHRwL3Rlc3RzL3NlY3VyaXR5L2xvY2FsLXZpZGVvLXNvdXJjZS1mcm9tLXJlbW90ZS5odG1s
CiAjICAgICAgICAgICAgTWlzc2luZyBmZWF0dXJlcyBpbiBvdXIgRHVtcFJlbmRlclRyZWUgaW1w
bGVtZW50YXRpb24gICAgICAgICAgICAgICMKICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gIwogCi0j
IE1pc3NpbmcgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2hvd1dlYkluc3BlY3RvcigpCi1pbnNwZWN0
b3IvY29uc29sZS1mb3JtYXQtY29sbGVjdGlvbnMuaHRtbAotaW5zcGVjdG9yL3N0eWxlcy1pZnJh
bWUuaHRtbAotaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQtY3NzLmh0bWwKLWluc3BlY3Rvci9z
eW50YXgtaGlnaGxpZ2h0LWphdmFzY3JpcHQuaHRtbAotaW5zcGVjdG9yL3RpbWVsaW5lLWVudW0t
c3RhYmlsaXR5Lmh0bWwKLWluc3BlY3Rvci90aW1lbGluZS1sYXlvdXQuaHRtbAotaW5zcGVjdG9y
L3RpbWVsaW5lLW1hcmstdGltZWxpbmUuaHRtbAotaW5zcGVjdG9yL3RpbWVsaW5lLXBhaW50Lmh0
bWwKLWluc3BlY3Rvci90aW1lbGluZS1wYXJzZS1odG1sLmh0bWwKLWluc3BlY3Rvci90aW1lbGlu
ZS1yZWNhbGN1bGF0ZS1zdHlsZXMuaHRtbAotaW5zcGVjdG9yL3RpbWVsaW5lLXNjcmlwdC10YWct
MS5odG1sCi1pbnNwZWN0b3IvdGltZWxpbmUtc2NyaXB0LXRhZy0yLmh0bWwKLWluc3BlY3Rvci90
aW1lbGluZS10cml2aWFsLmh0bWwKLQogIyBNaXNzaW5nIHRleHRJbnB1dENvbnRyb2xsZXIuc2Vs
ZWN0ZWRSYW5nZSgpCiBlZGl0aW5nL3NlbGVjdGlvbi81ODI1MzUwLTEuaHRtbAogZWRpdGluZy9z
ZWxlY3Rpb24vNTgyNTM1MC0yLmh0bWwKQEAgLTIwOSwxNSArMTk0LDYgQEAgaHR0cC90ZXN0cy9z
ZWN1cml0eS9pc29sYXRlZFdvcmxkCiBodHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudAog
aHR0cC90ZXN0cy9jYWNoZS9zdWJyZXNvdXJjZS1mYWlsb3Zlci10by1uZXR3b3JrLmh0bWwKIAot
IyBNaXNzaW5nIGxheW91dFRlc3RDb250cm9sbGVyLmV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoKQot
IyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzMwOTYKLWluc3BlY3Rv
ci9jb29raWUtcmVzb3VyY2UtbWF0Y2guaHRtbAotaW5zcGVjdG9yL2VsZW1lbnRzLWltZy10b29s
dGlwLmh0bWwKLWluc3BlY3Rvci9lbGVtZW50cy1wYW5lbC1zZWxlY3Rpb24tb24tcmVmcmVzaC5o
dG1sCi1pbnNwZWN0b3IvdGltZWxpbmUtZXZlbnQtZGlzcGF0Y2guaHRtbAotaW5zcGVjdG9yL3Rp
bWVsaW5lLW5ldHdvcmstcmVzb3VyY2UuaHRtbAotaW5zcGVjdG9yL2VsZW1lbnRzLXBhbmVsLXJl
d3JpdGUtaHJlZi5odG1sCi0KICMgTWlzc2luZyBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRTbWFy
dEluc2VydERlbGV0ZUVuYWJsZWQoKQogZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlY2xpY2stYmVz
aWRlLWNyLXNwYW4uaHRtbAogIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAjCkBAIC00ODQ1LDEzICs0
ODIxLDE2IEBAIGZhc3QvZG9tL1dpbmRvdy9zbG93X3VubG9hZF9oYW5kbGVyLmh0bWwKICMgVGhp
cyBwb3J0IGRvZXNuJ3QgaGF2ZSBhIGdsb2JhbCBoaXN0b3J5IGRlbGVnYXRlIHlldAogaHR0cC90
ZXN0cy9nbG9iYWxoaXN0b3J5CiAKLSMgU2tpcCBpbnNwZWN0b3IgdGVzdHMKKyMgRmFpbCBiZWNh
dXNlIGZ1bGwgZmlsZTovLyBVUkwgaXMgcmV0dXJuZWQgaW4gY29uc29sZSBtZXNzYWdlLgogaW5z
cGVjdG9yL2NvbnNvbGUtZGlyLmh0bWwKIGluc3BlY3Rvci9jb25zb2xlLWRpcnhtbC5odG1sCiBp
bnNwZWN0b3IvY29uc29sZS1mb3JtYXQuaHRtbAogaW5zcGVjdG9yL2NvbnNvbGUtdGVzdHMuaHRt
bAotaW5zcGVjdG9yL2VsZW1lbnRzLXBhbmVsLXN0cnVjdHVyZS5odG1sCi1pbnNwZWN0b3IvZXZh
bHVhdGUtaW4tZnJvbnRlbmQuaHRtbAoraW5zcGVjdG9yL2NvbnNvbGUtY2xlYXIuaHRtbAoraW5z
cGVjdG9yL2NvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWwKKworIyBOZWVkIGEgd2F5IG9m
IHBhaW50aW5nIHdpZGdldHMgd2l0aG91dCBkaXNwbGF5aW5nIHRoZW0uCitpbnNwZWN0b3IvdGlt
ZWxpbmUtcGFpbnQuaHRtbAogCiAjIFNraXAgeG1saHR0cHJlcXVlc3QgdGVzdHMgLSBORVRXT1JL
X0VSUjogWE1MSHR0cFJlcXVlc3QgRXhjZXB0aW9uIDEwMTogQSBuZXR3b3JrIGVycm9yIG9jY3Vy
ZWQgaW4gc3luY2hyb25vdXMgcmVxdWVzdHMuCiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2Fj
Y2Vzcy1jb250cm9sLWJhc2ljLWFsbG93LXByZWZsaWdodC1jYWNoZS5odG1sCkBAIC01MDI0LDcg
KzUwMDMsNiBAQCBmYXN0L2RvbS9Eb2N1bWVudC9lYXJseS1kb2N1bWVudC1hY2Nlc3MuaHRtbAog
ZmFzdC9kb20vV2luZG93L3dpbmRvdy1lYXJseS1wcm9wZXJ0aWVzLmh0bWwKIGZhc3QvZXZlbnRz
L29wZW4td2luZG93LWZyb20tYW5vdGhlci1mcmFtZS5odG1sCiBmYXN0L2V2ZW50cy9wb3B1cC1i
bG9ja2luZy1jbGljay1pbi1pZnJhbWUuaHRtbAotaW5zcGVjdG9yL2NvbnNvbGUtY2xlYXIuaHRt
bAogaHR0cC90ZXN0cy9taXNjL3NldC13aW5kb3ctb3BlbmVyLXRvLW51bGwuaHRtbAogaHR0cC90
ZXN0cy9zZWN1cml0eS9hYm91dEJsYW5rL3hzcy1ERU5JRUQtc2V0LW9wZW5lci5odG1sCiBodHRw
L3Rlc3RzL3NlY3VyaXR5L2RhdGFVUkwveHNzLURFTklFRC1mcm9tLWRhdGEtdXJsLWluLWZvcmVp
Z24tZG9tYWluLXdpbmRvdy1vcGVuLmh0bWwKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdl
YnBhZ2UuY3BwIGIvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKaW5kZXggNTk4ZDdkNi4uMmI5
ODQ2YyAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKKysrIGIvV2ViS2l0
L3F0L0FwaS9xd2VicGFnZS5jcHAKQEAgLTE0NSw2ICsxNDUsMzggQEAgUVN0cmluZyBRV0VCS0lU
X0VYUE9SVCBxdF93ZWJwYWdlX2dyb3VwTmFtZShRV2ViUGFnZSogcGFnZSkKICAgICByZXR1cm4g
cGFnZS0+aGFuZGxlKCktPnBhZ2UtPmdyb3VwTmFtZSgpOwogfQogCit2b2lkIFFXRUJLSVRfRVhQ
T1JUIHF0X2RydF93ZWJpbnNwZWN0b3JfZXhlY3V0ZVNjcmlwdChRV2ViUGFnZSAqcGFnZSwgbG9u
ZyBjYWxsSWQsIGNvbnN0IFFTdHJpbmcgJnNjcmlwdCkKK3sKKyAgICBpZiAoIXBhZ2UtPmhhbmRs
ZSgpLT5wYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCkpCisgICAgICAgIHJldHVybjsKKyAgICBw
YWdlLT5oYW5kbGUoKS0+cGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5ldmFsdWF0ZUZvclRl
c3RJbkZyb250ZW5kKGNhbGxJZCwgc2NyaXB0KTsKK30KKwordm9pZCBRV0VCS0lUX0VYUE9SVCBx
dF9kcnRfd2ViaW5zcGVjdG9yX2Nsb3NlKFFXZWJQYWdlICpwYWdlKQoreworICAgIGlmICghcGFn
ZS0+aGFuZGxlKCktPnBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKSkKKyAgICAgICAgcmV0dXJu
OworICAgIHBhZ2UtPmhhbmRsZSgpLT5wYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPmNsb3Nl
KCk7Cit9CisKK3ZvaWQgUVdFQktJVF9FWFBPUlQgcXRfZHJ0X3dlYmluc3BlY3Rvcl9zaG93KFFX
ZWJQYWdlICpwYWdlKQoreworICAgIGlmICghcGFnZS0+aGFuZGxlKCktPnBhZ2UtPmluc3BlY3Rv
ckNvbnRyb2xsZXIoKSkKKyAgICAgICAgcmV0dXJuOworICAgIHBhZ2UtPmhhbmRsZSgpLT5wYWdl
LT5pbnNwZWN0b3JDb250cm9sbGVyKCktPnNob3coKTsKK30KKwordm9pZCBRV0VCS0lUX0VYUE9S
VCBxdF9kcnRfc2V0VGltZWxpbmVQcm9maWxpbmdFbmFibGVkKFFXZWJQYWdlKiBwYWdlLCBib29s
IGVuYWJsZWQpCit7CisgICAgSW5zcGVjdG9yQ29udHJvbGxlciogY29udHJvbGxlciA9IHBhZ2Ut
PmhhbmRsZSgpLT5wYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCk7CisgICAgaWYgKCFjb250cm9s
bGVyKQorICAgICAgICByZXR1cm47CisgICAgaWYgKGVuYWJsZWQpCisgICAgICAgIGNvbnRyb2xs
ZXItPnN0YXJ0VGltZWxpbmVQcm9maWxlcigpOworICAgIGVsc2UKKyAgICAgICAgY29udHJvbGxl
ci0+c3RvcFRpbWVsaW5lUHJvZmlsZXIoKTsKK30KKwogY2xhc3MgUVdlYlBhZ2VXaWRnZXRDbGll
bnQgOiBwdWJsaWMgUVdlYlBhZ2VDbGllbnQgewogcHVibGljOgogICAgIFFXZWJQYWdlV2lkZ2V0
Q2xpZW50KFFXaWRnZXQqIHZpZXcpCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIv
V2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCA2MmYyYjY0Li5mMjg4Nzg5IDEwMDY0NAotLS0gYS9X
ZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0
MSBAQAorMjAxMC0wMS0xNCAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHJvYmVydGhvZ2FuLm5ldD4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIERS
VDogU3VwcG9ydCBldmFsdWF0ZUluV2ViSW5zcGVjdG9yKCksIHNldFRpbWVsaW5lUHJvZmlsaW5n
RW5hYmxlZCgpIGFuZCBkaXNwbGF5KCkuCisKKyAgICAgICAgU3VwcG9ydCBMYXlvdXRUZXN0Q29u
dHJvbGxlci5ldmFsdWF0ZUluV2ViSW5zcGVjdG9yKCksIHNldFRpbWVsaW5lUHJvZmlsaW5nRW5h
YmxlZCgpCisgICAgICAgIGFuZCBkaXNwbGF5KCkgaW4gUXQgRFJULgorCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzA5NgorCisgICAgICAgIFRoaXMg
YWxsb3dzIHRoZSBmb2xsb3dpbmcgdGVzdHMgdG8gcGFzczoKKworICAgICAgICBpbnNwZWN0b3Iv
ZXZhbHVhdGUtaW4tZnJvbnRlbmQuaHRtbAorICAgICAgICBpbnNwZWN0b3IvZWxlbWVudHMtcGFu
ZWwtc3RydWN0dXJlLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3N0eWxlcy1pZnJhbWUuaHRtbAor
ICAgICAgICBpbnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1jc3MuaHRtbAorICAgICAgICBpbnNw
ZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1qYXZhc2NyaXB0Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9y
L3RpbWVsaW5lLWVudW0tc3RhYmlsaXR5Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5l
LWxheW91dC5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1tYXJrLXRpbWVsaW5lLmh0
bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLXBhaW50Lmh0bWwKKyAgICAgICAgaW5zcGVj
dG9yL3RpbWVsaW5lLXBhcnNlLWh0bWwuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUt
cmVjYWxjdWxhdGUtc3R5bGVzLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLXNjcmlw
dC10YWctMS5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1zY3JpcHQtdGFnLTIuaHRt
bAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtdHJpdmlhbC5odG1sCisgICAgICAgIGluc3Bl
Y3Rvci9jb29raWUtcmVzb3VyY2UtbWF0Y2guaHRtbAorICAgICAgICBpbnNwZWN0b3IvZWxlbWVu
dHMtaW1nLXRvb2x0aXAuaHRtbAorICAgICAgICBpbnNwZWN0b3IvZWxlbWVudHMtcGFuZWwtc2Vs
ZWN0aW9uLW9uLXJlZnJlc2guaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtZXZlbnQt
ZGlzcGF0Y2guaHRtbAorCisgICAgICAgICogQXBpL3F3ZWJwYWdlLmNwcDoKKyAgICAgICAgKHF0
X2RydF93ZWJpbnNwZWN0b3JfZXhlY3V0ZVNjcmlwdCk6CisgICAgICAgIChxdF9kcnRfd2ViaW5z
cGVjdG9yX2Nsb3NlKToKKyAgICAgICAgKHF0X2RydF93ZWJpbnNwZWN0b3Jfc2hvdyk6CisgICAg
ICAgIChxdF9kcnRfc2V0VGltZWxpbmVQcm9maWxpbmdFbmFibGVkKToKKwogMjAxMC0wMS0xNCAg
QnJpYW4gV2VpbnN0ZWluICA8YndlaW5zdGVpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgQWRhbSBSb2Jlbi4KZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9J
bnNwZWN0b3JDbGllbnRRdC5jcHAgYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9y
Q2xpZW50UXQuY3BwCmluZGV4IDFjYWY5NmQuLmZjZWU1YzMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5jcHAKKysrIGIvV2ViS2l0L3F0L1dl
YkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmNwcApAQCAtMTIwLDcgKzEyMCwxMCBAQCB2
b2lkIEluc3BlY3RvckNsaWVudFF0OjpzaG93V2luZG93KCkKIHZvaWQgSW5zcGVjdG9yQ2xpZW50
UXQ6OmNsb3NlV2luZG93KCkKIHsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQotICAgIG1faW5zcGVj
dGVkV2ViUGFnZS0+ZC0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5zZXRXaW5kb3dWaXNpYmxlKGZh
bHNlKTsKKyAgIC8vIFFXZWJJbnNwZWN0b3I6OmZyb250RW5kIGlzIGEgY29weSBvZiBpbnNwZWN0
b3JWaWV3IHdoaWNoIHdpbGwgYmUgbGVmdCBkYW5nbGluZworICAgLy8gYnkgbV9mcm9udGVuZC5z
ZXQoMCkgaW4gSW5zcGVjdG9yQ29udHJvbGxlcjo6Y2xvc2UoKSBpZiB3ZSBkbyBub3QgY2xlYXIg
aXQgaGVyZS4KKyAgIG1faW5zcGVjdGVkV2ViUGFnZS0+ZC0+Z2V0T3JDcmVhdGVJbnNwZWN0b3Io
KS0+ZC0+c2V0RnJvbnRlbmQoMCk7CisgICBtX2luc3BlY3RlZFdlYlBhZ2UtPmQtPmluc3BlY3Rv
ckNvbnRyb2xsZXIoKS0+c2V0V2luZG93VmlzaWJsZShmYWxzZSk7CiAjZW5kaWYKIH0KIApkaWZm
IC0tZ2l0IGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmlu
ZGV4IDdhMzU4NmUuLjA0ZTZhMGUgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZwor
KysgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0OCBAQAorMjAxMC0wMS0xNSAg
Um9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHJvYmVydGhvZ2FuLm5ldD4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIERSVDogU3VwcG9ydCBldmFsdWF0
ZUluV2ViSW5zcGVjdG9yKCksIHNldFRpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZCgpIGFuZCBkaXNw
bGF5KCkuCisKKyAgICAgICAgU3VwcG9ydCBMYXlvdXRUZXN0Q29udHJvbGxlci5ldmFsdWF0ZUlu
V2ViSW5zcGVjdG9yKCksIHNldFRpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZCgpCisgICAgICAgIGFu
ZCBkaXNwbGF5KCkgaW4gUXQgRFJULgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0zMzA5NgorCisgICAgICAgIFRoaXMgYWxsb3dzIHRoZSBmb2xsb3dp
bmcgdGVzdHMgdG8gcGFzczoKKworICAgICAgICBpbnNwZWN0b3IvZXZhbHVhdGUtaW4tZnJvbnRl
bmQuaHRtbAorICAgICAgICBpbnNwZWN0b3IvZWxlbWVudHMtcGFuZWwtc3RydWN0dXJlLmh0bWwK
KyAgICAgICAgaW5zcGVjdG9yL3N0eWxlcy1pZnJhbWUuaHRtbAorICAgICAgICBpbnNwZWN0b3Iv
c3ludGF4LWhpZ2hsaWdodC1jc3MuaHRtbAorICAgICAgICBpbnNwZWN0b3Ivc3ludGF4LWhpZ2hs
aWdodC1qYXZhc2NyaXB0Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLWVudW0tc3Rh
YmlsaXR5Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLWxheW91dC5odG1sCisgICAg
ICAgIGluc3BlY3Rvci90aW1lbGluZS1tYXJrLXRpbWVsaW5lLmh0bWwKKyAgICAgICAgaW5zcGVj
dG9yL3RpbWVsaW5lLXBhcnNlLWh0bWwuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUt
cmVjYWxjdWxhdGUtc3R5bGVzLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLXNjcmlw
dC10YWctMS5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1zY3JpcHQtdGFnLTIuaHRt
bAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtdHJpdmlhbC5odG1sCisgICAgICAgIGluc3Bl
Y3Rvci9jb29raWUtcmVzb3VyY2UtbWF0Y2guaHRtbAorICAgICAgICBpbnNwZWN0b3IvZWxlbWVu
dHMtaW1nLXRvb2x0aXAuaHRtbAorICAgICAgICBpbnNwZWN0b3IvZWxlbWVudHMtcGFuZWwtc2Vs
ZWN0aW9uLW9uLXJlZnJlc2guaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtZXZlbnQt
ZGlzcGF0Y2guaHRtbAorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRy
ZWVRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEdW1wUmVuZGVyVHJlZTo6cmVzZXRUb0NvbnNp
c3RlbnRTdGF0ZUJlZm9yZVRlc3RpbmcpOgorICAgICAgICAoV2ViQ29yZTo6aXNXZWJJbnNwZWN0
b3JUZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkR1bXBSZW5kZXJUcmVlOjpvcGVuKToKKyAgICAg
ICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0Lmg6CisgICAgICAgIChXZWJD
b3JlOjpEdW1wUmVuZGVyVHJlZTo6ZGlzcGxheSk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
cXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJv
bGxlcjo6Y2xvc2VXZWJJbnNwZWN0b3IpOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6
OnNob3dXZWJJbnNwZWN0b3IpOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OmV2YWx1
YXRlSW5XZWJJbnNwZWN0b3IpOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFRp
bWVsaW5lUHJvZmlsaW5nRW5hYmxlZCk6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6
ZGlzcGxheSk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xs
ZXJRdC5oOgorCiAyMDEwLTAxLTE1ICBDaHJpcyBKZXJkb25layAgPGNocmlzLmplcmRvbmVrQGdt
YWlsLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBLaWx6ZXIuCmRpZmYgLS1naXQg
YS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcCBiL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCmluZGV4IDUy
OTM5ZTQuLjdiN2IwMjkgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0
L0R1bXBSZW5kZXJUcmVlUXQuY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0
L0R1bXBSZW5kZXJUcmVlUXQuY3BwCkBAIC00MTksMTEgKzQxOSwyNyBAQCB2b2lkIER1bXBSZW5k
ZXJUcmVlOjpyZXNldFRvQ29uc2lzdGVudFN0YXRlQmVmb3JlVGVzdGluZygpCiAgICAgc2V0bG9j
YWxlKExDX0FMTCwgIiIpOwogfQogCitzdGF0aWMgYm9vbCBpc1dlYkluc3BlY3RvclRlc3QoY29u
c3QgUVVybCYgdXJsKQoreworICAgIGlmICh1cmwudG9TdHJpbmcoKS5jb250YWlucygiaW5zcGVj
dG9yLyIpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIHZv
aWQgRHVtcFJlbmRlclRyZWU6Om9wZW4oY29uc3QgUVVybCYgYXVybCkKIHsKKyAgICBzdGF0aWMg
UVVybCB1cmwoYXVybCk7CisKICAgICByZXNldFRvQ29uc2lzdGVudFN0YXRlQmVmb3JlVGVzdGlu
ZygpOwogCi0gICAgUVVybCB1cmwgPSBhdXJsOworICAgIGlmIChpc1dlYkluc3BlY3RvclRlc3Qo
dXJsKSkKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+Y2xvc2VXZWJJbnNwZWN0b3Io
KTsKKworICAgIHVybCA9IGF1cmw7CisKKyAgICBpZiAoaXNXZWJJbnNwZWN0b3JUZXN0KHVybCkp
CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyKCktPnNob3dXZWJJbnNwZWN0b3IoKTsKKwog
ICAgIG1fZXhwZWN0ZWRIYXNoID0gUVN0cmluZygpOwogICAgIGlmIChtX2R1bXBQaXhlbHMpIHsK
ICAgICAgICAgLy8gc2luZ2xlIHF1b3RlIG1hcmtzIHRoZSBwaXhlbCBkdW1wIGhhc2gKZGlmZiAt
LWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuaCBi
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuaAppbmRleCBj
YWVlNTJkLi43MmQ3MWQwIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9x
dC9EdW1wUmVuZGVyVHJlZVF0LmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQv
RHVtcFJlbmRlclRyZWVRdC5oCkBAIC0xNDksNiArMTQ5LDcgQEAgcHVibGljOgogICAgIFdlYlBh
Z2UoUU9iamVjdCogcGFyZW50LCBEdW1wUmVuZGVyVHJlZSopOwogICAgIHZpcnR1YWwgfldlYlBh
Z2UoKTsKICAgICBRV2ViSW5zcGVjdG9yKiB3ZWJJbnNwZWN0b3IoKTsKKyAgICB2b2lkIGNsb3Nl
V2ViSW5zcGVjdG9yKCk7CiAKICAgICBRV2ViUGFnZSAqY3JlYXRlV2luZG93KFFXZWJQYWdlOjpX
ZWJXaW5kb3dUeXBlKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
cXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcAppbmRleCBjMmUwOTdiLi4zMmIwNzNjIDEw
MDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJv
bGxlclF0LmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0
Q29udHJvbGxlclF0LmNwcApAQCAtMzksNiArMzksNyBAQAogZXh0ZXJuIHZvaWQgcXRfZHVtcF9l
ZGl0aW5nX2NhbGxiYWNrcyhib29sIGIpOwogZXh0ZXJuIHZvaWQgcXRfZHVtcF9yZXNvdXJjZV9s
b2FkX2NhbGxiYWNrcyhib29sIGIpOwogZXh0ZXJuIHZvaWQgcXRfZHJ0X3NldEphdmFTY3JpcHRQ
cm9maWxpbmdFbmFibGVkKFFXZWJGcmFtZSosIGJvb2wgZW5hYmxlZCk7CitleHRlcm4gdm9pZCBx
dF9kcnRfc2V0VGltZWxpbmVQcm9maWxpbmdFbmFibGVkKFFXZWJQYWdlKiwgYm9vbCBlbmFibGVk
KTsKIGV4dGVybiBib29sIHF0X2RydF9wYXVzZUFuaW1hdGlvbihRV2ViRnJhbWUqLCBjb25zdCBR
U3RyaW5nJiBuYW1lLCBkb3VibGUgdGltZSwgY29uc3QgUVN0cmluZyYgZWxlbWVudElkKTsKIGV4
dGVybiBib29sIHF0X2RydF9wYXVzZVRyYW5zaXRpb25PZlByb3BlcnR5KFFXZWJGcmFtZSosIGNv
bnN0IFFTdHJpbmcmIG5hbWUsIGRvdWJsZSB0aW1lLCBjb25zdCBRU3RyaW5nJiBlbGVtZW50SWQp
OwogZXh0ZXJuIGJvb2wgcXRfZHJ0X3BhdXNlU1ZHQW5pbWF0aW9uKFFXZWJGcmFtZSosIGNvbnN0
IFFTdHJpbmcmIGFuaW1hdGlvbklkLCBkb3VibGUgdGltZSwgY29uc3QgUVN0cmluZyYgZWxlbWVu
dElkKTsKQEAgLTQ2LDYgKzQ3LDkgQEAgZXh0ZXJuIGludCBxdF9kcnRfbnVtYmVyT2ZBY3RpdmVB
bmltYXRpb25zKFFXZWJGcmFtZSopOwogCiBleHRlcm4gdm9pZCBxdF9kcnRfd2hpdGVMaXN0QWNj
ZXNzRnJvbU9yaWdpbihjb25zdCBRU3RyaW5nJiBzb3VyY2VPcmlnaW4sIGNvbnN0IFFTdHJpbmcm
IGRlc3RpbmF0aW9uUHJvdG9jb2wsIGNvbnN0IFFTdHJpbmcmIGRlc3RpbmF0aW9uSG9zdCwgYm9v
bCBhbGxvd0Rlc3RpbmF0aW9uU3ViZG9tYWlucyk7CiBleHRlcm4gUVN0cmluZyBxdF9kcnRfY291
bnRlclZhbHVlRm9yRWxlbWVudEJ5SWQoUVdlYkZyYW1lKiBxRnJhbWUsIGNvbnN0IFFTdHJpbmcm
IGlkKTsKK2V4dGVybiB2b2lkIHF0X2RydF93ZWJpbnNwZWN0b3JfZXhlY3V0ZVNjcmlwdChRV2Vi
UGFnZSogcGFnZSwgbG9uZyBjYWxsSWQsIGNvbnN0IFFTdHJpbmcmIHNjcmlwdCk7CitleHRlcm4g
dm9pZCBxdF9kcnRfd2ViaW5zcGVjdG9yX3Nob3coUVdlYlBhZ2UgKnBhZ2UpOworZXh0ZXJuIHZv
aWQgcXRfZHJ0X3dlYmluc3BlY3Rvcl9jbG9zZShRV2ViUGFnZSAqcGFnZSk7CiAKIExheW91dFRl
c3RDb250cm9sbGVyOjpMYXlvdXRUZXN0Q29udHJvbGxlcihXZWJDb3JlOjpEdW1wUmVuZGVyVHJl
ZSogZHJ0KQogICAgIDogUU9iamVjdCgpCkBAIC0yNDUsMTUgKzI0OSwyMiBAQCBRU3RyaW5nIExh
eW91dFRlc3RDb250cm9sbGVyOjpkZWNvZGVIb3N0TmFtZShjb25zdCBRU3RyaW5nJiBob3N0KQog
ICAgIHJldHVybiBkZWNvZGVkOwogfQogCisKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmNs
b3NlV2ViSW5zcGVjdG9yKCkKK3sKKyAgICBxdF9kcnRfd2ViaW5zcGVjdG9yX2Nsb3NlKG1fZHJ0
LT53ZWJQYWdlKCkpOworICAgIG1fZHJ0LT53ZWJQYWdlKCktPnNldHRpbmdzKCktPnNldEF0dHJp
YnV0ZShRV2ViU2V0dGluZ3M6OkRldmVsb3BlckV4dHJhc0VuYWJsZWQsIGZhbHNlKTsKK30KKwog
dm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2hvd1dlYkluc3BlY3RvcigpCiB7CiAgICAgbV9k
cnQtPndlYlBhZ2UoKS0+c2V0dGluZ3MoKS0+c2V0QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6RGV2
ZWxvcGVyRXh0cmFzRW5hYmxlZCwgdHJ1ZSk7Ci0gICAgbV9kcnQtPndlYlBhZ2UoKS0+d2ViSW5z
cGVjdG9yKCktPnNob3coKTsKKyAgICBxdF9kcnRfd2ViaW5zcGVjdG9yX3Nob3cobV9kcnQtPndl
YlBhZ2UoKSk7CiB9CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmhpZGVXZWJJbnNwZWN0
b3IoKQordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZXZhbHVhdGVJbldlYkluc3BlY3Rvcihs
b25nIGNhbGxJZCwgY29uc3QgUVN0cmluZyAmc2NyaXB0KQogewotICAgIG1fZHJ0LT53ZWJQYWdl
KCktPndlYkluc3BlY3RvcigpLT5oaWRlKCk7CisgICAgcXRfZHJ0X3dlYmluc3BlY3Rvcl9leGVj
dXRlU2NyaXB0KG1fZHJ0LT53ZWJQYWdlKCksIGNhbGxJZCwgc2NyaXB0KTsKIH0KIAogdm9pZCBM
YXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMo
Ym9vbCBlbmFibGVkKQpAQCAtMjY3LDYgKzI3OCwxMSBAQCB2b2lkIExheW91dFRlc3RDb250cm9s
bGVyOjpzZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZChib29sIGVuYWJsZSkKICAgICBxdF9k
cnRfc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQobV90b3BMb2FkaW5nRnJhbWUsIGVuYWJs
ZSk7CiB9CiAKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFRpbWVsaW5lUHJvZmlsaW5n
RW5hYmxlZChib29sIGVuYWJsZSkKK3sKKyAgICBxdF9kcnRfc2V0VGltZWxpbmVQcm9maWxpbmdF
bmFibGVkKG1fZHJ0LT53ZWJQYWdlKCksIGVuYWJsZSk7Cit9CisKIHZvaWQgTGF5b3V0VGVzdENv
bnRyb2xsZXI6OnNldEZpeGVkQ29udGVudHNTaXplKGludCB3aWR0aCwgaW50IGhlaWdodCkKIHsK
ICAgICBtX3RvcExvYWRpbmdGcmFtZS0+cGFnZSgpLT5zZXRQcmVmZXJyZWRDb250ZW50c1NpemUo
UVNpemUod2lkdGgsIGhlaWdodCkpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oCmluZGV4IGNmZjg0NzQuLjlkYTRjM2Yg
MTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250
cm9sbGVyUXQuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0
Q29udHJvbGxlclF0LmgKQEAgLTEwNSw5ICsxMDUsMTEgQEAgcHVibGljIHNsb3RzOgogICAgIFFT
dHJpbmcgZGVjb2RlSG9zdE5hbWUoY29uc3QgUVN0cmluZyYgaG9zdCk7CiAgICAgdm9pZCBkdW1w
U2VsZWN0aW9uUmVjdCgpIGNvbnN0IHt9CiAgICAgdm9pZCBzaG93V2ViSW5zcGVjdG9yKCk7Ci0g
ICAgdm9pZCBoaWRlV2ViSW5zcGVjdG9yKCk7CisgICAgdm9pZCBjbG9zZVdlYkluc3BlY3Rvcigp
OworICAgIHZvaWQgZXZhbHVhdGVJbldlYkluc3BlY3Rvcihsb25nIGNhbGxJZCwgY29uc3QgUVN0
cmluZyAmc2NyaXB0KTsKICAgICB2b2lkIHNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVV
UkxzKGJvb2wgZW5hYmxlKTsKICAgICB2b2lkIHNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVk
KGJvb2wgZW5hYmxlKTsKKyAgICB2b2lkIHNldFRpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZChib29s
IGVuYWJsZSk7CiAgICAgdm9pZCBzZXRGaXhlZENvbnRlbnRzU2l6ZShpbnQgd2lkdGgsIGludCBo
ZWlnaHQpOwogICAgIHZvaWQgc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChib29sIGVuYWJsZSk7
CiAgICAgdm9pZCBzZXRQb3B1cEJsb2NraW5nRW5hYmxlZChib29sIGVuYWJsZSk7Ci0tIAoxLjYu
My4zCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46743</attachid>
            <date>2010-01-16 10:40:50 -0800</date>
            <delta_ts>2010-01-25 13:00:58 -0800</delta_ts>
            <desc>Updated Patch</desc>
            <filename>0001-Qt-DRT-Support-evaluateInWebInspector-setTimelinePro.patch</filename>
            <type>text/plain</type>
            <size>0</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64"></data>
<flag name="review"
          id="29054"
          type_id="1"
          status="-"
          setter="hausmann"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>47366</attachid>
            <date>2010-01-25 13:00:58 -0800</date>
            <delta_ts>2010-01-26 12:57:53 -0800</delta_ts>
            <desc>Updated Patch</desc>
            <filename>0001-Qt-DRT-Support-evaluateInWebInspector-setTimelinePro.patch</filename>
            <type>text/plain</type>
            <size>17762</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">RnJvbSA4YTY3YjlhMDkyYTBmMjVkNDA5YTgzOGUyOGU5NWY1Njk2MjU1ZTNhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnQgSG9nYW4gPHJvYmVydEByb2JlcnRob2dhbi5uZXQ+
CkRhdGU6IEZyaSwgMSBKYW4gMjAxMCAxODo0NTo1NyArMDAwMApTdWJqZWN0OiBbUEFUQ0hdIFtR
dF0gRFJUOiBTdXBwb3J0IGV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoKSwgc2V0VGltZWxpbmVQcm9m
aWxpbmdFbmFibGVkKCkuCgpTdXBwb3J0IExheW91dFRlc3RDb250cm9sbGVyLmV2YWx1YXRlSW5X
ZWJJbnNwZWN0b3IoKSwgc2V0VGltZWxpbmVQcm9maWxpbmdFbmFibGVkKCkKIGluIFF0IERSVC4K
Cmh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzA5NgoKVGhpcyBhbGxv
d3MgdGhlIGZvbGxvd2luZyB0ZXN0cyB0byBwYXNzOgoKaW5zcGVjdG9yL2V2YWx1YXRlLWluLWZy
b250ZW5kLmh0bWwKaW5zcGVjdG9yL2VsZW1lbnRzLXBhbmVsLXN0cnVjdHVyZS5odG1sCmluc3Bl
Y3Rvci9zdHlsZXMtaWZyYW1lLmh0bWwKaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQtY3NzLmh0
bWwKaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQtamF2YXNjcmlwdC5odG1sCmluc3BlY3Rvci90
aW1lbGluZS1lbnVtLXN0YWJpbGl0eS5odG1sCmluc3BlY3Rvci90aW1lbGluZS1sYXlvdXQuaHRt
bAppbnNwZWN0b3IvdGltZWxpbmUtbWFyay10aW1lbGluZS5odG1sCmluc3BlY3Rvci90aW1lbGlu
ZS1wYXJzZS1odG1sLmh0bWwKaW5zcGVjdG9yL3RpbWVsaW5lLXJlY2FsY3VsYXRlLXN0eWxlcy5o
dG1sCmluc3BlY3Rvci90aW1lbGluZS1zY3JpcHQtdGFnLTEuaHRtbAppbnNwZWN0b3IvdGltZWxp
bmUtc2NyaXB0LXRhZy0yLmh0bWwKaW5zcGVjdG9yL3RpbWVsaW5lLXRyaXZpYWwuaHRtbAppbnNw
ZWN0b3IvY29va2llLXJlc291cmNlLW1hdGNoLmh0bWwKaW5zcGVjdG9yL2VsZW1lbnRzLWltZy10
b29sdGlwLmh0bWwKaW5zcGVjdG9yL2VsZW1lbnRzLXBhbmVsLXNlbGVjdGlvbi1vbi1yZWZyZXNo
Lmh0bWwKaW5zcGVjdG9yL3RpbWVsaW5lLWV2ZW50LWRpc3BhdGNoLmh0bWwKLS0tCiBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMzMgKysrKysr
KysrKysrKysrCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkICAgICAgICAgICAgICAg
ICAgICB8ICAgMzQgKysrLS0tLS0tLS0tLS0tCiBXZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcCAg
ICAgICAgICAgICAgICAgICAgICAgICB8ICAgMzIgKysrKysrKysrKysrKysKIFdlYktpdC9xdC9D
aGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAzNyArKysrKysrKysr
KysrKysrCiBXZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50UXQuY3BwICAg
ICB8ICAgIDYgKysrCiBXZWJLaXRUb29scy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8ICAgNDQgKysrKysrKysrKysrKysrKysrKysKIFdlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwIHwgICAxOCArKysrKysrKy0KIFdlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuaCAgIHwgICAgMSArCiAuLi4v
RHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAgICB8ICAgMjIgKysr
KysrKystCiAuLi4vRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oICAg
ICB8ICAgIDQgKy0KIDEwIGZpbGVzIGNoYW5nZWQsIDE5OCBpbnNlcnRpb25zKCspLCAzMyBkZWxl
dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggZjNjYTZkYS4uOWExODU3MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBA
CisyMDEwLTAxLTI1ICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAcm9iZXJ0aG9nYW4ubmV0PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gRFJUOiBT
dXBwb3J0IGV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoKSwgc2V0VGltZWxpbmVQcm9maWxpbmdFbmFi
bGVkKCkuCisKKyAgICAgICAgU3VwcG9ydCBMYXlvdXRUZXN0Q29udHJvbGxlci5ldmFsdWF0ZUlu
V2ViSW5zcGVjdG9yKCksIHNldFRpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZCgpIGluIFF0IERSVC4K
KworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzMwOTYK
KworICAgICAgICBUaGlzIGFsbG93cyB0aGUgZm9sbG93aW5nIHRlc3RzIHRvIHBhc3M6CisKKyAg
ICAgICAgaW5zcGVjdG9yL2V2YWx1YXRlLWluLWZyb250ZW5kLmh0bWwKKyAgICAgICAgaW5zcGVj
dG9yL2VsZW1lbnRzLXBhbmVsLXN0cnVjdHVyZS5odG1sCisgICAgICAgIGluc3BlY3Rvci9zdHls
ZXMtaWZyYW1lLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQtY3NzLmh0
bWwKKyAgICAgICAgaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQtamF2YXNjcmlwdC5odG1sCisg
ICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1lbnVtLXN0YWJpbGl0eS5odG1sCisgICAgICAgIGlu
c3BlY3Rvci90aW1lbGluZS1sYXlvdXQuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUt
bWFyay10aW1lbGluZS5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1wYWludC5odG1s
CisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1wYXJzZS1odG1sLmh0bWwKKyAgICAgICAgaW5z
cGVjdG9yL3RpbWVsaW5lLXJlY2FsY3VsYXRlLXN0eWxlcy5odG1sCisgICAgICAgIGluc3BlY3Rv
ci90aW1lbGluZS1zY3JpcHQtdGFnLTEuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUt
c2NyaXB0LXRhZy0yLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLXRyaXZpYWwuaHRt
bAorICAgICAgICBpbnNwZWN0b3IvY29va2llLXJlc291cmNlLW1hdGNoLmh0bWwKKyAgICAgICAg
aW5zcGVjdG9yL2VsZW1lbnRzLWltZy10b29sdGlwLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2Vs
ZW1lbnRzLXBhbmVsLXNlbGVjdGlvbi1vbi1yZWZyZXNoLmh0bWwKKyAgICAgICAgaW5zcGVjdG9y
L3RpbWVsaW5lLWV2ZW50LWRpc3BhdGNoLmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL3F0L1Nr
aXBwZWQ6CisKIDIwMTAtMDEtMjUgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBIYXRjaGVyLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0
L1NraXBwZWQKaW5kZXggYTNhZDhmNC4uZTYzMjljMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVk
CkBAIC0xNDYsMjEgKzE0Niw2IEBAIGh0dHAvdGVzdHMvc2VjdXJpdHkvbG9jYWwtdmlkZW8tc291
cmNlLWZyb20tcmVtb3RlLmh0bWwKICMgICAgICAgICAgICBNaXNzaW5nIGZlYXR1cmVzIGluIG91
ciBEdW1wUmVuZGVyVHJlZSBpbXBsZW1lbnRhdGlvbiAgICAgICAgICAgICAgIwogIyA9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PSAjCiAKLSMgTWlzc2luZyBsYXlvdXRUZXN0Q29udHJvbGxlci5zaG93V2Vi
SW5zcGVjdG9yKCkKLWluc3BlY3Rvci9jb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1sCi1p
bnNwZWN0b3Ivc3R5bGVzLWlmcmFtZS5odG1sCi1pbnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1j
c3MuaHRtbAotaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQtamF2YXNjcmlwdC5odG1sCi1pbnNw
ZWN0b3IvdGltZWxpbmUtZW51bS1zdGFiaWxpdHkuaHRtbAotaW5zcGVjdG9yL3RpbWVsaW5lLWxh
eW91dC5odG1sCi1pbnNwZWN0b3IvdGltZWxpbmUtbWFyay10aW1lbGluZS5odG1sCi1pbnNwZWN0
b3IvdGltZWxpbmUtcGFpbnQuaHRtbAotaW5zcGVjdG9yL3RpbWVsaW5lLXBhcnNlLWh0bWwuaHRt
bAotaW5zcGVjdG9yL3RpbWVsaW5lLXJlY2FsY3VsYXRlLXN0eWxlcy5odG1sCi1pbnNwZWN0b3Iv
dGltZWxpbmUtc2NyaXB0LXRhZy0xLmh0bWwKLWluc3BlY3Rvci90aW1lbGluZS1zY3JpcHQtdGFn
LTIuaHRtbAotaW5zcGVjdG9yL3RpbWVsaW5lLXRyaXZpYWwuaHRtbAotCiAjIE1pc3NpbmcgdGV4
dElucHV0Q29udHJvbGxlci5zZWxlY3RlZFJhbmdlKCkKIGVkaXRpbmcvc2VsZWN0aW9uLzU4MjUz
NTAtMS5odG1sCiBlZGl0aW5nL3NlbGVjdGlvbi81ODI1MzUwLTIuaHRtbApAQCAtMjA5LDE1ICsx
OTQsNiBAQCBodHRwL3Rlc3RzL3NlY3VyaXR5L2lzb2xhdGVkV29ybGQKIGh0dHAvdGVzdHMvc2Vj
dXJpdHkvbWl4ZWRDb250ZW50CiBodHRwL3Rlc3RzL2NhY2hlL3N1YnJlc291cmNlLWZhaWxvdmVy
LXRvLW5ldHdvcmsuaHRtbAogCi0jIE1pc3NpbmcgbGF5b3V0VGVzdENvbnRyb2xsZXIuZXZhbHVh
dGVJbldlYkluc3BlY3RvcigpCi0jIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0zMzA5NgotaW5zcGVjdG9yL2Nvb2tpZS1yZXNvdXJjZS1tYXRjaC5odG1sCi1pbnNwZWN0
b3IvZWxlbWVudHMtaW1nLXRvb2x0aXAuaHRtbAotaW5zcGVjdG9yL2VsZW1lbnRzLXBhbmVsLXNl
bGVjdGlvbi1vbi1yZWZyZXNoLmh0bWwKLWluc3BlY3Rvci90aW1lbGluZS1ldmVudC1kaXNwYXRj
aC5odG1sCi1pbnNwZWN0b3IvdGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS5odG1sCi1pbnNwZWN0
b3IvZWxlbWVudHMtcGFuZWwtcmV3cml0ZS1ocmVmLmh0bWwKLQogIyBNaXNzaW5nIGxheW91dFRl
c3RDb250cm9sbGVyLnNldFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZCgpCiBlZGl0aW5nL3NlbGVj
dGlvbi9kb3VibGVjbGljay1iZXNpZGUtY3Itc3Bhbi5odG1sCiAKQEAgLTQ4NDgsMTQgKzQ4MjQs
MTcgQEAgZmFzdC9kb20vV2luZG93L3Nsb3dfdW5sb2FkX2hhbmRsZXIuaHRtbAogIyBUaGlzIHBv
cnQgZG9lc24ndCBoYXZlIGEgZ2xvYmFsIGhpc3RvcnkgZGVsZWdhdGUgeWV0CiBodHRwL3Rlc3Rz
L2dsb2JhbGhpc3RvcnkKIAotIyBTa2lwIGluc3BlY3RvciB0ZXN0cworIyBGYWlsIGJlY2F1c2Ug
ZnVsbCBmaWxlOi8vIFVSTCBpcyByZXR1cm5lZCBpbiBjb25zb2xlIG1lc3NhZ2UuCiBpbnNwZWN0
b3IvY29uc29sZS1kaXIuaHRtbAogaW5zcGVjdG9yL2NvbnNvbGUtZGlyeG1sLmh0bWwKIGluc3Bl
Y3Rvci9jb25zb2xlLWZvcm1hdC5odG1sCiBpbnNwZWN0b3IvY29uc29sZS1sb2ctYmVmb3JlLWlu
c3BlY3Rvci1vcGVuLmh0bWwKIGluc3BlY3Rvci9jb25zb2xlLXRlc3RzLmh0bWwKLWluc3BlY3Rv
ci9lbGVtZW50cy1wYW5lbC1zdHJ1Y3R1cmUuaHRtbAotaW5zcGVjdG9yL2V2YWx1YXRlLWluLWZy
b250ZW5kLmh0bWwKK2luc3BlY3Rvci9jb25zb2xlLWNsZWFyLmh0bWwKK2luc3BlY3Rvci9jb25z
b2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1sCisKKyMgTmVlZCBhIHdheSBvZiBwYWludGluZyB3
aWRnZXRzIHdpdGhvdXQgZGlzcGxheWluZyB0aGVtLgoraW5zcGVjdG9yL3RpbWVsaW5lLXBhaW50
Lmh0bWwKIAogIyBTa2lwIHhtbGh0dHByZXF1ZXN0IHRlc3RzIC0gTkVUV09SS19FUlI6IFhNTEh0
dHBSZXF1ZXN0IEV4Y2VwdGlvbiAxMDE6IEEgbmV0d29yayBlcnJvciBvY2N1cmVkIGluIHN5bmNo
cm9ub3VzIHJlcXVlc3RzLgogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9hY2Nlc3MtY29udHJv
bC1iYXNpYy1hbGxvdy1wcmVmbGlnaHQtY2FjaGUuaHRtbApAQCAtNTAyNCw3ICs1MDAzLDYgQEAg
ZmFzdC9jc3MvbmFtZXNwYWNlcy9uYW1lc3BhY2VzLWVtcHR5LnhtbAogIyBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzE2MjYKIGZhc3QvZG9tL2phdmFzY3JpcHQtdXJs
LWNyYXNoLWZ1bmN0aW9uLmh0bWwKIGZhc3QvZG9tL2xvY2F0aW9uLW5ldy13aW5kb3ctbm8tY3Jh
c2guaHRtbAotaW5zcGVjdG9yL2NvbnNvbGUtY2xlYXIuaHRtbAogaHR0cC90ZXN0cy9taXNjL3Nl
dC13aW5kb3ctb3BlbmVyLXRvLW51bGwuaHRtbAogaHR0cC90ZXN0cy9zZWN1cml0eS9hYm91dEJs
YW5rL3hzcy1ERU5JRUQtc2V0LW9wZW5lci5odG1sCiBodHRwL3Rlc3RzL3NlY3VyaXR5L2RhdGFV
UkwveHNzLURFTklFRC1mcm9tLWRhdGEtdXJsLWluLWZvcmVpZ24tZG9tYWluLXdpbmRvdy1vcGVu
Lmh0bWwKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwIGIvV2ViS2l0L3F0
L0FwaS9xd2VicGFnZS5jcHAKaW5kZXggZTUwOTQzYy4uN2Y4NGY1YyAxMDA2NDQKLS0tIGEvV2Vi
S2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAK
QEAgLTE0NSw2ICsxNDUsMzggQEAgUVN0cmluZyBRV0VCS0lUX0VYUE9SVCBxdF93ZWJwYWdlX2dy
b3VwTmFtZShRV2ViUGFnZSogcGFnZSkKICAgICByZXR1cm4gcGFnZS0+aGFuZGxlKCktPnBhZ2Ut
Pmdyb3VwTmFtZSgpOwogfQogCit2b2lkIFFXRUJLSVRfRVhQT1JUIHF0X2RydF93ZWJpbnNwZWN0
b3JfZXhlY3V0ZVNjcmlwdChRV2ViUGFnZSogcGFnZSwgbG9uZyBjYWxsSWQsIGNvbnN0IFFTdHJp
bmcgJnNjcmlwdCkKK3sKKyAgICBpZiAoIXBhZ2UtPmhhbmRsZSgpLT5wYWdlLT5pbnNwZWN0b3JD
b250cm9sbGVyKCkpCisgICAgICAgIHJldHVybjsKKyAgICBwYWdlLT5oYW5kbGUoKS0+cGFnZS0+
aW5zcGVjdG9yQ29udHJvbGxlcigpLT5ldmFsdWF0ZUZvclRlc3RJbkZyb250ZW5kKGNhbGxJZCwg
c2NyaXB0KTsKK30KKwordm9pZCBRV0VCS0lUX0VYUE9SVCBxdF9kcnRfd2ViaW5zcGVjdG9yX2Ns
b3NlKFFXZWJQYWdlKiBwYWdlKQoreworICAgIGlmICghcGFnZS0+aGFuZGxlKCktPnBhZ2UtPmlu
c3BlY3RvckNvbnRyb2xsZXIoKSkKKyAgICAgICAgcmV0dXJuOworICAgIHBhZ2UtPmhhbmRsZSgp
LT5wYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPmNsb3NlKCk7Cit9CisKK3ZvaWQgUVdFQktJ
VF9FWFBPUlQgcXRfZHJ0X3dlYmluc3BlY3Rvcl9zaG93KFFXZWJQYWdlKiBwYWdlKQoreworICAg
IGlmICghcGFnZS0+aGFuZGxlKCktPnBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKSkKKyAgICAg
ICAgcmV0dXJuOworICAgIHBhZ2UtPmhhbmRsZSgpLT5wYWdlLT5pbnNwZWN0b3JDb250cm9sbGVy
KCktPnNob3coKTsKK30KKwordm9pZCBRV0VCS0lUX0VYUE9SVCBxdF9kcnRfc2V0VGltZWxpbmVQ
cm9maWxpbmdFbmFibGVkKFFXZWJQYWdlKiBwYWdlLCBib29sIGVuYWJsZWQpCit7CisgICAgSW5z
cGVjdG9yQ29udHJvbGxlciogY29udHJvbGxlciA9IHBhZ2UtPmhhbmRsZSgpLT5wYWdlLT5pbnNw
ZWN0b3JDb250cm9sbGVyKCk7CisgICAgaWYgKCFjb250cm9sbGVyKQorICAgICAgICByZXR1cm47
CisgICAgaWYgKGVuYWJsZWQpCisgICAgICAgIGNvbnRyb2xsZXItPnN0YXJ0VGltZWxpbmVQcm9m
aWxlcigpOworICAgIGVsc2UKKyAgICAgICAgY29udHJvbGxlci0+c3RvcFRpbWVsaW5lUHJvZmls
ZXIoKTsKK30KKwogY2xhc3MgUVdlYlBhZ2VXaWRnZXRDbGllbnQgOiBwdWJsaWMgUVdlYlBhZ2VD
bGllbnQgewogcHVibGljOgogICAgIFFXZWJQYWdlV2lkZ2V0Q2xpZW50KFFXaWRnZXQqIHZpZXcp
CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpp
bmRleCAwYzkzZWUxLi5iNjQ3YjBiIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisr
KyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAxMC0wMS0yNSAgUm9i
ZXJ0IEhvZ2FuICA8cm9iZXJ0QHJvYmVydGhvZ2FuLm5ldD4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIERSVDogU3VwcG9ydCBldmFsdWF0ZUlu
V2ViSW5zcGVjdG9yKCksIHNldFRpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZCgpLgorCisgICAgICAg
IFN1cHBvcnQgTGF5b3V0VGVzdENvbnRyb2xsZXIuZXZhbHVhdGVJbldlYkluc3BlY3RvcigpLCBz
ZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWQoKSBpbiBRdCBEUlQuCisKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMzMDk2CisKKyAgICAgICAgVGhpcyBh
bGxvd3MgdGhlIGZvbGxvd2luZyB0ZXN0cyB0byBwYXNzOgorCisgICAgICAgIGluc3BlY3Rvci9l
dmFsdWF0ZS1pbi1mcm9udGVuZC5odG1sCisgICAgICAgIGluc3BlY3Rvci9lbGVtZW50cy1wYW5l
bC1zdHJ1Y3R1cmUuaHRtbAorICAgICAgICBpbnNwZWN0b3Ivc3R5bGVzLWlmcmFtZS5odG1sCisg
ICAgICAgIGluc3BlY3Rvci9zeW50YXgtaGlnaGxpZ2h0LWNzcy5odG1sCisgICAgICAgIGluc3Bl
Y3Rvci9zeW50YXgtaGlnaGxpZ2h0LWphdmFzY3JpcHQuaHRtbAorICAgICAgICBpbnNwZWN0b3Iv
dGltZWxpbmUtZW51bS1zdGFiaWxpdHkuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUt
bGF5b3V0Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLW1hcmstdGltZWxpbmUuaHRt
bAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtcGFpbnQuaHRtbAorICAgICAgICBpbnNwZWN0
b3IvdGltZWxpbmUtcGFyc2UtaHRtbC5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1y
ZWNhbGN1bGF0ZS1zdHlsZXMuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtc2NyaXB0
LXRhZy0xLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLXNjcmlwdC10YWctMi5odG1s
CisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS10cml2aWFsLmh0bWwKKyAgICAgICAgaW5zcGVj
dG9yL2Nvb2tpZS1yZXNvdXJjZS1tYXRjaC5odG1sCisgICAgICAgIGluc3BlY3Rvci9lbGVtZW50
cy1pbWctdG9vbHRpcC5odG1sCisgICAgICAgIGluc3BlY3Rvci9lbGVtZW50cy1wYW5lbC1zZWxl
Y3Rpb24tb24tcmVmcmVzaC5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1ldmVudC1k
aXNwYXRjaC5odG1sCisKKyAgICAgICAgKiBBcGkvcXdlYnBhZ2UuY3BwOgorICAgICAgICAocXRf
ZHJ0X3dlYmluc3BlY3Rvcl9leGVjdXRlU2NyaXB0KToKKyAgICAgICAgKHF0X2RydF93ZWJpbnNw
ZWN0b3JfY2xvc2UpOgorICAgICAgICAocXRfZHJ0X3dlYmluc3BlY3Rvcl9zaG93KToKKyAgICAg
ICAgKHF0X2RydF9zZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWQpOgorCiAyMDEwLTAxLTI1ICBT
aW1vbiBIYXVzbWFubiAgPGhhdXNtYW5uQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50UXQuY3BwIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBw
b3J0L0luc3BlY3RvckNsaWVudFF0LmNwcAppbmRleCAxY2FmOTZkLi5mYTQ2YzAzIDEwMDY0NAot
LS0gYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50UXQuY3BwCisrKyBi
L1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5jcHAKQEAgLTEyMCw2
ICsxMjAsMTIgQEAgdm9pZCBJbnNwZWN0b3JDbGllbnRRdDo6c2hvd1dpbmRvdygpCiB2b2lkIElu
c3BlY3RvckNsaWVudFF0OjpjbG9zZVdpbmRvdygpCiB7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikK
KyAgICAvLyBRV2ViSW5zcGVjdG9yOjpmcm9udEVuZCBpcyBhIGNvcHkgb2YgaW5zcGVjdG9yVmll
dyB3aGljaCB3aWxsIGJlIGxlZnQgZGFuZ2xpbmcKKyAgICAvLyBieSBtX2luc3BlY3RvclZpZXcu
c2V0KGluc3BlY3RvclZpZXcpIHRoZSBuZXh0IHRpbWUgY3JlYXRlUGFnZSgpIGlzIGNhbGxlZAor
ICAgIC8vIGlmIHdlIGRvIG5vdCBjbGVhciBpdCBoZXJlLiBUaGlzIGNhbiBoYXBwZW4gd2hlbiB0
aGUgaW5zcGVjdG9yIGlzIG1hbmFnZWQgdGhyb3VnaAorICAgIC8vIHJlcGVhdGVkIGNhbGxzIHRv
IGluc3BlY3RvckNvbnRyb2xsZXIoKS0+c2hvdygpIGFuZCBpbnNwZWN0b3JDb250cm9sbGVyKCkt
PmNsb3NlKCkKKyAgICAvLyBvbiB0aGUgc2FtZSBRV2ViUGFnZSBzdWNoIGFzIGJ5IHRoZSBRdCBE
UlQuCisgICAgbV9pbnNwZWN0ZWRXZWJQYWdlLT5kLT5nZXRPckNyZWF0ZUluc3BlY3RvcigpLT5k
LT5zZXRGcm9udGVuZCgwKTsKICAgICBtX2luc3BlY3RlZFdlYlBhZ2UtPmQtPmluc3BlY3RvckNv
bnRyb2xsZXIoKS0+c2V0V2luZG93VmlzaWJsZShmYWxzZSk7CiAjZW5kaWYKIH0KZGlmZiAtLWdp
dCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwppbmRleCBk
MTVlY2EyLi5jNDA1NWI3IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cKKysrIGIv
V2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDcgQEAKKzIwMTAtMDEtMjUgIFJvYmVy
dCBIb2dhbiAgPHJvYmVydEByb2JlcnRob2dhbi5uZXQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBEUlQ6IFN1cHBvcnQgZXZhbHVhdGVJbldl
Ykluc3BlY3RvcigpLCBzZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWQoKS4KKworICAgICAgICBT
dXBwb3J0IExheW91dFRlc3RDb250cm9sbGVyLmV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoKSwgc2V0
VGltZWxpbmVQcm9maWxpbmdFbmFibGVkKCkgaW4gUXQgRFJULgorCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzA5NgorCisgICAgICAgIFRoaXMgYWxs
b3dzIHRoZSBmb2xsb3dpbmcgdGVzdHMgdG8gcGFzczoKKworICAgICAgICBpbnNwZWN0b3IvZXZh
bHVhdGUtaW4tZnJvbnRlbmQuaHRtbAorICAgICAgICBpbnNwZWN0b3IvZWxlbWVudHMtcGFuZWwt
c3RydWN0dXJlLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3N0eWxlcy1pZnJhbWUuaHRtbAorICAg
ICAgICBpbnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1jc3MuaHRtbAorICAgICAgICBpbnNwZWN0
b3Ivc3ludGF4LWhpZ2hsaWdodC1qYXZhc2NyaXB0Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3Rp
bWVsaW5lLWVudW0tc3RhYmlsaXR5Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLWxh
eW91dC5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1tYXJrLXRpbWVsaW5lLmh0bWwK
KyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLXBhcnNlLWh0bWwuaHRtbAorICAgICAgICBpbnNw
ZWN0b3IvdGltZWxpbmUtcmVjYWxjdWxhdGUtc3R5bGVzLmh0bWwKKyAgICAgICAgaW5zcGVjdG9y
L3RpbWVsaW5lLXNjcmlwdC10YWctMS5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1z
Y3JpcHQtdGFnLTIuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtdHJpdmlhbC5odG1s
CisgICAgICAgIGluc3BlY3Rvci9jb29raWUtcmVzb3VyY2UtbWF0Y2guaHRtbAorICAgICAgICBp
bnNwZWN0b3IvZWxlbWVudHMtaW1nLXRvb2x0aXAuaHRtbAorICAgICAgICBpbnNwZWN0b3IvZWxl
bWVudHMtcGFuZWwtc2VsZWN0aW9uLW9uLXJlZnJlc2guaHRtbAorICAgICAgICBpbnNwZWN0b3Iv
dGltZWxpbmUtZXZlbnQtZGlzcGF0Y2guaHRtbAorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
cXQvRHVtcFJlbmRlclRyZWVRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEdW1wUmVuZGVyVHJl
ZTo6cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZUJlZm9yZVRlc3RpbmcpOgorICAgICAgICAoV2ViQ29y
ZTo6aXNXZWJJbnNwZWN0b3JUZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkR1bXBSZW5kZXJUcmVl
OjpvcGVuKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0Lmg6
CisgICAgICAgIChXZWJDb3JlOjpEdW1wUmVuZGVyVHJlZTo6ZGlzcGxheSk6CisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHA6CisgICAgICAgIChM
YXlvdXRUZXN0Q29udHJvbGxlcjo6Y2xvc2VXZWJJbnNwZWN0b3IpOgorICAgICAgICAoTGF5b3V0
VGVzdENvbnRyb2xsZXI6OnNob3dXZWJJbnNwZWN0b3IpOgorICAgICAgICAoTGF5b3V0VGVzdENv
bnRyb2xsZXI6OmV2YWx1YXRlSW5XZWJJbnNwZWN0b3IpOgorICAgICAgICAoTGF5b3V0VGVzdENv
bnRyb2xsZXI6OnNldFRpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZCk6CisgICAgICAgIChMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6ZGlzcGxheSk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvTGF5
b3V0VGVzdENvbnRyb2xsZXJRdC5oOgorCiAyMDEwLTAxLTI1ICBDaHJpcyBKZXJkb25layAgPGNq
ZXJkb25la0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0
LmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3Bw
CmluZGV4IDgxNTE0NzUuLjU5YzZjMDcgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCkBAIC00MDksMTEgKzQwOSwyNyBAQCB2b2lk
IER1bXBSZW5kZXJUcmVlOjpyZXNldFRvQ29uc2lzdGVudFN0YXRlQmVmb3JlVGVzdGluZygpCiAg
ICAgc2V0bG9jYWxlKExDX0FMTCwgIiIpOwogfQogCitzdGF0aWMgYm9vbCBpc1dlYkluc3BlY3Rv
clRlc3QoY29uc3QgUVVybCYgdXJsKQoreworICAgIGlmICh1cmwucGF0aCgpLmNvbnRhaW5zKCJp
bnNwZWN0b3IvIikpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIHJldHVybiBmYWxzZTsKK30K
Kwogdm9pZCBEdW1wUmVuZGVyVHJlZTo6b3Blbihjb25zdCBRVXJsJiBhdXJsKQogeworICAgIHN0
YXRpYyBRVXJsIHVybChhdXJsKTsKKwogICAgIHJlc2V0VG9Db25zaXN0ZW50U3RhdGVCZWZvcmVU
ZXN0aW5nKCk7CiAKLSAgICBRVXJsIHVybCA9IGF1cmw7CisgICAgaWYgKGlzV2ViSW5zcGVjdG9y
VGVzdCh1cmwpKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlcigpLT5jbG9zZVdlYkluc3Bl
Y3RvcigpOworCisgICAgdXJsID0gYXVybDsKKworICAgIGlmIChpc1dlYkluc3BlY3RvclRlc3Qo
dXJsKSkKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+c2hvd1dlYkluc3BlY3Rvcigp
OworCiAgICAgbV9leHBlY3RlZEhhc2ggPSBRU3RyaW5nKCk7CiAgICAgaWYgKG1fZHVtcFBpeGVs
cykgewogICAgICAgICAvLyBzaW5nbGUgcXVvdGUgbWFya3MgdGhlIHBpeGVsIGR1bXAgaGFzaApk
aWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVR
dC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5oCmlu
ZGV4IGVlN2FjYjAuLjE3MjkyNDIgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmgKQEAgLTE1NCw2ICsxNTQsNyBAQCBwdWJsaWM6CiAgICAg
V2ViUGFnZShRT2JqZWN0KiBwYXJlbnQsIER1bXBSZW5kZXJUcmVlKik7CiAgICAgdmlydHVhbCB+
V2ViUGFnZSgpOwogICAgIFFXZWJJbnNwZWN0b3IqIHdlYkluc3BlY3RvcigpOworICAgIHZvaWQg
Y2xvc2VXZWJJbnNwZWN0b3IoKTsKIAogICAgIFFXZWJQYWdlICpjcmVhdGVXaW5kb3coUVdlYlBh
Z2U6OldlYldpbmRvd1R5cGUpOwogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCmluZGV4IDc2MTY1ZjYuLjFhNDBj
NmQgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RD
b250cm9sbGVyUXQuY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91
dFRlc3RDb250cm9sbGVyUXQuY3BwCkBAIC0zOSw2ICszOSw3IEBACiBleHRlcm4gdm9pZCBxdF9k
dW1wX2VkaXRpbmdfY2FsbGJhY2tzKGJvb2wgYik7CiBleHRlcm4gdm9pZCBxdF9kdW1wX3Jlc291
cmNlX2xvYWRfY2FsbGJhY2tzKGJvb2wgYik7CiBleHRlcm4gdm9pZCBxdF9kcnRfc2V0SmF2YVNj
cmlwdFByb2ZpbGluZ0VuYWJsZWQoUVdlYkZyYW1lKiwgYm9vbCBlbmFibGVkKTsKK2V4dGVybiB2
b2lkIHF0X2RydF9zZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWQoUVdlYlBhZ2UqLCBib29sIGVu
YWJsZWQpOwogZXh0ZXJuIGJvb2wgcXRfZHJ0X3BhdXNlQW5pbWF0aW9uKFFXZWJGcmFtZSosIGNv
bnN0IFFTdHJpbmcmIG5hbWUsIGRvdWJsZSB0aW1lLCBjb25zdCBRU3RyaW5nJiBlbGVtZW50SWQp
OwogZXh0ZXJuIGJvb2wgcXRfZHJ0X3BhdXNlVHJhbnNpdGlvbk9mUHJvcGVydHkoUVdlYkZyYW1l
KiwgY29uc3QgUVN0cmluZyYgbmFtZSwgZG91YmxlIHRpbWUsIGNvbnN0IFFTdHJpbmcmIGVsZW1l
bnRJZCk7CiBleHRlcm4gYm9vbCBxdF9kcnRfcGF1c2VTVkdBbmltYXRpb24oUVdlYkZyYW1lKiwg
Y29uc3QgUVN0cmluZyYgYW5pbWF0aW9uSWQsIGRvdWJsZSB0aW1lLCBjb25zdCBRU3RyaW5nJiBl
bGVtZW50SWQpOwpAQCAtNDcsNiArNDgsOSBAQCBleHRlcm4gdm9pZCBxdF9kcnRfc2V0RG9tYWlu
UmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZShib29sIGZvcmJpZGRlbiwgY29ucwogCiBl
eHRlcm4gdm9pZCBxdF9kcnRfd2hpdGVMaXN0QWNjZXNzRnJvbU9yaWdpbihjb25zdCBRU3RyaW5n
JiBzb3VyY2VPcmlnaW4sIGNvbnN0IFFTdHJpbmcmIGRlc3RpbmF0aW9uUHJvdG9jb2wsIGNvbnN0
IFFTdHJpbmcmIGRlc3RpbmF0aW9uSG9zdCwgYm9vbCBhbGxvd0Rlc3RpbmF0aW9uU3ViZG9tYWlu
cyk7CiBleHRlcm4gUVN0cmluZyBxdF9kcnRfY291bnRlclZhbHVlRm9yRWxlbWVudEJ5SWQoUVdl
YkZyYW1lKiBxRnJhbWUsIGNvbnN0IFFTdHJpbmcmIGlkKTsKK2V4dGVybiB2b2lkIHF0X2RydF93
ZWJpbnNwZWN0b3JfZXhlY3V0ZVNjcmlwdChRV2ViUGFnZSogcGFnZSwgbG9uZyBjYWxsSWQsIGNv
bnN0IFFTdHJpbmcmIHNjcmlwdCk7CitleHRlcm4gdm9pZCBxdF9kcnRfd2ViaW5zcGVjdG9yX3No
b3coUVdlYlBhZ2UgKnBhZ2UpOworZXh0ZXJuIHZvaWQgcXRfZHJ0X3dlYmluc3BlY3Rvcl9jbG9z
ZShRV2ViUGFnZSAqcGFnZSk7CiAKIExheW91dFRlc3RDb250cm9sbGVyOjpMYXlvdXRUZXN0Q29u
dHJvbGxlcihXZWJDb3JlOjpEdW1wUmVuZGVyVHJlZSogZHJ0KQogICAgIDogUU9iamVjdCgpCkBA
IC0yNTcsMTUgKzI2MSwyMiBAQCBRU3RyaW5nIExheW91dFRlc3RDb250cm9sbGVyOjpkZWNvZGVI
b3N0TmFtZShjb25zdCBRU3RyaW5nJiBob3N0KQogICAgIHJldHVybiBkZWNvZGVkOwogfQogCisK
K3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmNsb3NlV2ViSW5zcGVjdG9yKCkKK3sKKyAgICBx
dF9kcnRfd2ViaW5zcGVjdG9yX2Nsb3NlKG1fZHJ0LT53ZWJQYWdlKCkpOworICAgIG1fZHJ0LT53
ZWJQYWdlKCktPnNldHRpbmdzKCktPnNldEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6OkRldmVsb3Bl
ckV4dHJhc0VuYWJsZWQsIGZhbHNlKTsKK30KKwogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6
c2hvd1dlYkluc3BlY3RvcigpCiB7CiAgICAgbV9kcnQtPndlYlBhZ2UoKS0+c2V0dGluZ3MoKS0+
c2V0QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCwgdHJ1ZSk7
Ci0gICAgbV9kcnQtPndlYlBhZ2UoKS0+d2ViSW5zcGVjdG9yKCktPnNob3coKTsKKyAgICBxdF9k
cnRfd2ViaW5zcGVjdG9yX3Nob3cobV9kcnQtPndlYlBhZ2UoKSk7CiB9CiAKLXZvaWQgTGF5b3V0
VGVzdENvbnRyb2xsZXI6OmhpZGVXZWJJbnNwZWN0b3IoKQordm9pZCBMYXlvdXRUZXN0Q29udHJv
bGxlcjo6ZXZhbHVhdGVJbldlYkluc3BlY3Rvcihsb25nIGNhbGxJZCwgY29uc3QgUVN0cmluZyAm
c2NyaXB0KQogewotICAgIG1fZHJ0LT53ZWJQYWdlKCktPndlYkluc3BlY3RvcigpLT5oaWRlKCk7
CisgICAgcXRfZHJ0X3dlYmluc3BlY3Rvcl9leGVjdXRlU2NyaXB0KG1fZHJ0LT53ZWJQYWdlKCks
IGNhbGxJZCwgc2NyaXB0KTsKIH0KIAogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0QWxs
b3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMoYm9vbCBlbmFibGVkKQpAQCAtMjc5LDYgKzI5
MCwxMSBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRKYXZhU2NyaXB0UHJvZmlsaW5n
RW5hYmxlZChib29sIGVuYWJsZSkKICAgICBxdF9kcnRfc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0Vu
YWJsZWQobV90b3BMb2FkaW5nRnJhbWUsIGVuYWJsZSk7CiB9CiAKK3ZvaWQgTGF5b3V0VGVzdENv
bnRyb2xsZXI6OnNldFRpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZChib29sIGVuYWJsZSkKK3sKKyAg
ICBxdF9kcnRfc2V0VGltZWxpbmVQcm9maWxpbmdFbmFibGVkKG1fZHJ0LT53ZWJQYWdlKCksIGVu
YWJsZSk7Cit9CisKIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEZpeGVkQ29udGVudHNT
aXplKGludCB3aWR0aCwgaW50IGhlaWdodCkKIHsKICAgICBtX3RvcExvYWRpbmdGcmFtZS0+cGFn
ZSgpLT5zZXRQcmVmZXJyZWRDb250ZW50c1NpemUoUVNpemUod2lkdGgsIGhlaWdodCkpOwpkaWZm
IC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xs
ZXJRdC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xs
ZXJRdC5oCmluZGV4IDIzNGNlZDUuLjJhZGY2OTYgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaAorKysgYi9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmgKQEAgLTEwNSw5ICsx
MDUsMTEgQEAgcHVibGljIHNsb3RzOgogICAgIFFTdHJpbmcgZGVjb2RlSG9zdE5hbWUoY29uc3Qg
UVN0cmluZyYgaG9zdCk7CiAgICAgdm9pZCBkdW1wU2VsZWN0aW9uUmVjdCgpIGNvbnN0IHt9CiAg
ICAgdm9pZCBzaG93V2ViSW5zcGVjdG9yKCk7Ci0gICAgdm9pZCBoaWRlV2ViSW5zcGVjdG9yKCk7
CisgICAgdm9pZCBjbG9zZVdlYkluc3BlY3RvcigpOworICAgIHZvaWQgZXZhbHVhdGVJbldlYklu
c3BlY3Rvcihsb25nIGNhbGxJZCwgY29uc3QgUVN0cmluZyAmc2NyaXB0KTsKICAgICB2b2lkIHNl
dEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wgZW5hYmxlKTsKICAgICB2b2lk
IHNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKGJvb2wgZW5hYmxlKTsKKyAgICB2b2lkIHNl
dFRpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZChib29sIGVuYWJsZSk7CiAgICAgdm9pZCBzZXRGaXhl
ZENvbnRlbnRzU2l6ZShpbnQgd2lkdGgsIGludCBoZWlnaHQpOwogICAgIHZvaWQgc2V0UHJpdmF0
ZUJyb3dzaW5nRW5hYmxlZChib29sIGVuYWJsZSk7CiAgICAgdm9pZCBzZXRQb3B1cEJsb2NraW5n
RW5hYmxlZChib29sIGVuYWJsZSk7Ci0tIAoxLjYuMy4zCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>47394</attachid>
            <date>2010-01-26 02:47:00 -0800</date>
            <delta_ts>2010-01-27 01:23:46 -0800</delta_ts>
            <desc>Suggested fix for the inspector page recreation crash.</desc>
            <filename>inspectorclientqt_dontrecreatepage.patch</filename>
            <type>text/plain</type>
            <size>1386</size>
            <attacher name="Jocelyn Turcotte">jturcotte</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5j
cHAgYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50UXQuY3BwCmluZGV4
IDFjYWY5NmQuLjc1MWUzY2IgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9J
bnNwZWN0b3JDbGllbnRRdC5jcHAKKysrIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0luc3Bl
Y3RvckNsaWVudFF0LmNwcApAQCAtODQsMTYgKzg0LDE5IEBAIHZvaWQgSW5zcGVjdG9yQ2xpZW50
UXQ6Omluc3BlY3RvckRlc3Ryb3llZCgpCiAKIFBhZ2UqIEluc3BlY3RvckNsaWVudFF0OjpjcmVh
dGVQYWdlKCkKIHsKLSAgICBRV2ViVmlldyogaW5zcGVjdG9yVmlldyA9IG5ldyBRV2ViVmlldzsK
LSAgICBJbnNwZWN0b3JDbGllbnRXZWJQYWdlKiBpbnNwZWN0b3JQYWdlID0gbmV3IEluc3BlY3Rv
ckNsaWVudFdlYlBhZ2UoaW5zcGVjdG9yVmlldyk7Ci0gICAgaW5zcGVjdG9yVmlldy0+c2V0UGFn
ZShpbnNwZWN0b3JQYWdlKTsKLSAgICBtX2luc3BlY3RvclZpZXcuc2V0KGluc3BlY3RvclZpZXcp
OworICAgIFFXZWJWaWV3KiBpbnNwZWN0b3JWaWV3ID0gbV9pbnNwZWN0b3JWaWV3LmdldCgpOwor
ICAgIGlmICghaW5zcGVjdG9yVmlldykgeworICAgICAgICBpbnNwZWN0b3JWaWV3ID0gbmV3IFFX
ZWJWaWV3OworICAgICAgICBJbnNwZWN0b3JDbGllbnRXZWJQYWdlKiBpbnNwZWN0b3JQYWdlID0g
bmV3IEluc3BlY3RvckNsaWVudFdlYlBhZ2UoaW5zcGVjdG9yVmlldyk7CisgICAgICAgIGluc3Bl
Y3RvclZpZXctPnNldFBhZ2UoaW5zcGVjdG9yUGFnZSk7CisgICAgICAgIG1faW5zcGVjdG9yVmll
dy5zZXQoaW5zcGVjdG9yVmlldyk7CisgICAgfQogCi0gICAgaW5zcGVjdG9yUGFnZS0+bWFpbkZy
YW1lKCktPmxvYWQoUVN0cmluZzo6ZnJvbUxhdGluMSgicXJjOi93ZWJraXQvaW5zcGVjdG9yL2lu
c3BlY3Rvci5odG1sIikpOworICAgIGluc3BlY3RvclZpZXctPnBhZ2UoKS0+bWFpbkZyYW1lKCkt
PmxvYWQoUVN0cmluZzo6ZnJvbUxhdGluMSgicXJjOi93ZWJraXQvaW5zcGVjdG9yL2luc3BlY3Rv
ci5odG1sIikpOwogICAgIG1faW5zcGVjdGVkV2ViUGFnZS0+ZC0+aW5zcGVjdG9yRnJvbnRlbmQg
PSBpbnNwZWN0b3JWaWV3OwogICAgIG1faW5zcGVjdGVkV2ViUGFnZS0+ZC0+Z2V0T3JDcmVhdGVJ
bnNwZWN0b3IoKS0+ZC0+c2V0RnJvbnRlbmQoaW5zcGVjdG9yVmlldyk7CiAKLSAgICByZXR1cm4g
bV9pbnNwZWN0b3JWaWV3LT5wYWdlKCktPmQtPnBhZ2U7CisgICAgcmV0dXJuIGluc3BlY3RvclZp
ZXctPnBhZ2UoKS0+ZC0+cGFnZTsKIH0KIAogU3RyaW5nIEluc3BlY3RvckNsaWVudFF0Ojpsb2Nh
bGl6ZWRTdHJpbmdzVVJMKCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>47437</attachid>
            <date>2010-01-26 12:57:53 -0800</date>
            <delta_ts>2010-01-27 11:50:42 -0800</delta_ts>
            <desc>Updated Patch</desc>
            <filename>0001-Qt-DRT-Support-evaluateInWebInspector-setTimelinePro.patch</filename>
            <type>text/plain</type>
            <size>19939</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">RnJvbSA3MjYzMDAyMDQ1MjczZDM3OTllMTE0ODQ3NTM5MmI3YWQzMzE5YzdjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnQgSG9nYW4gPHJvYmVydEByb2JlcnRob2dhbi5uZXQ+
CkRhdGU6IEZyaSwgMSBKYW4gMjAxMCAxODo0NTo1NyArMDAwMApTdWJqZWN0OiBbUEFUQ0hdIFtR
dF0gRFJUOiBTdXBwb3J0IGV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoKSwgc2V0VGltZWxpbmVQcm9m
aWxpbmdFbmFibGVkKCkuCgpTdXBwb3J0IExheW91dFRlc3RDb250cm9sbGVyLmV2YWx1YXRlSW5X
ZWJJbnNwZWN0b3IoKSwgc2V0VGltZWxpbmVQcm9maWxpbmdFbmFibGVkKCkKIGluIFF0IERSVC4K
Cmh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzA5NgoKVGhpcyBhbGxv
d3MgdGhlIGZvbGxvd2luZyB0ZXN0cyB0byBwYXNzOgoKaW5zcGVjdG9yL2NvbnNvbGUtZm9ybWF0
LWNvbGxlY3Rpb25zLmh0bWwKaW5zcGVjdG9yL3N0eWxlcy1pZnJhbWUuaHRtbAppbnNwZWN0b3Iv
c3ludGF4LWhpZ2hsaWdodC1jc3MuaHRtbAppbnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1qYXZh
c2NyaXB0Lmh0bWwKaW5zcGVjdG9yL3RpbWVsaW5lLWVudW0tc3RhYmlsaXR5Lmh0bWwKaW5zcGVj
dG9yL3RpbWVsaW5lLWxheW91dC5odG1sCmluc3BlY3Rvci90aW1lbGluZS1tYXJrLXRpbWVsaW5l
Lmh0bWwKaW5zcGVjdG9yL3RpbWVsaW5lLXBhaW50Lmh0bWwKaW5zcGVjdG9yL3RpbWVsaW5lLXBh
cnNlLWh0bWwuaHRtbAppbnNwZWN0b3IvdGltZWxpbmUtcmVjYWxjdWxhdGUtc3R5bGVzLmh0bWwK
aW5zcGVjdG9yL3RpbWVsaW5lLXNjcmlwdC10YWctMS5odG1sCmluc3BlY3Rvci90aW1lbGluZS1z
Y3JpcHQtdGFnLTIuaHRtbAppbnNwZWN0b3IvdGltZWxpbmUtdHJpdmlhbC5odG1sCmluc3BlY3Rv
ci9jb29raWUtcmVzb3VyY2UtbWF0Y2guaHRtbAppbnNwZWN0b3IvZWxlbWVudHMtaW1nLXRvb2x0
aXAuaHRtbAppbnNwZWN0b3IvZWxlbWVudHMtcGFuZWwtc2VsZWN0aW9uLW9uLXJlZnJlc2guaHRt
bAppbnNwZWN0b3IvaW5zcGVjdGVkLW9iamVjdHMtbm90LW92ZXJyaWRlbi5odG1sCmluc3BlY3Rv
ci90aW1lbGluZS1ldmVudC1kaXNwYXRjaC5odG1sCmluc3BlY3Rvci90aW1lbGluZS1uZXR3b3Jr
LXJlc291cmNlLmh0bWwKaW5zcGVjdG9yL2VsZW1lbnRzLXBhbmVsLXJld3JpdGUtaHJlZi5odG1s
Cmluc3BlY3Rvci9jb25zb2xlLWRpci5odG1sCmluc3BlY3Rvci9jb25zb2xlLWRpcnhtbC5odG1s
Cmluc3BlY3Rvci9jb25zb2xlLWZvcm1hdC5odG1sCmluc3BlY3Rvci9jb25zb2xlLXRlc3RzLmh0
bWwKaW5zcGVjdG9yL2VsZW1lbnRzLXBhbmVsLXN0cnVjdHVyZS5odG1sCmluc3BlY3Rvci9ldmFs
dWF0ZS1pbi1mcm9udGVuZC5odG1sCmluc3BlY3Rvci9jb25zb2xlLWNsZWFyLmh0bWwKLS0tCiBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNDIg
KysrKysrKysrKysrKysrCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkICAgICAgICAg
ICAgICAgICAgICB8ICAgMzcgKystLS0tLS0tLS0tLS0KIFdlYktpdC9xdC9BcGkvcXdlYnBhZ2Uu
Y3BwICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAzMiArKysrKysrKysrKysKIFdlYktpdC9x
dC9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA0OSArKysrKysr
KysrKysrKysrKysKIFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5j
cHAgICAgIHwgICAxNSArKystLQogV2ViS2l0VG9vbHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgIDU0ICsrKysrKysrKysrKysrKysrKysrCiBXZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcCB8ICAgMTggKysrKysrLQogV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5oICAgfCAgICAxICsK
IC4uLi9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcCAgIHwgICAy
MiArKysrKysrLQogLi4uL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQu
aCAgICAgfCAgICA0ICstCiAxMCBmaWxlcyBjaGFuZ2VkLCAyMzAgaW5zZXJ0aW9ucygrKSwgNDQg
ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDFhZTNmNWMuLjRjNmYwYWIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0
NSBAQAorMjAxMC0wMS0yNiAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHJvYmVydGhvZ2FuLm5ldD4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIERS
VDogU3VwcG9ydCBldmFsdWF0ZUluV2ViSW5zcGVjdG9yKCksIHNldFRpbWVsaW5lUHJvZmlsaW5n
RW5hYmxlZCgpLgorCisgICAgICAgIFN1cHBvcnQgTGF5b3V0VGVzdENvbnRyb2xsZXIuZXZhbHVh
dGVJbldlYkluc3BlY3RvcigpLCBzZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWQoKSBpbiBRdCBE
UlQuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMz
MDk2CisKKyAgICAgICAgVGhpcyBhbGxvd3MgdGhlIGZvbGxvd2luZyB0ZXN0cyB0byBwYXNzOgor
CisgICAgICAgIGluc3BlY3Rvci9jb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1sCisgICAg
ICAgIGluc3BlY3Rvci9zdHlsZXMtaWZyYW1lLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3N5bnRh
eC1oaWdobGlnaHQtY3NzLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQt
amF2YXNjcmlwdC5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1lbnVtLXN0YWJpbGl0
eS5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1sYXlvdXQuaHRtbAorICAgICAgICBp
bnNwZWN0b3IvdGltZWxpbmUtbWFyay10aW1lbGluZS5odG1sCisgICAgICAgIGluc3BlY3Rvci90
aW1lbGluZS1wYWludC5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1wYXJzZS1odG1s
Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLXJlY2FsY3VsYXRlLXN0eWxlcy5odG1s
CisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1zY3JpcHQtdGFnLTEuaHRtbAorICAgICAgICBp
bnNwZWN0b3IvdGltZWxpbmUtc2NyaXB0LXRhZy0yLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3Rp
bWVsaW5lLXRyaXZpYWwuaHRtbAorICAgICAgICBpbnNwZWN0b3IvY29va2llLXJlc291cmNlLW1h
dGNoLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2VsZW1lbnRzLWltZy10b29sdGlwLmh0bWwKKyAg
ICAgICAgaW5zcGVjdG9yL2VsZW1lbnRzLXBhbmVsLXNlbGVjdGlvbi1vbi1yZWZyZXNoLmh0bWwK
KyAgICAgICAgaW5zcGVjdG9yL2luc3BlY3RlZC1vYmplY3RzLW5vdC1vdmVycmlkZW4uaHRtbAor
ICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtZXZlbnQtZGlzcGF0Y2guaHRtbAorICAgICAgICBp
bnNwZWN0b3IvdGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS5odG1sCisgICAgICAgIGluc3BlY3Rv
ci9lbGVtZW50cy1wYW5lbC1yZXdyaXRlLWhyZWYuaHRtbAorICAgICAgICBpbnNwZWN0b3IvY29u
c29sZS1kaXIuaHRtbAorICAgICAgICBpbnNwZWN0b3IvY29uc29sZS1kaXJ4bWwuaHRtbAorICAg
ICAgICBpbnNwZWN0b3IvY29uc29sZS1mb3JtYXQuaHRtbAorICAgICAgICBpbnNwZWN0b3IvY29u
c29sZS10ZXN0cy5odG1sCisgICAgICAgIGluc3BlY3Rvci9lbGVtZW50cy1wYW5lbC1zdHJ1Y3R1
cmUuaHRtbAorICAgICAgICBpbnNwZWN0b3IvZXZhbHVhdGUtaW4tZnJvbnRlbmQuaHRtbAorICAg
ICAgICBpbnNwZWN0b3IvY29uc29sZS1jbGVhci5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9x
dC9Ta2lwcGVkOgorCiAyMDEwLTAxLTI2ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBs
ZS5jb20+CiAKICAgICAgICAgQW5vdGhlciBhdHRlbXB0IHRvIGdldCB0aGlzIHRlc3QgdG8gcGFz
cyBmb3IgR1RLLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5kZXggMGE1ZjBmMy4uY2E3MTZiOCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC0xNDYsMjEgKzE0Niw2IEBAIGh0dHAvdGVzdHMv
c2VjdXJpdHkvbG9jYWwtdmlkZW8tc291cmNlLWZyb20tcmVtb3RlLmh0bWwKICMgICAgICAgICAg
ICBNaXNzaW5nIGZlYXR1cmVzIGluIG91ciBEdW1wUmVuZGVyVHJlZSBpbXBsZW1lbnRhdGlvbiAg
ICAgICAgICAgICAgIwogIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAjCiAKLSMgTWlzc2luZyBsYXlv
dXRUZXN0Q29udHJvbGxlci5zaG93V2ViSW5zcGVjdG9yKCkKLWluc3BlY3Rvci9jb25zb2xlLWZv
cm1hdC1jb2xsZWN0aW9ucy5odG1sCi1pbnNwZWN0b3Ivc3R5bGVzLWlmcmFtZS5odG1sCi1pbnNw
ZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1jc3MuaHRtbAotaW5zcGVjdG9yL3N5bnRheC1oaWdobGln
aHQtamF2YXNjcmlwdC5odG1sCi1pbnNwZWN0b3IvdGltZWxpbmUtZW51bS1zdGFiaWxpdHkuaHRt
bAotaW5zcGVjdG9yL3RpbWVsaW5lLWxheW91dC5odG1sCi1pbnNwZWN0b3IvdGltZWxpbmUtbWFy
ay10aW1lbGluZS5odG1sCi1pbnNwZWN0b3IvdGltZWxpbmUtcGFpbnQuaHRtbAotaW5zcGVjdG9y
L3RpbWVsaW5lLXBhcnNlLWh0bWwuaHRtbAotaW5zcGVjdG9yL3RpbWVsaW5lLXJlY2FsY3VsYXRl
LXN0eWxlcy5odG1sCi1pbnNwZWN0b3IvdGltZWxpbmUtc2NyaXB0LXRhZy0xLmh0bWwKLWluc3Bl
Y3Rvci90aW1lbGluZS1zY3JpcHQtdGFnLTIuaHRtbAotaW5zcGVjdG9yL3RpbWVsaW5lLXRyaXZp
YWwuaHRtbAotCiAjIE1pc3NpbmcgdGV4dElucHV0Q29udHJvbGxlci5zZWxlY3RlZFJhbmdlKCkK
IGVkaXRpbmcvc2VsZWN0aW9uLzU4MjUzNTAtMS5odG1sCiBlZGl0aW5nL3NlbGVjdGlvbi81ODI1
MzUwLTIuaHRtbApAQCAtMjA5LDE2ICsxOTQsNiBAQCBodHRwL3Rlc3RzL3NlY3VyaXR5L2lzb2xh
dGVkV29ybGQKIGh0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50CiBodHRwL3Rlc3RzL2Nh
Y2hlL3N1YnJlc291cmNlLWZhaWxvdmVyLXRvLW5ldHdvcmsuaHRtbAogCi0jIE1pc3NpbmcgbGF5
b3V0VGVzdENvbnRyb2xsZXIuZXZhbHVhdGVJbldlYkluc3BlY3RvcigpCi0jIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzA5NgotaW5zcGVjdG9yL2Nvb2tpZS1yZXNv
dXJjZS1tYXRjaC5odG1sCi1pbnNwZWN0b3IvZWxlbWVudHMtaW1nLXRvb2x0aXAuaHRtbAotaW5z
cGVjdG9yL2VsZW1lbnRzLXBhbmVsLXNlbGVjdGlvbi1vbi1yZWZyZXNoLmh0bWwKLWluc3BlY3Rv
ci9pbnNwZWN0ZWQtb2JqZWN0cy1ub3Qtb3ZlcnJpZGVuLmh0bWwKLWluc3BlY3Rvci90aW1lbGlu
ZS1ldmVudC1kaXNwYXRjaC5odG1sCi1pbnNwZWN0b3IvdGltZWxpbmUtbmV0d29yay1yZXNvdXJj
ZS5odG1sCi1pbnNwZWN0b3IvZWxlbWVudHMtcGFuZWwtcmV3cml0ZS1ocmVmLmh0bWwKLQogIyBN
aXNzaW5nIGxheW91dFRlc3RDb250cm9sbGVyLnNldFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZCgp
CiBlZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVjbGljay1iZXNpZGUtY3Itc3Bhbi5odG1sCiAKQEAg
LTQ4NDksMTQgKzQ4MjQsMTEgQEAgZmFzdC9kb20vV2luZG93L3Nsb3dfdW5sb2FkX2hhbmRsZXIu
aHRtbAogIyBUaGlzIHBvcnQgZG9lc24ndCBoYXZlIGEgZ2xvYmFsIGhpc3RvcnkgZGVsZWdhdGUg
eWV0CiBodHRwL3Rlc3RzL2dsb2JhbGhpc3RvcnkKIAotIyBTa2lwIGluc3BlY3RvciB0ZXN0cwot
aW5zcGVjdG9yL2NvbnNvbGUtZGlyLmh0bWwKLWluc3BlY3Rvci9jb25zb2xlLWRpcnhtbC5odG1s
Ci1pbnNwZWN0b3IvY29uc29sZS1mb3JtYXQuaHRtbAorIyBGYWlsIGJlY2F1c2UgaW5jb3JyZWN0
IGxpbmUgbnVtYmVycyBnZW5lcmF0ZWQuCiBpbnNwZWN0b3IvY29uc29sZS1sb2ctYmVmb3JlLWlu
c3BlY3Rvci1vcGVuLmh0bWwKLWluc3BlY3Rvci9jb25zb2xlLXRlc3RzLmh0bWwKLWluc3BlY3Rv
ci9lbGVtZW50cy1wYW5lbC1zdHJ1Y3R1cmUuaHRtbAotaW5zcGVjdG9yL2V2YWx1YXRlLWluLWZy
b250ZW5kLmh0bWwKKworIyBOZWVkIGEgd2F5IG9mIHBhaW50aW5nIHdpZGdldHMgd2l0aG91dCBk
aXNwbGF5aW5nIHRoZW0uCitpbnNwZWN0b3IvdGltZWxpbmUtcGFpbnQuaHRtbAogCiAjIFNraXAg
eG1saHR0cHJlcXVlc3QgdGVzdHMgLSBORVRXT1JLX0VSUjogWE1MSHR0cFJlcXVlc3QgRXhjZXB0
aW9uIDEwMTogQSBuZXR3b3JrIGVycm9yIG9jY3VyZWQgaW4gc3luY2hyb25vdXMgcmVxdWVzdHMu
CiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLWJhc2ljLWFsbG93LXBy
ZWZsaWdodC1jYWNoZS5odG1sCkBAIC01MDI1LDcgKzQ5OTcsNiBAQCBmYXN0L2Nzcy9uYW1lc3Bh
Y2VzL25hbWVzcGFjZXMtZW1wdHkueG1sCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0zMTYyNgogZmFzdC9kb20vamF2YXNjcmlwdC11cmwtY3Jhc2gtZnVuY3Rpb24u
aHRtbAogZmFzdC9kb20vbG9jYXRpb24tbmV3LXdpbmRvdy1uby1jcmFzaC5odG1sCi1pbnNwZWN0
b3IvY29uc29sZS1jbGVhci5odG1sCiBodHRwL3Rlc3RzL21pc2Mvc2V0LXdpbmRvdy1vcGVuZXIt
dG8tbnVsbC5odG1sCiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Fib3V0QmxhbmsveHNzLURFTklFRC1z
ZXQtb3BlbmVyLmh0bWwKIGh0dHAvdGVzdHMvc2VjdXJpdHkvZGF0YVVSTC94c3MtREVOSUVELWZy
b20tZGF0YS11cmwtaW4tZm9yZWlnbi1kb21haW4td2luZG93LW9wZW4uaHRtbApkaWZmIC0tZ2l0
IGEvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNw
cAppbmRleCBlNTA5NDNjLi43Zjg0ZjVjIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJw
YWdlLmNwcAorKysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcApAQCAtMTQ1LDYgKzE0NSwz
OCBAQCBRU3RyaW5nIFFXRUJLSVRfRVhQT1JUIHF0X3dlYnBhZ2VfZ3JvdXBOYW1lKFFXZWJQYWdl
KiBwYWdlKQogICAgIHJldHVybiBwYWdlLT5oYW5kbGUoKS0+cGFnZS0+Z3JvdXBOYW1lKCk7CiB9
CiAKK3ZvaWQgUVdFQktJVF9FWFBPUlQgcXRfZHJ0X3dlYmluc3BlY3Rvcl9leGVjdXRlU2NyaXB0
KFFXZWJQYWdlKiBwYWdlLCBsb25nIGNhbGxJZCwgY29uc3QgUVN0cmluZyAmc2NyaXB0KQorewor
ICAgIGlmICghcGFnZS0+aGFuZGxlKCktPnBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKSkKKyAg
ICAgICAgcmV0dXJuOworICAgIHBhZ2UtPmhhbmRsZSgpLT5wYWdlLT5pbnNwZWN0b3JDb250cm9s
bGVyKCktPmV2YWx1YXRlRm9yVGVzdEluRnJvbnRlbmQoY2FsbElkLCBzY3JpcHQpOworfQorCit2
b2lkIFFXRUJLSVRfRVhQT1JUIHF0X2RydF93ZWJpbnNwZWN0b3JfY2xvc2UoUVdlYlBhZ2UqIHBh
Z2UpCit7CisgICAgaWYgKCFwYWdlLT5oYW5kbGUoKS0+cGFnZS0+aW5zcGVjdG9yQ29udHJvbGxl
cigpKQorICAgICAgICByZXR1cm47CisgICAgcGFnZS0+aGFuZGxlKCktPnBhZ2UtPmluc3BlY3Rv
ckNvbnRyb2xsZXIoKS0+Y2xvc2UoKTsKK30KKwordm9pZCBRV0VCS0lUX0VYUE9SVCBxdF9kcnRf
d2ViaW5zcGVjdG9yX3Nob3coUVdlYlBhZ2UqIHBhZ2UpCit7CisgICAgaWYgKCFwYWdlLT5oYW5k
bGUoKS0+cGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpKQorICAgICAgICByZXR1cm47CisgICAg
cGFnZS0+aGFuZGxlKCktPnBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+c2hvdygpOworfQor
Cit2b2lkIFFXRUJLSVRfRVhQT1JUIHF0X2RydF9zZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWQo
UVdlYlBhZ2UqIHBhZ2UsIGJvb2wgZW5hYmxlZCkKK3sKKyAgICBJbnNwZWN0b3JDb250cm9sbGVy
KiBjb250cm9sbGVyID0gcGFnZS0+aGFuZGxlKCktPnBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIo
KTsKKyAgICBpZiAoIWNvbnRyb2xsZXIpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoZW5hYmxl
ZCkKKyAgICAgICAgY29udHJvbGxlci0+c3RhcnRUaW1lbGluZVByb2ZpbGVyKCk7CisgICAgZWxz
ZQorICAgICAgICBjb250cm9sbGVyLT5zdG9wVGltZWxpbmVQcm9maWxlcigpOworfQorCiBjbGFz
cyBRV2ViUGFnZVdpZGdldENsaWVudCA6IHB1YmxpYyBRV2ViUGFnZUNsaWVudCB7CiBwdWJsaWM6
CiAgICAgUVdlYlBhZ2VXaWRnZXRDbGllbnQoUVdpZGdldCogdmlldykKZGlmZiAtLWdpdCBhL1dl
YktpdC9xdC9DaGFuZ2VMb2cgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDMyNWY1ZmUuLmUz
YWQxZTAgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3F0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDEwLTAxLTI2ICBSb2JlcnQgSG9nYW4gIDxyb2Jl
cnRAcm9iZXJ0aG9nYW4ubmV0PiwgSm9jZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4udHVyY290dGVA
bm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFtRdF0gRFJUOiBTdXBwb3J0IGV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoKSwgc2V0VGltZWxp
bmVQcm9maWxpbmdFbmFibGVkKCkuCisKKyAgICAgICAgU3VwcG9ydCBMYXlvdXRUZXN0Q29udHJv
bGxlci5ldmFsdWF0ZUluV2ViSW5zcGVjdG9yKCksIHNldFRpbWVsaW5lUHJvZmlsaW5nRW5hYmxl
ZCgpIGluIFF0IERSVC4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MzMwOTYKKworICAgICAgICBUaGlzIGFsbG93cyB0aGUgZm9sbG93aW5nIHRlc3Rz
IHRvIHBhc3M6CisKKyAgICAgICAgaW5zcGVjdG9yL2NvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25z
Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3N0eWxlcy1pZnJhbWUuaHRtbAorICAgICAgICBpbnNw
ZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1jc3MuaHRtbAorICAgICAgICBpbnNwZWN0b3Ivc3ludGF4
LWhpZ2hsaWdodC1qYXZhc2NyaXB0Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLWVu
dW0tc3RhYmlsaXR5Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLWxheW91dC5odG1s
CisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1tYXJrLXRpbWVsaW5lLmh0bWwKKyAgICAgICAg
aW5zcGVjdG9yL3RpbWVsaW5lLXBhaW50Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5l
LXBhcnNlLWh0bWwuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtcmVjYWxjdWxhdGUt
c3R5bGVzLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLXNjcmlwdC10YWctMS5odG1s
CisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1zY3JpcHQtdGFnLTIuaHRtbAorICAgICAgICBp
bnNwZWN0b3IvdGltZWxpbmUtdHJpdmlhbC5odG1sCisgICAgICAgIGluc3BlY3Rvci9jb29raWUt
cmVzb3VyY2UtbWF0Y2guaHRtbAorICAgICAgICBpbnNwZWN0b3IvZWxlbWVudHMtaW1nLXRvb2x0
aXAuaHRtbAorICAgICAgICBpbnNwZWN0b3IvZWxlbWVudHMtcGFuZWwtc2VsZWN0aW9uLW9uLXJl
ZnJlc2guaHRtbAorICAgICAgICBpbnNwZWN0b3IvaW5zcGVjdGVkLW9iamVjdHMtbm90LW92ZXJy
aWRlbi5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1ldmVudC1kaXNwYXRjaC5odG1s
CisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLmh0bWwKKyAgICAg
ICAgaW5zcGVjdG9yL2VsZW1lbnRzLXBhbmVsLXJld3JpdGUtaHJlZi5odG1sCisgICAgICAgIGlu
c3BlY3Rvci9jb25zb2xlLWRpci5odG1sCisgICAgICAgIGluc3BlY3Rvci9jb25zb2xlLWRpcnht
bC5odG1sCisgICAgICAgIGluc3BlY3Rvci9jb25zb2xlLWZvcm1hdC5odG1sCisgICAgICAgIGlu
c3BlY3Rvci9jb25zb2xlLXRlc3RzLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2VsZW1lbnRzLXBh
bmVsLXN0cnVjdHVyZS5odG1sCisgICAgICAgIGluc3BlY3Rvci9ldmFsdWF0ZS1pbi1mcm9udGVu
ZC5odG1sCisgICAgICAgIGluc3BlY3Rvci9jb25zb2xlLWNsZWFyLmh0bWwKKworICAgICAgICAq
IEFwaS9xd2VicGFnZS5jcHA6CisgICAgICAgIChxdF9kcnRfd2ViaW5zcGVjdG9yX2V4ZWN1dGVT
Y3JpcHQpOgorICAgICAgICAocXRfZHJ0X3dlYmluc3BlY3Rvcl9jbG9zZSk6CisgICAgICAgIChx
dF9kcnRfd2ViaW5zcGVjdG9yX3Nob3cpOgorICAgICAgICAocXRfZHJ0X3NldFRpbWVsaW5lUHJv
ZmlsaW5nRW5hYmxlZCk6CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGll
bnRRdC5jcHA6CisgICAgICAgIChJbnNwZWN0b3JDbGllbnRRdDo6Y3JlYXRlUGFnZSkKKwogMjAx
MC0wMS0yNiAgU2ltb24gSGF1c21hbm4gIDxzaW1vbi5oYXVzbWFubkBub2tpYS5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCmRpZmYgLS1naXQg
YS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50UXQuY3BwIGIvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmNwcAppbmRleCAxY2FmOTZkLi43
NTFlM2NiIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xp
ZW50UXQuY3BwCisrKyBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRR
dC5jcHAKQEAgLTg0LDE2ICs4NCwxOSBAQCB2b2lkIEluc3BlY3RvckNsaWVudFF0OjppbnNwZWN0
b3JEZXN0cm95ZWQoKQogCiBQYWdlKiBJbnNwZWN0b3JDbGllbnRRdDo6Y3JlYXRlUGFnZSgpCiB7
Ci0gICAgUVdlYlZpZXcqIGluc3BlY3RvclZpZXcgPSBuZXcgUVdlYlZpZXc7Ci0gICAgSW5zcGVj
dG9yQ2xpZW50V2ViUGFnZSogaW5zcGVjdG9yUGFnZSA9IG5ldyBJbnNwZWN0b3JDbGllbnRXZWJQ
YWdlKGluc3BlY3RvclZpZXcpOwotICAgIGluc3BlY3RvclZpZXctPnNldFBhZ2UoaW5zcGVjdG9y
UGFnZSk7Ci0gICAgbV9pbnNwZWN0b3JWaWV3LnNldChpbnNwZWN0b3JWaWV3KTsKKyAgICBRV2Vi
VmlldyogaW5zcGVjdG9yVmlldyA9IG1faW5zcGVjdG9yVmlldy5nZXQoKTsKKyAgICBpZiAoIWlu
c3BlY3RvclZpZXcpIHsKKyAgICAgICAgaW5zcGVjdG9yVmlldyA9IG5ldyBRV2ViVmlldzsKKyAg
ICAgICAgSW5zcGVjdG9yQ2xpZW50V2ViUGFnZSogaW5zcGVjdG9yUGFnZSA9IG5ldyBJbnNwZWN0
b3JDbGllbnRXZWJQYWdlKGluc3BlY3RvclZpZXcpOworICAgICAgICBpbnNwZWN0b3JWaWV3LT5z
ZXRQYWdlKGluc3BlY3RvclBhZ2UpOworICAgICAgICBtX2luc3BlY3RvclZpZXcuc2V0KGluc3Bl
Y3RvclZpZXcpOworICAgIH0KIAotICAgIGluc3BlY3RvclBhZ2UtPm1haW5GcmFtZSgpLT5sb2Fk
KFFTdHJpbmc6OmZyb21MYXRpbjEoInFyYzovd2Via2l0L2luc3BlY3Rvci9pbnNwZWN0b3IuaHRt
bCIpKTsKKyAgICBpbnNwZWN0b3JWaWV3LT5wYWdlKCktPm1haW5GcmFtZSgpLT5sb2FkKFFTdHJp
bmc6OmZyb21MYXRpbjEoInFyYzovd2Via2l0L2luc3BlY3Rvci9pbnNwZWN0b3IuaHRtbCIpKTsK
ICAgICBtX2luc3BlY3RlZFdlYlBhZ2UtPmQtPmluc3BlY3RvckZyb250ZW5kID0gaW5zcGVjdG9y
VmlldzsKICAgICBtX2luc3BlY3RlZFdlYlBhZ2UtPmQtPmdldE9yQ3JlYXRlSW5zcGVjdG9yKCkt
PmQtPnNldEZyb250ZW5kKGluc3BlY3RvclZpZXcpOwogCi0gICAgcmV0dXJuIG1faW5zcGVjdG9y
Vmlldy0+cGFnZSgpLT5kLT5wYWdlOworICAgIHJldHVybiBpbnNwZWN0b3JWaWV3LT5wYWdlKCkt
PmQtPnBhZ2U7CiB9CiAKIFN0cmluZyBJbnNwZWN0b3JDbGllbnRRdDo6bG9jYWxpemVkU3RyaW5n
c1VSTCgpCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9D
aGFuZ2VMb2cKaW5kZXggNTk1MzM0Mi4uNjQ0NDllNCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMv
Q2hhbmdlTG9nCisrKyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisy
MDEwLTAxLTI2ICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAcm9iZXJ0aG9nYW4ubmV0PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gRFJUOiBTdXBw
b3J0IGV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoKSwgc2V0VGltZWxpbmVQcm9maWxpbmdFbmFibGVk
KCkuCisKKyAgICAgICAgU3VwcG9ydCBMYXlvdXRUZXN0Q29udHJvbGxlci5ldmFsdWF0ZUluV2Vi
SW5zcGVjdG9yKCksIHNldFRpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZCgpIGluIFF0IERSVC4KKwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzMwOTYKKwor
ICAgICAgICBUaGlzIGFsbG93cyB0aGUgZm9sbG93aW5nIHRlc3RzIHRvIHBhc3M6CisKKyAgICAg
ICAgaW5zcGVjdG9yL2NvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWwKKyAgICAgICAgaW5z
cGVjdG9yL3N0eWxlcy1pZnJhbWUuaHRtbAorICAgICAgICBpbnNwZWN0b3Ivc3ludGF4LWhpZ2hs
aWdodC1jc3MuaHRtbAorICAgICAgICBpbnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1qYXZhc2Ny
aXB0Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLWVudW0tc3RhYmlsaXR5Lmh0bWwK
KyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLWxheW91dC5odG1sCisgICAgICAgIGluc3BlY3Rv
ci90aW1lbGluZS1tYXJrLXRpbWVsaW5lLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5l
LXBhaW50Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLXBhcnNlLWh0bWwuaHRtbAor
ICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtcmVjYWxjdWxhdGUtc3R5bGVzLmh0bWwKKyAgICAg
ICAgaW5zcGVjdG9yL3RpbWVsaW5lLXNjcmlwdC10YWctMS5odG1sCisgICAgICAgIGluc3BlY3Rv
ci90aW1lbGluZS1zY3JpcHQtdGFnLTIuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUt
dHJpdmlhbC5odG1sCisgICAgICAgIGluc3BlY3Rvci9jb29raWUtcmVzb3VyY2UtbWF0Y2guaHRt
bAorICAgICAgICBpbnNwZWN0b3IvZWxlbWVudHMtaW1nLXRvb2x0aXAuaHRtbAorICAgICAgICBp
bnNwZWN0b3IvZWxlbWVudHMtcGFuZWwtc2VsZWN0aW9uLW9uLXJlZnJlc2guaHRtbAorICAgICAg
ICBpbnNwZWN0b3IvaW5zcGVjdGVkLW9iamVjdHMtbm90LW92ZXJyaWRlbi5odG1sCisgICAgICAg
IGluc3BlY3Rvci90aW1lbGluZS1ldmVudC1kaXNwYXRjaC5odG1sCisgICAgICAgIGluc3BlY3Rv
ci90aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2VsZW1l
bnRzLXBhbmVsLXJld3JpdGUtaHJlZi5odG1sCisgICAgICAgIGluc3BlY3Rvci9jb25zb2xlLWRp
ci5odG1sCisgICAgICAgIGluc3BlY3Rvci9jb25zb2xlLWRpcnhtbC5odG1sCisgICAgICAgIGlu
c3BlY3Rvci9jb25zb2xlLWZvcm1hdC5odG1sCisgICAgICAgIGluc3BlY3Rvci9jb25zb2xlLXRl
c3RzLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2VsZW1lbnRzLXBhbmVsLXN0cnVjdHVyZS5odG1s
CisgICAgICAgIGluc3BlY3Rvci9ldmFsdWF0ZS1pbi1mcm9udGVuZC5odG1sCisgICAgICAgIGlu
c3BlY3Rvci9jb25zb2xlLWNsZWFyLmh0bWwKKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0
L0R1bXBSZW5kZXJUcmVlUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RHVtcFJlbmRlclRyZWU6
OnJlc2V0VG9Db25zaXN0ZW50U3RhdGVCZWZvcmVUZXN0aW5nKToKKyAgICAgICAgKFdlYkNvcmU6
OmlzV2ViSW5zcGVjdG9yVGVzdCk6CisgICAgICAgIChXZWJDb3JlOjpEdW1wUmVuZGVyVHJlZTo6
b3Blbik6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5oOgor
ICAgICAgICAoV2ViQ29yZTo6RHVtcFJlbmRlclRyZWU6OmRpc3BsYXkpOgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwOgorICAgICAgICAoTGF5
b3V0VGVzdENvbnRyb2xsZXI6OmNsb3NlV2ViSW5zcGVjdG9yKToKKyAgICAgICAgKExheW91dFRl
c3RDb250cm9sbGVyOjpzaG93V2ViSW5zcGVjdG9yKToKKyAgICAgICAgKExheW91dFRlc3RDb250
cm9sbGVyOjpldmFsdWF0ZUluV2ViSW5zcGVjdG9yKToKKyAgICAgICAgKExheW91dFRlc3RDb250
cm9sbGVyOjpzZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWQpOgorICAgICAgICAoTGF5b3V0VGVz
dENvbnRyb2xsZXI6OmRpc3BsYXkpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L0xheW91
dFRlc3RDb250cm9sbGVyUXQuaDoKKwogMjAxMC0wMS0yNiAgS2VubmV0aCBSb2hkZSBDaHJpc3Rp
YW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQXJpeWEg
SGlkYXlhdC4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBS
ZW5kZXJUcmVlUXQuY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRl
clRyZWVRdC5jcHAKaW5kZXggODE1MTQ3NS4uNTljNmMwNyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAKKysrIGIvV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAKQEAgLTQwOSwxMSArNDA5
LDI3IEBAIHZvaWQgRHVtcFJlbmRlclRyZWU6OnJlc2V0VG9Db25zaXN0ZW50U3RhdGVCZWZvcmVU
ZXN0aW5nKCkKICAgICBzZXRsb2NhbGUoTENfQUxMLCAiIik7CiB9CiAKK3N0YXRpYyBib29sIGlz
V2ViSW5zcGVjdG9yVGVzdChjb25zdCBRVXJsJiB1cmwpCit7CisgICAgaWYgKHVybC5wYXRoKCku
Y29udGFpbnMoImluc3BlY3Rvci8iKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgcmV0dXJu
IGZhbHNlOworfQorCiB2b2lkIER1bXBSZW5kZXJUcmVlOjpvcGVuKGNvbnN0IFFVcmwmIGF1cmwp
CiB7CisgICAgc3RhdGljIFFVcmwgdXJsKGF1cmwpOworCiAgICAgcmVzZXRUb0NvbnNpc3RlbnRT
dGF0ZUJlZm9yZVRlc3RpbmcoKTsKIAotICAgIFFVcmwgdXJsID0gYXVybDsKKyAgICBpZiAoaXNX
ZWJJbnNwZWN0b3JUZXN0KHVybCkpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyKCktPmNs
b3NlV2ViSW5zcGVjdG9yKCk7CisKKyAgICB1cmwgPSBhdXJsOworCisgICAgaWYgKGlzV2ViSW5z
cGVjdG9yVGVzdCh1cmwpKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlcigpLT5zaG93V2Vi
SW5zcGVjdG9yKCk7CisKICAgICBtX2V4cGVjdGVkSGFzaCA9IFFTdHJpbmcoKTsKICAgICBpZiAo
bV9kdW1wUGl4ZWxzKSB7CiAgICAgICAgIC8vIHNpbmdsZSBxdW90ZSBtYXJrcyB0aGUgcGl4ZWwg
ZHVtcCBoYXNoCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1w
UmVuZGVyVHJlZVF0LmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVy
VHJlZVF0LmgKaW5kZXggZWU3YWNiMC4uMTcyOTI0MiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5oCisrKyBiL1dlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuaApAQCAtMTU0LDYgKzE1NCw3IEBAIHB1
YmxpYzoKICAgICBXZWJQYWdlKFFPYmplY3QqIHBhcmVudCwgRHVtcFJlbmRlclRyZWUqKTsKICAg
ICB2aXJ0dWFsIH5XZWJQYWdlKCk7CiAgICAgUVdlYkluc3BlY3Rvciogd2ViSW5zcGVjdG9yKCk7
CisgICAgdm9pZCBjbG9zZVdlYkluc3BlY3RvcigpOwogCiAgICAgUVdlYlBhZ2UgKmNyZWF0ZVdp
bmRvdyhRV2ViUGFnZTo6V2ViV2luZG93VHlwZSk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwIGIvV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKaW5kZXggNzYx
NjVmNi4uMWE0MGM2ZCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQv
TGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKQEAgLTM5LDYgKzM5LDcgQEAKIGV4dGVy
biB2b2lkIHF0X2R1bXBfZWRpdGluZ19jYWxsYmFja3MoYm9vbCBiKTsKIGV4dGVybiB2b2lkIHF0
X2R1bXBfcmVzb3VyY2VfbG9hZF9jYWxsYmFja3MoYm9vbCBiKTsKIGV4dGVybiB2b2lkIHF0X2Ry
dF9zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZChRV2ViRnJhbWUqLCBib29sIGVuYWJsZWQp
OworZXh0ZXJuIHZvaWQgcXRfZHJ0X3NldFRpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZChRV2ViUGFn
ZSosIGJvb2wgZW5hYmxlZCk7CiBleHRlcm4gYm9vbCBxdF9kcnRfcGF1c2VBbmltYXRpb24oUVdl
YkZyYW1lKiwgY29uc3QgUVN0cmluZyYgbmFtZSwgZG91YmxlIHRpbWUsIGNvbnN0IFFTdHJpbmcm
IGVsZW1lbnRJZCk7CiBleHRlcm4gYm9vbCBxdF9kcnRfcGF1c2VUcmFuc2l0aW9uT2ZQcm9wZXJ0
eShRV2ViRnJhbWUqLCBjb25zdCBRU3RyaW5nJiBuYW1lLCBkb3VibGUgdGltZSwgY29uc3QgUVN0
cmluZyYgZWxlbWVudElkKTsKIGV4dGVybiBib29sIHF0X2RydF9wYXVzZVNWR0FuaW1hdGlvbihR
V2ViRnJhbWUqLCBjb25zdCBRU3RyaW5nJiBhbmltYXRpb25JZCwgZG91YmxlIHRpbWUsIGNvbnN0
IFFTdHJpbmcmIGVsZW1lbnRJZCk7CkBAIC00Nyw2ICs0OCw5IEBAIGV4dGVybiB2b2lkIHF0X2Ry
dF9zZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1lKGJvb2wgZm9yYmlkZGVu
LCBjb25zCiAKIGV4dGVybiB2b2lkIHF0X2RydF93aGl0ZUxpc3RBY2Nlc3NGcm9tT3JpZ2luKGNv
bnN0IFFTdHJpbmcmIHNvdXJjZU9yaWdpbiwgY29uc3QgUVN0cmluZyYgZGVzdGluYXRpb25Qcm90
b2NvbCwgY29uc3QgUVN0cmluZyYgZGVzdGluYXRpb25Ib3N0LCBib29sIGFsbG93RGVzdGluYXRp
b25TdWJkb21haW5zKTsKIGV4dGVybiBRU3RyaW5nIHF0X2RydF9jb3VudGVyVmFsdWVGb3JFbGVt
ZW50QnlJZChRV2ViRnJhbWUqIHFGcmFtZSwgY29uc3QgUVN0cmluZyYgaWQpOworZXh0ZXJuIHZv
aWQgcXRfZHJ0X3dlYmluc3BlY3Rvcl9leGVjdXRlU2NyaXB0KFFXZWJQYWdlKiBwYWdlLCBsb25n
IGNhbGxJZCwgY29uc3QgUVN0cmluZyYgc2NyaXB0KTsKK2V4dGVybiB2b2lkIHF0X2RydF93ZWJp
bnNwZWN0b3Jfc2hvdyhRV2ViUGFnZSAqcGFnZSk7CitleHRlcm4gdm9pZCBxdF9kcnRfd2ViaW5z
cGVjdG9yX2Nsb3NlKFFXZWJQYWdlICpwYWdlKTsKIAogTGF5b3V0VGVzdENvbnRyb2xsZXI6Okxh
eW91dFRlc3RDb250cm9sbGVyKFdlYkNvcmU6OkR1bXBSZW5kZXJUcmVlKiBkcnQpCiAgICAgOiBR
T2JqZWN0KCkKQEAgLTI1NywxNSArMjYxLDIyIEBAIFFTdHJpbmcgTGF5b3V0VGVzdENvbnRyb2xs
ZXI6OmRlY29kZUhvc3ROYW1lKGNvbnN0IFFTdHJpbmcmIGhvc3QpCiAgICAgcmV0dXJuIGRlY29k
ZWQ7CiB9CiAKKwordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6Y2xvc2VXZWJJbnNwZWN0b3Io
KQoreworICAgIHF0X2RydF93ZWJpbnNwZWN0b3JfY2xvc2UobV9kcnQtPndlYlBhZ2UoKSk7Cisg
ICAgbV9kcnQtPndlYlBhZ2UoKS0+c2V0dGluZ3MoKS0+c2V0QXR0cmlidXRlKFFXZWJTZXR0aW5n
czo6RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCwgZmFsc2UpOworfQorCiB2b2lkIExheW91dFRlc3RD
b250cm9sbGVyOjpzaG93V2ViSW5zcGVjdG9yKCkKIHsKICAgICBtX2RydC0+d2ViUGFnZSgpLT5z
ZXR0aW5ncygpLT5zZXRBdHRyaWJ1dGUoUVdlYlNldHRpbmdzOjpEZXZlbG9wZXJFeHRyYXNFbmFi
bGVkLCB0cnVlKTsKLSAgICBtX2RydC0+d2ViUGFnZSgpLT53ZWJJbnNwZWN0b3IoKS0+c2hvdygp
OworICAgIHF0X2RydF93ZWJpbnNwZWN0b3Jfc2hvdyhtX2RydC0+d2ViUGFnZSgpKTsKIH0KIAot
dm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6aGlkZVdlYkluc3BlY3RvcigpCit2b2lkIExheW91
dFRlc3RDb250cm9sbGVyOjpldmFsdWF0ZUluV2ViSW5zcGVjdG9yKGxvbmcgY2FsbElkLCBjb25z
dCBRU3RyaW5nICZzY3JpcHQpCiB7Ci0gICAgbV9kcnQtPndlYlBhZ2UoKS0+d2ViSW5zcGVjdG9y
KCktPmhpZGUoKTsKKyAgICBxdF9kcnRfd2ViaW5zcGVjdG9yX2V4ZWN1dGVTY3JpcHQobV9kcnQt
PndlYlBhZ2UoKSwgY2FsbElkLCBzY3JpcHQpOwogfQogCiB2b2lkIExheW91dFRlc3RDb250cm9s
bGVyOjpzZXRBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMcyhib29sIGVuYWJsZWQpCkBA
IC0yNzksNiArMjkwLDExIEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEphdmFTY3Jp
cHRQcm9maWxpbmdFbmFibGVkKGJvb2wgZW5hYmxlKQogICAgIHF0X2RydF9zZXRKYXZhU2NyaXB0
UHJvZmlsaW5nRW5hYmxlZChtX3RvcExvYWRpbmdGcmFtZSwgZW5hYmxlKTsKIH0KIAordm9pZCBM
YXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0VGltZWxpbmVQcm9maWxpbmdFbmFibGVkKGJvb2wgZW5h
YmxlKQoreworICAgIHF0X2RydF9zZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWQobV9kcnQtPndl
YlBhZ2UoKSwgZW5hYmxlKTsKK30KKwogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0Rml4
ZWRDb250ZW50c1NpemUoaW50IHdpZHRoLCBpbnQgaGVpZ2h0KQogewogICAgIG1fdG9wTG9hZGlu
Z0ZyYW1lLT5wYWdlKCktPnNldFByZWZlcnJlZENvbnRlbnRzU2l6ZShRU2l6ZSh3aWR0aCwgaGVp
Z2h0KSk7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRU
ZXN0Q29udHJvbGxlclF0LmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRU
ZXN0Q29udHJvbGxlclF0LmgKaW5kZXggMjM0Y2VkNS4uMmFkZjY5NiAxMDA2NDQKLS0tIGEvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oCisrKyBi
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaApA
QCAtMTA1LDkgKzEwNSwxMSBAQCBwdWJsaWMgc2xvdHM6CiAgICAgUVN0cmluZyBkZWNvZGVIb3N0
TmFtZShjb25zdCBRU3RyaW5nJiBob3N0KTsKICAgICB2b2lkIGR1bXBTZWxlY3Rpb25SZWN0KCkg
Y29uc3Qge30KICAgICB2b2lkIHNob3dXZWJJbnNwZWN0b3IoKTsKLSAgICB2b2lkIGhpZGVXZWJJ
bnNwZWN0b3IoKTsKKyAgICB2b2lkIGNsb3NlV2ViSW5zcGVjdG9yKCk7CisgICAgdm9pZCBldmFs
dWF0ZUluV2ViSW5zcGVjdG9yKGxvbmcgY2FsbElkLCBjb25zdCBRU3RyaW5nICZzY3JpcHQpOwog
ICAgIHZvaWQgc2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMoYm9vbCBlbmFibGUp
OwogICAgIHZvaWQgc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQoYm9vbCBlbmFibGUpOwor
ICAgIHZvaWQgc2V0VGltZWxpbmVQcm9maWxpbmdFbmFibGVkKGJvb2wgZW5hYmxlKTsKICAgICB2
b2lkIHNldEZpeGVkQ29udGVudHNTaXplKGludCB3aWR0aCwgaW50IGhlaWdodCk7CiAgICAgdm9p
ZCBzZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKGJvb2wgZW5hYmxlKTsKICAgICB2b2lkIHNldFBv
cHVwQmxvY2tpbmdFbmFibGVkKGJvb2wgZW5hYmxlKTsKLS0gCjEuNi4zLjMKCg==
</data>
<flag name="review"
          id="29872"
          type_id="1"
          status="-"
          setter="hausmann"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>47552</attachid>
            <date>2010-01-27 11:50:42 -0800</date>
            <delta_ts>2010-02-14 03:34:23 -0800</delta_ts>
            <desc>Updated Patch</desc>
            <filename>0001-Qt-DRT-Support-evaluateInWebInspector-setTimelinePro.patch</filename>
            <type>text/plain</type>
            <size>20006</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">RnJvbSAwM2FlZmQ5OTcyMGEwYmEzNzA0ZGNhYjk1MmYyMWE1ZjEzZjQzMGYxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnQgSG9nYW4gPHJvYmVydEByb2JlcnRob2dhbi5uZXQ+
CkRhdGU6IEZyaSwgMSBKYW4gMjAxMCAxODo0NTo1NyArMDAwMApTdWJqZWN0OiBbUEFUQ0hdIFtR
dF0gRFJUOiBTdXBwb3J0IGV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoKSwgc2V0VGltZWxpbmVQcm9m
aWxpbmdFbmFibGVkKCkuCgpTdXBwb3J0IExheW91dFRlc3RDb250cm9sbGVyLmV2YWx1YXRlSW5X
ZWJJbnNwZWN0b3IoKSwgc2V0VGltZWxpbmVQcm9maWxpbmdFbmFibGVkKCkKIGluIFF0IERSVC4K
Cmh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzA5NgoKVGhpcyBhbGxv
d3MgdGhlIGZvbGxvd2luZyB0ZXN0cyB0byBwYXNzOgoKaW5zcGVjdG9yL2NvbnNvbGUtZm9ybWF0
LWNvbGxlY3Rpb25zLmh0bWwKaW5zcGVjdG9yL3N0eWxlcy1pZnJhbWUuaHRtbAppbnNwZWN0b3Iv
c3ludGF4LWhpZ2hsaWdodC1jc3MuaHRtbAppbnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1qYXZh
c2NyaXB0Lmh0bWwKaW5zcGVjdG9yL3RpbWVsaW5lLWVudW0tc3RhYmlsaXR5Lmh0bWwKaW5zcGVj
dG9yL3RpbWVsaW5lLWxheW91dC5odG1sCmluc3BlY3Rvci90aW1lbGluZS1tYXJrLXRpbWVsaW5l
Lmh0bWwKaW5zcGVjdG9yL3RpbWVsaW5lLXBhaW50Lmh0bWwKaW5zcGVjdG9yL3RpbWVsaW5lLXBh
cnNlLWh0bWwuaHRtbAppbnNwZWN0b3IvdGltZWxpbmUtcmVjYWxjdWxhdGUtc3R5bGVzLmh0bWwK
aW5zcGVjdG9yL3RpbWVsaW5lLXNjcmlwdC10YWctMS5odG1sCmluc3BlY3Rvci90aW1lbGluZS1z
Y3JpcHQtdGFnLTIuaHRtbAppbnNwZWN0b3IvdGltZWxpbmUtdHJpdmlhbC5odG1sCmluc3BlY3Rv
ci9jb29raWUtcmVzb3VyY2UtbWF0Y2guaHRtbAppbnNwZWN0b3IvZWxlbWVudHMtaW1nLXRvb2x0
aXAuaHRtbAppbnNwZWN0b3IvZWxlbWVudHMtcGFuZWwtc2VsZWN0aW9uLW9uLXJlZnJlc2guaHRt
bAppbnNwZWN0b3IvaW5zcGVjdGVkLW9iamVjdHMtbm90LW92ZXJyaWRlbi5odG1sCmluc3BlY3Rv
ci90aW1lbGluZS1ldmVudC1kaXNwYXRjaC5odG1sCmluc3BlY3Rvci90aW1lbGluZS1uZXR3b3Jr
LXJlc291cmNlLmh0bWwKaW5zcGVjdG9yL2VsZW1lbnRzLXBhbmVsLXJld3JpdGUtaHJlZi5odG1s
Cmluc3BlY3Rvci9jb25zb2xlLWRpci5odG1sCmluc3BlY3Rvci9jb25zb2xlLWRpcnhtbC5odG1s
Cmluc3BlY3Rvci9jb25zb2xlLWZvcm1hdC5odG1sCmluc3BlY3Rvci9jb25zb2xlLXRlc3RzLmh0
bWwKaW5zcGVjdG9yL2VsZW1lbnRzLXBhbmVsLXN0cnVjdHVyZS5odG1sCmluc3BlY3Rvci9ldmFs
dWF0ZS1pbi1mcm9udGVuZC5odG1sCmluc3BlY3Rvci9jb25zb2xlLWNsZWFyLmh0bWwKLS0tCiBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNDIg
KysrKysrKysrKysrKysrCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkICAgICAgICAg
ICAgICAgICAgICB8ICAgMzcgKystLS0tLS0tLS0tLS0KIFdlYktpdC9xdC9BcGkvcXdlYnBhZ2Uu
Y3BwICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAzMiArKysrKysrKysrKysKIFdlYktpdC9x
dC9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA0OSArKysrKysr
KysrKysrKysrKysKIFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5j
cHAgICAgIHwgICAxNSArKystLQogV2ViS2l0VG9vbHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgIDU0ICsrKysrKysrKysrKysrKysrKysrCiBXZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcCB8ICAgMTcgKysrKysrCiBXZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmggICB8ICAgIDEgKwog
Li4uL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwICAgfCAgIDIy
ICsrKysrKystCiAuLi4vRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5o
ICAgICB8ICAgIDQgKy0KIDEwIGZpbGVzIGNoYW5nZWQsIDIzMCBpbnNlcnRpb25zKCspLCA0MyBk
ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWFlM2Y1Yy4uNGM2ZjBhYiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1
IEBACisyMDEwLTAxLTI2ICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAcm9iZXJ0aG9nYW4ubmV0Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gRFJU
OiBTdXBwb3J0IGV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoKSwgc2V0VGltZWxpbmVQcm9maWxpbmdF
bmFibGVkKCkuCisKKyAgICAgICAgU3VwcG9ydCBMYXlvdXRUZXN0Q29udHJvbGxlci5ldmFsdWF0
ZUluV2ViSW5zcGVjdG9yKCksIHNldFRpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZCgpIGluIFF0IERS
VC4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzMw
OTYKKworICAgICAgICBUaGlzIGFsbG93cyB0aGUgZm9sbG93aW5nIHRlc3RzIHRvIHBhc3M6CisK
KyAgICAgICAgaW5zcGVjdG9yL2NvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWwKKyAgICAg
ICAgaW5zcGVjdG9yL3N0eWxlcy1pZnJhbWUuaHRtbAorICAgICAgICBpbnNwZWN0b3Ivc3ludGF4
LWhpZ2hsaWdodC1jc3MuaHRtbAorICAgICAgICBpbnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1q
YXZhc2NyaXB0Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLWVudW0tc3RhYmlsaXR5
Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLWxheW91dC5odG1sCisgICAgICAgIGlu
c3BlY3Rvci90aW1lbGluZS1tYXJrLXRpbWVsaW5lLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3Rp
bWVsaW5lLXBhaW50Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLXBhcnNlLWh0bWwu
aHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtcmVjYWxjdWxhdGUtc3R5bGVzLmh0bWwK
KyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLXNjcmlwdC10YWctMS5odG1sCisgICAgICAgIGlu
c3BlY3Rvci90aW1lbGluZS1zY3JpcHQtdGFnLTIuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGlt
ZWxpbmUtdHJpdmlhbC5odG1sCisgICAgICAgIGluc3BlY3Rvci9jb29raWUtcmVzb3VyY2UtbWF0
Y2guaHRtbAorICAgICAgICBpbnNwZWN0b3IvZWxlbWVudHMtaW1nLXRvb2x0aXAuaHRtbAorICAg
ICAgICBpbnNwZWN0b3IvZWxlbWVudHMtcGFuZWwtc2VsZWN0aW9uLW9uLXJlZnJlc2guaHRtbAor
ICAgICAgICBpbnNwZWN0b3IvaW5zcGVjdGVkLW9iamVjdHMtbm90LW92ZXJyaWRlbi5odG1sCisg
ICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1ldmVudC1kaXNwYXRjaC5odG1sCisgICAgICAgIGlu
c3BlY3Rvci90aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLmh0bWwKKyAgICAgICAgaW5zcGVjdG9y
L2VsZW1lbnRzLXBhbmVsLXJld3JpdGUtaHJlZi5odG1sCisgICAgICAgIGluc3BlY3Rvci9jb25z
b2xlLWRpci5odG1sCisgICAgICAgIGluc3BlY3Rvci9jb25zb2xlLWRpcnhtbC5odG1sCisgICAg
ICAgIGluc3BlY3Rvci9jb25zb2xlLWZvcm1hdC5odG1sCisgICAgICAgIGluc3BlY3Rvci9jb25z
b2xlLXRlc3RzLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2VsZW1lbnRzLXBhbmVsLXN0cnVjdHVy
ZS5odG1sCisgICAgICAgIGluc3BlY3Rvci9ldmFsdWF0ZS1pbi1mcm9udGVuZC5odG1sCisgICAg
ICAgIGluc3BlY3Rvci9jb25zb2xlLWNsZWFyLmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL3F0
L1NraXBwZWQ6CisKIDIwMTAtMDEtMjYgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxl
LmNvbT4KIAogICAgICAgICBBbm90aGVyIGF0dGVtcHQgdG8gZ2V0IHRoaXMgdGVzdCB0byBwYXNz
IGZvciBHVEsuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAppbmRleCAwYTVmMGYzLi5jYTcxNmI4IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKQEAgLTE0NiwyMSArMTQ2LDYgQEAgaHR0cC90ZXN0cy9z
ZWN1cml0eS9sb2NhbC12aWRlby1zb3VyY2UtZnJvbS1yZW1vdGUuaHRtbAogIyAgICAgICAgICAg
IE1pc3NpbmcgZmVhdHVyZXMgaW4gb3VyIER1bXBSZW5kZXJUcmVlIGltcGxlbWVudGF0aW9uICAg
ICAgICAgICAgICAjCiAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICMKIAotIyBNaXNzaW5nIGxheW91
dFRlc3RDb250cm9sbGVyLnNob3dXZWJJbnNwZWN0b3IoKQotaW5zcGVjdG9yL2NvbnNvbGUtZm9y
bWF0LWNvbGxlY3Rpb25zLmh0bWwKLWluc3BlY3Rvci9zdHlsZXMtaWZyYW1lLmh0bWwKLWluc3Bl
Y3Rvci9zeW50YXgtaGlnaGxpZ2h0LWNzcy5odG1sCi1pbnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdo
dC1qYXZhc2NyaXB0Lmh0bWwKLWluc3BlY3Rvci90aW1lbGluZS1lbnVtLXN0YWJpbGl0eS5odG1s
Ci1pbnNwZWN0b3IvdGltZWxpbmUtbGF5b3V0Lmh0bWwKLWluc3BlY3Rvci90aW1lbGluZS1tYXJr
LXRpbWVsaW5lLmh0bWwKLWluc3BlY3Rvci90aW1lbGluZS1wYWludC5odG1sCi1pbnNwZWN0b3Iv
dGltZWxpbmUtcGFyc2UtaHRtbC5odG1sCi1pbnNwZWN0b3IvdGltZWxpbmUtcmVjYWxjdWxhdGUt
c3R5bGVzLmh0bWwKLWluc3BlY3Rvci90aW1lbGluZS1zY3JpcHQtdGFnLTEuaHRtbAotaW5zcGVj
dG9yL3RpbWVsaW5lLXNjcmlwdC10YWctMi5odG1sCi1pbnNwZWN0b3IvdGltZWxpbmUtdHJpdmlh
bC5odG1sCi0KICMgTWlzc2luZyB0ZXh0SW5wdXRDb250cm9sbGVyLnNlbGVjdGVkUmFuZ2UoKQog
ZWRpdGluZy9zZWxlY3Rpb24vNTgyNTM1MC0xLmh0bWwKIGVkaXRpbmcvc2VsZWN0aW9uLzU4MjUz
NTAtMi5odG1sCkBAIC0yMDksMTYgKzE5NCw2IEBAIGh0dHAvdGVzdHMvc2VjdXJpdHkvaXNvbGF0
ZWRXb3JsZAogaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQKIGh0dHAvdGVzdHMvY2Fj
aGUvc3VicmVzb3VyY2UtZmFpbG92ZXItdG8tbmV0d29yay5odG1sCiAKLSMgTWlzc2luZyBsYXlv
dXRUZXN0Q29udHJvbGxlci5ldmFsdWF0ZUluV2ViSW5zcGVjdG9yKCkKLSMgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMzMDk2Ci1pbnNwZWN0b3IvY29va2llLXJlc291
cmNlLW1hdGNoLmh0bWwKLWluc3BlY3Rvci9lbGVtZW50cy1pbWctdG9vbHRpcC5odG1sCi1pbnNw
ZWN0b3IvZWxlbWVudHMtcGFuZWwtc2VsZWN0aW9uLW9uLXJlZnJlc2guaHRtbAotaW5zcGVjdG9y
L2luc3BlY3RlZC1vYmplY3RzLW5vdC1vdmVycmlkZW4uaHRtbAotaW5zcGVjdG9yL3RpbWVsaW5l
LWV2ZW50LWRpc3BhdGNoLmh0bWwKLWluc3BlY3Rvci90aW1lbGluZS1uZXR3b3JrLXJlc291cmNl
Lmh0bWwKLWluc3BlY3Rvci9lbGVtZW50cy1wYW5lbC1yZXdyaXRlLWhyZWYuaHRtbAotCiAjIE1p
c3NpbmcgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0U21hcnRJbnNlcnREZWxldGVFbmFibGVkKCkK
IGVkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLWJlc2lkZS1jci1zcGFuLmh0bWwKIApAQCAt
NDg0OSwxNCArNDgyNCwxMSBAQCBmYXN0L2RvbS9XaW5kb3cvc2xvd191bmxvYWRfaGFuZGxlci5o
dG1sCiAjIFRoaXMgcG9ydCBkb2Vzbid0IGhhdmUgYSBnbG9iYWwgaGlzdG9yeSBkZWxlZ2F0ZSB5
ZXQKIGh0dHAvdGVzdHMvZ2xvYmFsaGlzdG9yeQogCi0jIFNraXAgaW5zcGVjdG9yIHRlc3RzCi1p
bnNwZWN0b3IvY29uc29sZS1kaXIuaHRtbAotaW5zcGVjdG9yL2NvbnNvbGUtZGlyeG1sLmh0bWwK
LWluc3BlY3Rvci9jb25zb2xlLWZvcm1hdC5odG1sCisjIEZhaWwgYmVjYXVzZSBpbmNvcnJlY3Qg
bGluZSBudW1iZXJzIGdlbmVyYXRlZC4KIGluc3BlY3Rvci9jb25zb2xlLWxvZy1iZWZvcmUtaW5z
cGVjdG9yLW9wZW4uaHRtbAotaW5zcGVjdG9yL2NvbnNvbGUtdGVzdHMuaHRtbAotaW5zcGVjdG9y
L2VsZW1lbnRzLXBhbmVsLXN0cnVjdHVyZS5odG1sCi1pbnNwZWN0b3IvZXZhbHVhdGUtaW4tZnJv
bnRlbmQuaHRtbAorCisjIE5lZWQgYSB3YXkgb2YgcGFpbnRpbmcgd2lkZ2V0cyB3aXRob3V0IGRp
c3BsYXlpbmcgdGhlbS4KK2luc3BlY3Rvci90aW1lbGluZS1wYWludC5odG1sCiAKICMgU2tpcCB4
bWxodHRwcmVxdWVzdCB0ZXN0cyAtIE5FVFdPUktfRVJSOiBYTUxIdHRwUmVxdWVzdCBFeGNlcHRp
b24gMTAxOiBBIG5ldHdvcmsgZXJyb3Igb2NjdXJlZCBpbiBzeW5jaHJvbm91cyByZXF1ZXN0cy4K
IGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRyb2wtYmFzaWMtYWxsb3ctcHJl
ZmxpZ2h0LWNhY2hlLmh0bWwKQEAgLTUwMjUsNyArNDk5Nyw2IEBAIGZhc3QvY3NzL25hbWVzcGFj
ZXMvbmFtZXNwYWNlcy1lbXB0eS54bWwKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTMxNjI2CiBmYXN0L2RvbS9qYXZhc2NyaXB0LXVybC1jcmFzaC1mdW5jdGlvbi5o
dG1sCiBmYXN0L2RvbS9sb2NhdGlvbi1uZXctd2luZG93LW5vLWNyYXNoLmh0bWwKLWluc3BlY3Rv
ci9jb25zb2xlLWNsZWFyLmh0bWwKIGh0dHAvdGVzdHMvbWlzYy9zZXQtd2luZG93LW9wZW5lci10
by1udWxsLmh0bWwKIGh0dHAvdGVzdHMvc2VjdXJpdHkvYWJvdXRCbGFuay94c3MtREVOSUVELXNl
dC1vcGVuZXIuaHRtbAogaHR0cC90ZXN0cy9zZWN1cml0eS9kYXRhVVJML3hzcy1ERU5JRUQtZnJv
bS1kYXRhLXVybC1pbi1mb3JlaWduLWRvbWFpbi13aW5kb3ctb3Blbi5odG1sCmRpZmYgLS1naXQg
YS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcCBiL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3Bw
CmluZGV4IGU1MDk0M2MuLjVhOTJkZTcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnBh
Z2UuY3BwCisrKyBiL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCkBAIC0xNDUsNiArMTQ1LDM4
IEBAIFFTdHJpbmcgUVdFQktJVF9FWFBPUlQgcXRfd2VicGFnZV9ncm91cE5hbWUoUVdlYlBhZ2Uq
IHBhZ2UpCiAgICAgcmV0dXJuIHBhZ2UtPmhhbmRsZSgpLT5wYWdlLT5ncm91cE5hbWUoKTsKIH0K
IAordm9pZCBRV0VCS0lUX0VYUE9SVCBxdF9kcnRfd2ViaW5zcGVjdG9yX2V4ZWN1dGVTY3JpcHQo
UVdlYlBhZ2UqIHBhZ2UsIGxvbmcgY2FsbElkLCBjb25zdCBRU3RyaW5nJiBzY3JpcHQpCit7Cisg
ICAgaWYgKCFwYWdlLT5oYW5kbGUoKS0+cGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpKQorICAg
ICAgICByZXR1cm47CisgICAgcGFnZS0+aGFuZGxlKCktPnBhZ2UtPmluc3BlY3RvckNvbnRyb2xs
ZXIoKS0+ZXZhbHVhdGVGb3JUZXN0SW5Gcm9udGVuZChjYWxsSWQsIHNjcmlwdCk7Cit9CisKK3Zv
aWQgUVdFQktJVF9FWFBPUlQgcXRfZHJ0X3dlYmluc3BlY3Rvcl9jbG9zZShRV2ViUGFnZSogcGFn
ZSkKK3sKKyAgICBpZiAoIXBhZ2UtPmhhbmRsZSgpLT5wYWdlLT5pbnNwZWN0b3JDb250cm9sbGVy
KCkpCisgICAgICAgIHJldHVybjsKKyAgICBwYWdlLT5oYW5kbGUoKS0+cGFnZS0+aW5zcGVjdG9y
Q29udHJvbGxlcigpLT5jbG9zZSgpOworfQorCit2b2lkIFFXRUJLSVRfRVhQT1JUIHF0X2RydF93
ZWJpbnNwZWN0b3Jfc2hvdyhRV2ViUGFnZSogcGFnZSkKK3sKKyAgICBpZiAoIXBhZ2UtPmhhbmRs
ZSgpLT5wYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCkpCisgICAgICAgIHJldHVybjsKKyAgICBw
YWdlLT5oYW5kbGUoKS0+cGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5zaG93KCk7Cit9CisK
K3ZvaWQgUVdFQktJVF9FWFBPUlQgcXRfZHJ0X3NldFRpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZChR
V2ViUGFnZSogcGFnZSwgYm9vbCBlbmFibGVkKQoreworICAgIEluc3BlY3RvckNvbnRyb2xsZXIq
IGNvbnRyb2xsZXIgPSBwYWdlLT5oYW5kbGUoKS0+cGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigp
OworICAgIGlmICghY29udHJvbGxlcikKKyAgICAgICAgcmV0dXJuOworICAgIGlmIChlbmFibGVk
KQorICAgICAgICBjb250cm9sbGVyLT5zdGFydFRpbWVsaW5lUHJvZmlsZXIoKTsKKyAgICBlbHNl
CisgICAgICAgIGNvbnRyb2xsZXItPnN0b3BUaW1lbGluZVByb2ZpbGVyKCk7Cit9CisKIGNsYXNz
IFFXZWJQYWdlV2lkZ2V0Q2xpZW50IDogcHVibGljIFFXZWJQYWdlQ2xpZW50IHsKIHB1YmxpYzoK
ICAgICBRV2ViUGFnZVdpZGdldENsaWVudChRV2lkZ2V0KiB2aWV3KQpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L3F0L0NoYW5nZUxvZyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggMzI1ZjVmZS4uZTNh
ZDFlMCAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9XZWJLaXQvcXQvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNTIgQEAKKzIwMTAtMDEtMjYgIFJvYmVydCBIb2dhbiAgPHJvYmVy
dEByb2JlcnRob2dhbi5uZXQ+LCBKb2NlbHluIFR1cmNvdHRlICA8am9jZWx5bi50dXJjb3R0ZUBu
b2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgW1F0XSBEUlQ6IFN1cHBvcnQgZXZhbHVhdGVJbldlYkluc3BlY3RvcigpLCBzZXRUaW1lbGlu
ZVByb2ZpbGluZ0VuYWJsZWQoKS4KKworICAgICAgICBTdXBwb3J0IExheW91dFRlc3RDb250cm9s
bGVyLmV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoKSwgc2V0VGltZWxpbmVQcm9maWxpbmdFbmFibGVk
KCkgaW4gUXQgRFJULgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0zMzA5NgorCisgICAgICAgIFRoaXMgYWxsb3dzIHRoZSBmb2xsb3dpbmcgdGVzdHMg
dG8gcGFzczoKKworICAgICAgICBpbnNwZWN0b3IvY29uc29sZS1mb3JtYXQtY29sbGVjdGlvbnMu
aHRtbAorICAgICAgICBpbnNwZWN0b3Ivc3R5bGVzLWlmcmFtZS5odG1sCisgICAgICAgIGluc3Bl
Y3Rvci9zeW50YXgtaGlnaGxpZ2h0LWNzcy5odG1sCisgICAgICAgIGluc3BlY3Rvci9zeW50YXgt
aGlnaGxpZ2h0LWphdmFzY3JpcHQuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtZW51
bS1zdGFiaWxpdHkuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtbGF5b3V0Lmh0bWwK
KyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLW1hcmstdGltZWxpbmUuaHRtbAorICAgICAgICBp
bnNwZWN0b3IvdGltZWxpbmUtcGFpbnQuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUt
cGFyc2UtaHRtbC5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1yZWNhbGN1bGF0ZS1z
dHlsZXMuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtc2NyaXB0LXRhZy0xLmh0bWwK
KyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLXNjcmlwdC10YWctMi5odG1sCisgICAgICAgIGlu
c3BlY3Rvci90aW1lbGluZS10cml2aWFsLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2Nvb2tpZS1y
ZXNvdXJjZS1tYXRjaC5odG1sCisgICAgICAgIGluc3BlY3Rvci9lbGVtZW50cy1pbWctdG9vbHRp
cC5odG1sCisgICAgICAgIGluc3BlY3Rvci9lbGVtZW50cy1wYW5lbC1zZWxlY3Rpb24tb24tcmVm
cmVzaC5odG1sCisgICAgICAgIGluc3BlY3Rvci9pbnNwZWN0ZWQtb2JqZWN0cy1ub3Qtb3ZlcnJp
ZGVuLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLWV2ZW50LWRpc3BhdGNoLmh0bWwK
KyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLW5ldHdvcmstcmVzb3VyY2UuaHRtbAorICAgICAg
ICBpbnNwZWN0b3IvZWxlbWVudHMtcGFuZWwtcmV3cml0ZS1ocmVmLmh0bWwKKyAgICAgICAgaW5z
cGVjdG9yL2NvbnNvbGUtZGlyLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2NvbnNvbGUtZGlyeG1s
Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2NvbnNvbGUtZm9ybWF0Lmh0bWwKKyAgICAgICAgaW5z
cGVjdG9yL2NvbnNvbGUtdGVzdHMuaHRtbAorICAgICAgICBpbnNwZWN0b3IvZWxlbWVudHMtcGFu
ZWwtc3RydWN0dXJlLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2V2YWx1YXRlLWluLWZyb250ZW5k
Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2NvbnNvbGUtY2xlYXIuaHRtbAorCisgICAgICAgICog
QXBpL3F3ZWJwYWdlLmNwcDoKKyAgICAgICAgKHF0X2RydF93ZWJpbnNwZWN0b3JfZXhlY3V0ZVNj
cmlwdCk6CisgICAgICAgIChxdF9kcnRfd2ViaW5zcGVjdG9yX2Nsb3NlKToKKyAgICAgICAgKHF0
X2RydF93ZWJpbnNwZWN0b3Jfc2hvdyk6CisgICAgICAgIChxdF9kcnRfc2V0VGltZWxpbmVQcm9m
aWxpbmdFbmFibGVkKToKKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVu
dFF0LmNwcDoKKyAgICAgICAgKEluc3BlY3RvckNsaWVudFF0OjpjcmVhdGVQYWdlKQorCiAyMDEw
LTAxLTI2ICBTaW1vbiBIYXVzbWFubiAgPHNpbW9uLmhhdXNtYW5uQG5va2lhLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KZGlmZiAtLWdpdCBh
L1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5jcHAgYi9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50UXQuY3BwCmluZGV4IDFjYWY5NmQuLjc1
MWUzY2IgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGll
bnRRdC5jcHAKKysrIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0
LmNwcApAQCAtODQsMTYgKzg0LDE5IEBAIHZvaWQgSW5zcGVjdG9yQ2xpZW50UXQ6Omluc3BlY3Rv
ckRlc3Ryb3llZCgpCiAKIFBhZ2UqIEluc3BlY3RvckNsaWVudFF0OjpjcmVhdGVQYWdlKCkKIHsK
LSAgICBRV2ViVmlldyogaW5zcGVjdG9yVmlldyA9IG5ldyBRV2ViVmlldzsKLSAgICBJbnNwZWN0
b3JDbGllbnRXZWJQYWdlKiBpbnNwZWN0b3JQYWdlID0gbmV3IEluc3BlY3RvckNsaWVudFdlYlBh
Z2UoaW5zcGVjdG9yVmlldyk7Ci0gICAgaW5zcGVjdG9yVmlldy0+c2V0UGFnZShpbnNwZWN0b3JQ
YWdlKTsKLSAgICBtX2luc3BlY3RvclZpZXcuc2V0KGluc3BlY3RvclZpZXcpOworICAgIFFXZWJW
aWV3KiBpbnNwZWN0b3JWaWV3ID0gbV9pbnNwZWN0b3JWaWV3LmdldCgpOworICAgIGlmICghaW5z
cGVjdG9yVmlldykgeworICAgICAgICBpbnNwZWN0b3JWaWV3ID0gbmV3IFFXZWJWaWV3OworICAg
ICAgICBJbnNwZWN0b3JDbGllbnRXZWJQYWdlKiBpbnNwZWN0b3JQYWdlID0gbmV3IEluc3BlY3Rv
ckNsaWVudFdlYlBhZ2UoaW5zcGVjdG9yVmlldyk7CisgICAgICAgIGluc3BlY3RvclZpZXctPnNl
dFBhZ2UoaW5zcGVjdG9yUGFnZSk7CisgICAgICAgIG1faW5zcGVjdG9yVmlldy5zZXQoaW5zcGVj
dG9yVmlldyk7CisgICAgfQogCi0gICAgaW5zcGVjdG9yUGFnZS0+bWFpbkZyYW1lKCktPmxvYWQo
UVN0cmluZzo6ZnJvbUxhdGluMSgicXJjOi93ZWJraXQvaW5zcGVjdG9yL2luc3BlY3Rvci5odG1s
IikpOworICAgIGluc3BlY3RvclZpZXctPnBhZ2UoKS0+bWFpbkZyYW1lKCktPmxvYWQoUVN0cmlu
Zzo6ZnJvbUxhdGluMSgicXJjOi93ZWJraXQvaW5zcGVjdG9yL2luc3BlY3Rvci5odG1sIikpOwog
ICAgIG1faW5zcGVjdGVkV2ViUGFnZS0+ZC0+aW5zcGVjdG9yRnJvbnRlbmQgPSBpbnNwZWN0b3JW
aWV3OwogICAgIG1faW5zcGVjdGVkV2ViUGFnZS0+ZC0+Z2V0T3JDcmVhdGVJbnNwZWN0b3IoKS0+
ZC0+c2V0RnJvbnRlbmQoaW5zcGVjdG9yVmlldyk7CiAKLSAgICByZXR1cm4gbV9pbnNwZWN0b3JW
aWV3LT5wYWdlKCktPmQtPnBhZ2U7CisgICAgcmV0dXJuIGluc3BlY3RvclZpZXctPnBhZ2UoKS0+
ZC0+cGFnZTsKIH0KIAogU3RyaW5nIEluc3BlY3RvckNsaWVudFF0Ojpsb2NhbGl6ZWRTdHJpbmdz
VVJMKCkKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0No
YW5nZUxvZwppbmRleCA1OTUzMzQyLi42NDQ0OWU0IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9D
aGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTcgQEAKKzIw
MTAtMDEtMjYgIFJvYmVydCBIb2dhbiAgPHJvYmVydEByb2JlcnRob2dhbi5uZXQ+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBEUlQ6IFN1cHBv
cnQgZXZhbHVhdGVJbldlYkluc3BlY3RvcigpLCBzZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWQo
KS4KKworICAgICAgICBTdXBwb3J0IExheW91dFRlc3RDb250cm9sbGVyLmV2YWx1YXRlSW5XZWJJ
bnNwZWN0b3IoKSwgc2V0VGltZWxpbmVQcm9maWxpbmdFbmFibGVkKCkgaW4gUXQgRFJULgorCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzA5NgorCisg
ICAgICAgIFRoaXMgYWxsb3dzIHRoZSBmb2xsb3dpbmcgdGVzdHMgdG8gcGFzczoKKworICAgICAg
ICBpbnNwZWN0b3IvY29uc29sZS1mb3JtYXQtY29sbGVjdGlvbnMuaHRtbAorICAgICAgICBpbnNw
ZWN0b3Ivc3R5bGVzLWlmcmFtZS5odG1sCisgICAgICAgIGluc3BlY3Rvci9zeW50YXgtaGlnaGxp
Z2h0LWNzcy5odG1sCisgICAgICAgIGluc3BlY3Rvci9zeW50YXgtaGlnaGxpZ2h0LWphdmFzY3Jp
cHQuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtZW51bS1zdGFiaWxpdHkuaHRtbAor
ICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtbGF5b3V0Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9y
L3RpbWVsaW5lLW1hcmstdGltZWxpbmUuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUt
cGFpbnQuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtcGFyc2UtaHRtbC5odG1sCisg
ICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1yZWNhbGN1bGF0ZS1zdHlsZXMuaHRtbAorICAgICAg
ICBpbnNwZWN0b3IvdGltZWxpbmUtc2NyaXB0LXRhZy0xLmh0bWwKKyAgICAgICAgaW5zcGVjdG9y
L3RpbWVsaW5lLXNjcmlwdC10YWctMi5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS10
cml2aWFsLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2Nvb2tpZS1yZXNvdXJjZS1tYXRjaC5odG1s
CisgICAgICAgIGluc3BlY3Rvci9lbGVtZW50cy1pbWctdG9vbHRpcC5odG1sCisgICAgICAgIGlu
c3BlY3Rvci9lbGVtZW50cy1wYW5lbC1zZWxlY3Rpb24tb24tcmVmcmVzaC5odG1sCisgICAgICAg
IGluc3BlY3Rvci9pbnNwZWN0ZWQtb2JqZWN0cy1ub3Qtb3ZlcnJpZGVuLmh0bWwKKyAgICAgICAg
aW5zcGVjdG9yL3RpbWVsaW5lLWV2ZW50LWRpc3BhdGNoLmh0bWwKKyAgICAgICAgaW5zcGVjdG9y
L3RpbWVsaW5lLW5ldHdvcmstcmVzb3VyY2UuaHRtbAorICAgICAgICBpbnNwZWN0b3IvZWxlbWVu
dHMtcGFuZWwtcmV3cml0ZS1ocmVmLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2NvbnNvbGUtZGly
Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2NvbnNvbGUtZGlyeG1sLmh0bWwKKyAgICAgICAgaW5z
cGVjdG9yL2NvbnNvbGUtZm9ybWF0Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2NvbnNvbGUtdGVz
dHMuaHRtbAorICAgICAgICBpbnNwZWN0b3IvZWxlbWVudHMtcGFuZWwtc3RydWN0dXJlLmh0bWwK
KyAgICAgICAgaW5zcGVjdG9yL2V2YWx1YXRlLWluLWZyb250ZW5kLmh0bWwKKyAgICAgICAgaW5z
cGVjdG9yL2NvbnNvbGUtY2xlYXIuaHRtbAorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQv
RHVtcFJlbmRlclRyZWVRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEdW1wUmVuZGVyVHJlZTo6
cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZUJlZm9yZVRlc3RpbmcpOgorICAgICAgICAoV2ViQ29yZTo6
aXNXZWJJbnNwZWN0b3JUZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkR1bXBSZW5kZXJUcmVlOjpv
cGVuKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpEdW1wUmVuZGVyVHJlZTo6ZGlzcGxheSk6CisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHA6CisgICAgICAgIChMYXlv
dXRUZXN0Q29udHJvbGxlcjo6Y2xvc2VXZWJJbnNwZWN0b3IpOgorICAgICAgICAoTGF5b3V0VGVz
dENvbnRyb2xsZXI6OnNob3dXZWJJbnNwZWN0b3IpOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRy
b2xsZXI6OmV2YWx1YXRlSW5XZWJJbnNwZWN0b3IpOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRy
b2xsZXI6OnNldFRpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZCk6CisgICAgICAgIChMYXlvdXRUZXN0
Q29udHJvbGxlcjo6ZGlzcGxheSk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0
VGVzdENvbnRyb2xsZXJRdC5oOgorCiAyMDEwLTAxLTI2ICBLZW5uZXRoIFJvaGRlIENocmlzdGlh
bnNlbiAgPGtlbm5ldGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBcml5YSBI
aWRheWF0LgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJl
bmRlclRyZWVRdC5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVy
VHJlZVF0LmNwcAppbmRleCA4MTUxNDc1Li5lYWI0OGVhIDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcAorKysgYi9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcApAQCAtNDA5LDExICs0MDks
MjggQEAgdm9pZCBEdW1wUmVuZGVyVHJlZTo6cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZUJlZm9yZVRl
c3RpbmcoKQogICAgIHNldGxvY2FsZShMQ19BTEwsICIiKTsKIH0KIAorc3RhdGljIGJvb2wgaXNX
ZWJJbnNwZWN0b3JUZXN0KGNvbnN0IFFVcmwmIHVybCkKK3sKKyAgICBpZiAodXJsLnBhdGgoKS5j
b250YWlucygiaW5zcGVjdG9yLyIpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4g
ZmFsc2U7Cit9CisKIHZvaWQgRHVtcFJlbmRlclRyZWU6Om9wZW4oY29uc3QgUVVybCYgYXVybCkK
IHsKKyAgICBzdGF0aWMgYm9vbCBwcmV2aW91c1Rlc3RVc2VkV2ViSW5zcGVjdG9yID0gZmFsc2U7
CisKICAgICByZXNldFRvQ29uc2lzdGVudFN0YXRlQmVmb3JlVGVzdGluZygpOwogCiAgICAgUVVy
bCB1cmwgPSBhdXJsOworICAgIGlmIChwcmV2aW91c1Rlc3RVc2VkV2ViSW5zcGVjdG9yKQorICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlcigpLT5jbG9zZVdlYkluc3BlY3RvcigpOworCisgICAg
aWYgKGlzV2ViSW5zcGVjdG9yVGVzdCh1cmwpKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyKCktPnNob3dXZWJJbnNwZWN0b3IoKTsKKyAgICAgICAgcHJldmlvdXNUZXN0VXNlZFdlYklu
c3BlY3RvciA9IHRydWU7CisgICAgfQorCiAgICAgbV9leHBlY3RlZEhhc2ggPSBRU3RyaW5nKCk7
CiAgICAgaWYgKG1fZHVtcFBpeGVscykgewogICAgICAgICAvLyBzaW5nbGUgcXVvdGUgbWFya3Mg
dGhlIHBpeGVsIGR1bXAgaGFzaApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQv
RHVtcFJlbmRlclRyZWVRdC5oCmluZGV4IGVlN2FjYjAuLjE3MjkyNDIgMTAwNjQ0Ci0tLSBhL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuaAorKysgYi9XZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmgKQEAgLTE1NCw2ICsx
NTQsNyBAQCBwdWJsaWM6CiAgICAgV2ViUGFnZShRT2JqZWN0KiBwYXJlbnQsIER1bXBSZW5kZXJU
cmVlKik7CiAgICAgdmlydHVhbCB+V2ViUGFnZSgpOwogICAgIFFXZWJJbnNwZWN0b3IqIHdlYklu
c3BlY3RvcigpOworICAgIHZvaWQgY2xvc2VXZWJJbnNwZWN0b3IoKTsKIAogICAgIFFXZWJQYWdl
ICpjcmVhdGVXaW5kb3coUVdlYlBhZ2U6OldlYldpbmRvd1R5cGUpOwogCmRpZmYgLS1naXQgYS9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcCBi
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3Bw
CmluZGV4IDc2MTY1ZjYuLjUxMjU5YmYgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCkBAIC0zOSw2ICszOSw3
IEBACiBleHRlcm4gdm9pZCBxdF9kdW1wX2VkaXRpbmdfY2FsbGJhY2tzKGJvb2wgYik7CiBleHRl
cm4gdm9pZCBxdF9kdW1wX3Jlc291cmNlX2xvYWRfY2FsbGJhY2tzKGJvb2wgYik7CiBleHRlcm4g
dm9pZCBxdF9kcnRfc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQoUVdlYkZyYW1lKiwgYm9v
bCBlbmFibGVkKTsKK2V4dGVybiB2b2lkIHF0X2RydF9zZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJs
ZWQoUVdlYlBhZ2UqLCBib29sIGVuYWJsZWQpOwogZXh0ZXJuIGJvb2wgcXRfZHJ0X3BhdXNlQW5p
bWF0aW9uKFFXZWJGcmFtZSosIGNvbnN0IFFTdHJpbmcmIG5hbWUsIGRvdWJsZSB0aW1lLCBjb25z
dCBRU3RyaW5nJiBlbGVtZW50SWQpOwogZXh0ZXJuIGJvb2wgcXRfZHJ0X3BhdXNlVHJhbnNpdGlv
bk9mUHJvcGVydHkoUVdlYkZyYW1lKiwgY29uc3QgUVN0cmluZyYgbmFtZSwgZG91YmxlIHRpbWUs
IGNvbnN0IFFTdHJpbmcmIGVsZW1lbnRJZCk7CiBleHRlcm4gYm9vbCBxdF9kcnRfcGF1c2VTVkdB
bmltYXRpb24oUVdlYkZyYW1lKiwgY29uc3QgUVN0cmluZyYgYW5pbWF0aW9uSWQsIGRvdWJsZSB0
aW1lLCBjb25zdCBRU3RyaW5nJiBlbGVtZW50SWQpOwpAQCAtNDcsNiArNDgsOSBAQCBleHRlcm4g
dm9pZCBxdF9kcnRfc2V0RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZShib29s
IGZvcmJpZGRlbiwgY29ucwogCiBleHRlcm4gdm9pZCBxdF9kcnRfd2hpdGVMaXN0QWNjZXNzRnJv
bU9yaWdpbihjb25zdCBRU3RyaW5nJiBzb3VyY2VPcmlnaW4sIGNvbnN0IFFTdHJpbmcmIGRlc3Rp
bmF0aW9uUHJvdG9jb2wsIGNvbnN0IFFTdHJpbmcmIGRlc3RpbmF0aW9uSG9zdCwgYm9vbCBhbGxv
d0Rlc3RpbmF0aW9uU3ViZG9tYWlucyk7CiBleHRlcm4gUVN0cmluZyBxdF9kcnRfY291bnRlclZh
bHVlRm9yRWxlbWVudEJ5SWQoUVdlYkZyYW1lKiBxRnJhbWUsIGNvbnN0IFFTdHJpbmcmIGlkKTsK
K2V4dGVybiB2b2lkIHF0X2RydF93ZWJpbnNwZWN0b3JfZXhlY3V0ZVNjcmlwdChRV2ViUGFnZSog
cGFnZSwgbG9uZyBjYWxsSWQsIGNvbnN0IFFTdHJpbmcmIHNjcmlwdCk7CitleHRlcm4gdm9pZCBx
dF9kcnRfd2ViaW5zcGVjdG9yX3Nob3coUVdlYlBhZ2UgKnBhZ2UpOworZXh0ZXJuIHZvaWQgcXRf
ZHJ0X3dlYmluc3BlY3Rvcl9jbG9zZShRV2ViUGFnZSAqcGFnZSk7CiAKIExheW91dFRlc3RDb250
cm9sbGVyOjpMYXlvdXRUZXN0Q29udHJvbGxlcihXZWJDb3JlOjpEdW1wUmVuZGVyVHJlZSogZHJ0
KQogICAgIDogUU9iamVjdCgpCkBAIC0yNTcsMTUgKzI2MSwyMiBAQCBRU3RyaW5nIExheW91dFRl
c3RDb250cm9sbGVyOjpkZWNvZGVIb3N0TmFtZShjb25zdCBRU3RyaW5nJiBob3N0KQogICAgIHJl
dHVybiBkZWNvZGVkOwogfQogCisKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmNsb3NlV2Vi
SW5zcGVjdG9yKCkKK3sKKyAgICBxdF9kcnRfd2ViaW5zcGVjdG9yX2Nsb3NlKG1fZHJ0LT53ZWJQ
YWdlKCkpOworICAgIG1fZHJ0LT53ZWJQYWdlKCktPnNldHRpbmdzKCktPnNldEF0dHJpYnV0ZShR
V2ViU2V0dGluZ3M6OkRldmVsb3BlckV4dHJhc0VuYWJsZWQsIGZhbHNlKTsKK30KKwogdm9pZCBM
YXlvdXRUZXN0Q29udHJvbGxlcjo6c2hvd1dlYkluc3BlY3RvcigpCiB7CiAgICAgbV9kcnQtPndl
YlBhZ2UoKS0+c2V0dGluZ3MoKS0+c2V0QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6RGV2ZWxvcGVy
RXh0cmFzRW5hYmxlZCwgdHJ1ZSk7Ci0gICAgbV9kcnQtPndlYlBhZ2UoKS0+d2ViSW5zcGVjdG9y
KCktPnNob3coKTsKKyAgICBxdF9kcnRfd2ViaW5zcGVjdG9yX3Nob3cobV9kcnQtPndlYlBhZ2Uo
KSk7CiB9CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmhpZGVXZWJJbnNwZWN0b3IoKQor
dm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZXZhbHVhdGVJbldlYkluc3BlY3Rvcihsb25nIGNh
bGxJZCwgY29uc3QgUVN0cmluZyYgc2NyaXB0KQogewotICAgIG1fZHJ0LT53ZWJQYWdlKCktPndl
Ykluc3BlY3RvcigpLT5oaWRlKCk7CisgICAgcXRfZHJ0X3dlYmluc3BlY3Rvcl9leGVjdXRlU2Ny
aXB0KG1fZHJ0LT53ZWJQYWdlKCksIGNhbGxJZCwgc2NyaXB0KTsKIH0KIAogdm9pZCBMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6c2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMoYm9vbCBl
bmFibGVkKQpAQCAtMjc5LDYgKzI5MCwxMSBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpz
ZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZChib29sIGVuYWJsZSkKICAgICBxdF9kcnRfc2V0
SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQobV90b3BMb2FkaW5nRnJhbWUsIGVuYWJsZSk7CiB9
CiAKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFRpbWVsaW5lUHJvZmlsaW5nRW5hYmxl
ZChib29sIGVuYWJsZSkKK3sKKyAgICBxdF9kcnRfc2V0VGltZWxpbmVQcm9maWxpbmdFbmFibGVk
KG1fZHJ0LT53ZWJQYWdlKCksIGVuYWJsZSk7Cit9CisKIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xs
ZXI6OnNldEZpeGVkQ29udGVudHNTaXplKGludCB3aWR0aCwgaW50IGhlaWdodCkKIHsKICAgICBt
X3RvcExvYWRpbmdGcmFtZS0+cGFnZSgpLT5zZXRQcmVmZXJyZWRDb250ZW50c1NpemUoUVNpemUo
d2lkdGgsIGhlaWdodCkpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
cXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
cXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oCmluZGV4IDIzNGNlZDUuLjFmNDJjYTggMTAwNjQ0
Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVy
UXQuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJv
bGxlclF0LmgKQEAgLTEwNSw5ICsxMDUsMTEgQEAgcHVibGljIHNsb3RzOgogICAgIFFTdHJpbmcg
ZGVjb2RlSG9zdE5hbWUoY29uc3QgUVN0cmluZyYgaG9zdCk7CiAgICAgdm9pZCBkdW1wU2VsZWN0
aW9uUmVjdCgpIGNvbnN0IHt9CiAgICAgdm9pZCBzaG93V2ViSW5zcGVjdG9yKCk7Ci0gICAgdm9p
ZCBoaWRlV2ViSW5zcGVjdG9yKCk7CisgICAgdm9pZCBjbG9zZVdlYkluc3BlY3RvcigpOworICAg
IHZvaWQgZXZhbHVhdGVJbldlYkluc3BlY3Rvcihsb25nIGNhbGxJZCwgY29uc3QgUVN0cmluZyYg
c2NyaXB0KTsKICAgICB2b2lkIHNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzKGJv
b2wgZW5hYmxlKTsKICAgICB2b2lkIHNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKGJvb2wg
ZW5hYmxlKTsKKyAgICB2b2lkIHNldFRpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZChib29sIGVuYWJs
ZSk7CiAgICAgdm9pZCBzZXRGaXhlZENvbnRlbnRzU2l6ZShpbnQgd2lkdGgsIGludCBoZWlnaHQp
OwogICAgIHZvaWQgc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChib29sIGVuYWJsZSk7CiAgICAg
dm9pZCBzZXRQb3B1cEJsb2NraW5nRW5hYmxlZChib29sIGVuYWJsZSk7Ci0tIAoxLjYuMy4zCgo=
</data>
<flag name="review"
          id="30013"
          type_id="1"
          status="-"
          setter="hausmann"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>48717</attachid>
            <date>2010-02-14 03:34:23 -0800</date>
            <delta_ts>2010-02-15 02:56:23 -0800</delta_ts>
            <desc>Updated Patch</desc>
            <filename>0001-Qt-DRT-Support-evaluateInWebInspector-setTimelinePro.patch</filename>
            <type>text/plain</type>
            <size>19916</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">RnJvbSAyOGU4YTBjZWRkMmU3OTcwMWI1NmZhYjI3NjhjMzNhYmRkZmQ4N2FlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnQgSG9nYW4gPHJvYmVydEByb2JlcnRob2dhbi5uZXQ+
CkRhdGU6IEZyaSwgMSBKYW4gMjAxMCAxODo0NTo1NyArMDAwMApTdWJqZWN0OiBbUEFUQ0hdIFtR
dF0gRFJUOiBTdXBwb3J0IGV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoKSwgc2V0VGltZWxpbmVQcm9m
aWxpbmdFbmFibGVkKCkuCgpTdXBwb3J0IExheW91dFRlc3RDb250cm9sbGVyLmV2YWx1YXRlSW5X
ZWJJbnNwZWN0b3IoKSwgc2V0VGltZWxpbmVQcm9maWxpbmdFbmFibGVkKCkKIGluIFF0IERSVC4K
Cmh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzA5NgoKVGhpcyBhbGxv
d3MgdGhlIGZvbGxvd2luZyB0ZXN0cyB0byBwYXNzOgoKaW5zcGVjdG9yL2NvbnNvbGUtZm9ybWF0
LWNvbGxlY3Rpb25zLmh0bWwKaW5zcGVjdG9yL3N0eWxlcy1pZnJhbWUuaHRtbAppbnNwZWN0b3Iv
c3ludGF4LWhpZ2hsaWdodC1jc3MuaHRtbAppbnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1qYXZh
c2NyaXB0Lmh0bWwKaW5zcGVjdG9yL3RpbWVsaW5lLWVudW0tc3RhYmlsaXR5Lmh0bWwKaW5zcGVj
dG9yL3RpbWVsaW5lLWxheW91dC5odG1sCmluc3BlY3Rvci90aW1lbGluZS1tYXJrLXRpbWVsaW5l
Lmh0bWwKaW5zcGVjdG9yL3RpbWVsaW5lLXBhaW50Lmh0bWwKaW5zcGVjdG9yL3RpbWVsaW5lLXBh
cnNlLWh0bWwuaHRtbAppbnNwZWN0b3IvdGltZWxpbmUtcmVjYWxjdWxhdGUtc3R5bGVzLmh0bWwK
aW5zcGVjdG9yL3RpbWVsaW5lLXNjcmlwdC10YWctMS5odG1sCmluc3BlY3Rvci90aW1lbGluZS1z
Y3JpcHQtdGFnLTIuaHRtbAppbnNwZWN0b3IvdGltZWxpbmUtdHJpdmlhbC5odG1sCmluc3BlY3Rv
ci9jb29raWUtcmVzb3VyY2UtbWF0Y2guaHRtbAppbnNwZWN0b3IvZWxlbWVudHMtaW1nLXRvb2x0
aXAuaHRtbAppbnNwZWN0b3IvZWxlbWVudHMtcGFuZWwtc2VsZWN0aW9uLW9uLXJlZnJlc2guaHRt
bAppbnNwZWN0b3IvaW5zcGVjdGVkLW9iamVjdHMtbm90LW92ZXJyaWRlbi5odG1sCmluc3BlY3Rv
ci90aW1lbGluZS1ldmVudC1kaXNwYXRjaC5odG1sCmluc3BlY3Rvci90aW1lbGluZS1uZXR3b3Jr
LXJlc291cmNlLmh0bWwKaW5zcGVjdG9yL2VsZW1lbnRzLXBhbmVsLXJld3JpdGUtaHJlZi5odG1s
Cmluc3BlY3Rvci9jb25zb2xlLWRpci5odG1sCmluc3BlY3Rvci9jb25zb2xlLWRpcnhtbC5odG1s
Cmluc3BlY3Rvci9jb25zb2xlLWZvcm1hdC5odG1sCmluc3BlY3Rvci9jb25zb2xlLXRlc3RzLmh0
bWwKaW5zcGVjdG9yL2VsZW1lbnRzLXBhbmVsLXN0cnVjdHVyZS5odG1sCmluc3BlY3Rvci9ldmFs
dWF0ZS1pbi1mcm9udGVuZC5odG1sCmluc3BlY3Rvci9jb25zb2xlLWNsZWFyLmh0bWwKLS0tCiBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNDIg
KysrKysrKysrKysrKysrCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkICAgICAgICAg
ICAgICAgICAgICB8ICAgMzYgLS0tLS0tLS0tLS0tLQogV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5j
cHAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDMyICsrKysrKysrKysrKwogV2ViS2l0L3F0
L0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDQ5ICsrKysrKysr
KysrKysrKysrKwogV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmNw
cCAgICAgfCAgIDE1ICsrKy0tCiBXZWJLaXRUb29scy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8ICAgNTQgKysrKysrKysrKysrKysrKysrKysKIFdlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwIHwgICAxMyArKysrKwogV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5oICAgfCAgICAxICsKIC4u
Li9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcCAgIHwgICAyMiAr
KysrKysrLQogLi4uL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaCAg
ICAgfCAgICA0ICstCiAxMCBmaWxlcyBjaGFuZ2VkLCAyMjIgaW5zZXJ0aW9ucygrKSwgNDYgZGVs
ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IGJkYjFiOWYuLmQ2NTYxMjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NSBA
QAorMjAxMC0wMi0xMiAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHJvYmVydGhvZ2FuLm5ldD4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIERSVDog
U3VwcG9ydCBldmFsdWF0ZUluV2ViSW5zcGVjdG9yKCksIHNldFRpbWVsaW5lUHJvZmlsaW5nRW5h
YmxlZCgpLgorCisgICAgICAgIFN1cHBvcnQgTGF5b3V0VGVzdENvbnRyb2xsZXIuZXZhbHVhdGVJ
bldlYkluc3BlY3RvcigpLCBzZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWQoKSBpbiBRdCBEUlQu
CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMzMDk2
CisKKyAgICAgICAgVGhpcyBhbGxvd3MgdGhlIGZvbGxvd2luZyB0ZXN0cyB0byBwYXNzOgorCisg
ICAgICAgIGluc3BlY3Rvci9jb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1sCisgICAgICAg
IGluc3BlY3Rvci9zdHlsZXMtaWZyYW1lLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3N5bnRheC1o
aWdobGlnaHQtY3NzLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQtamF2
YXNjcmlwdC5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1lbnVtLXN0YWJpbGl0eS5o
dG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1sYXlvdXQuaHRtbAorICAgICAgICBpbnNw
ZWN0b3IvdGltZWxpbmUtbWFyay10aW1lbGluZS5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1l
bGluZS1wYWludC5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1wYXJzZS1odG1sLmh0
bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLXJlY2FsY3VsYXRlLXN0eWxlcy5odG1sCisg
ICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1zY3JpcHQtdGFnLTEuaHRtbAorICAgICAgICBpbnNw
ZWN0b3IvdGltZWxpbmUtc2NyaXB0LXRhZy0yLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVs
aW5lLXRyaXZpYWwuaHRtbAorICAgICAgICBpbnNwZWN0b3IvY29va2llLXJlc291cmNlLW1hdGNo
Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2VsZW1lbnRzLWltZy10b29sdGlwLmh0bWwKKyAgICAg
ICAgaW5zcGVjdG9yL2VsZW1lbnRzLXBhbmVsLXNlbGVjdGlvbi1vbi1yZWZyZXNoLmh0bWwKKyAg
ICAgICAgaW5zcGVjdG9yL2luc3BlY3RlZC1vYmplY3RzLW5vdC1vdmVycmlkZW4uaHRtbAorICAg
ICAgICBpbnNwZWN0b3IvdGltZWxpbmUtZXZlbnQtZGlzcGF0Y2guaHRtbAorICAgICAgICBpbnNw
ZWN0b3IvdGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS5odG1sCisgICAgICAgIGluc3BlY3Rvci9l
bGVtZW50cy1wYW5lbC1yZXdyaXRlLWhyZWYuaHRtbAorICAgICAgICBpbnNwZWN0b3IvY29uc29s
ZS1kaXIuaHRtbAorICAgICAgICBpbnNwZWN0b3IvY29uc29sZS1kaXJ4bWwuaHRtbAorICAgICAg
ICBpbnNwZWN0b3IvY29uc29sZS1mb3JtYXQuaHRtbAorICAgICAgICBpbnNwZWN0b3IvY29uc29s
ZS10ZXN0cy5odG1sCisgICAgICAgIGluc3BlY3Rvci9lbGVtZW50cy1wYW5lbC1zdHJ1Y3R1cmUu
aHRtbAorICAgICAgICBpbnNwZWN0b3IvZXZhbHVhdGUtaW4tZnJvbnRlbmQuaHRtbAorICAgICAg
ICBpbnNwZWN0b3IvY29uc29sZS1jbGVhci5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9T
a2lwcGVkOgorCiAyMDEwLTAyLTEyICBPamFuIFZhZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgRGFuIEJlcm5zdGVpbi4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL3F0L1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVk
CmluZGV4IGFkNjE3MTguLmU5NGRlYTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3F0L1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZApAQCAtMTQ4
LDIxICsxNDgsNiBAQCBodHRwL3Rlc3RzL3NlY3VyaXR5L2xvY2FsLXZpZGVvLXNvdXJjZS1mcm9t
LXJlbW90ZS5odG1sCiAjICAgICAgICAgICAgTWlzc2luZyBmZWF0dXJlcyBpbiBvdXIgRHVtcFJl
bmRlclRyZWUgaW1wbGVtZW50YXRpb24gICAgICAgICAgICAgICMKICMgPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0gIwogCi0jIE1pc3NpbmcgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2hvd1dlYkluc3BlY3Rv
cigpCi1pbnNwZWN0b3IvY29uc29sZS1mb3JtYXQtY29sbGVjdGlvbnMuaHRtbAotaW5zcGVjdG9y
L3N0eWxlcy1pZnJhbWUuaHRtbAotaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQtY3NzLmh0bWwK
LWluc3BlY3Rvci9zeW50YXgtaGlnaGxpZ2h0LWphdmFzY3JpcHQuaHRtbAotaW5zcGVjdG9yL3Rp
bWVsaW5lLWVudW0tc3RhYmlsaXR5Lmh0bWwKLWluc3BlY3Rvci90aW1lbGluZS1sYXlvdXQuaHRt
bAotaW5zcGVjdG9yL3RpbWVsaW5lLW1hcmstdGltZWxpbmUuaHRtbAotaW5zcGVjdG9yL3RpbWVs
aW5lLXBhaW50Lmh0bWwKLWluc3BlY3Rvci90aW1lbGluZS1wYXJzZS1odG1sLmh0bWwKLWluc3Bl
Y3Rvci90aW1lbGluZS1yZWNhbGN1bGF0ZS1zdHlsZXMuaHRtbAotaW5zcGVjdG9yL3RpbWVsaW5l
LXNjcmlwdC10YWctMS5odG1sCi1pbnNwZWN0b3IvdGltZWxpbmUtc2NyaXB0LXRhZy0yLmh0bWwK
LWluc3BlY3Rvci90aW1lbGluZS10cml2aWFsLmh0bWwKLQogIyBNaXNzaW5nIHRleHRJbnB1dENv
bnRyb2xsZXIuc2VsZWN0ZWRSYW5nZSgpCiBlZGl0aW5nL3NlbGVjdGlvbi81ODI1MzUwLTEuaHRt
bAogZWRpdGluZy9zZWxlY3Rpb24vNTgyNTM1MC0yLmh0bWwKQEAgLTIyMCwxNyArMjA1LDYgQEAg
aHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvcmVkaXJlY3QtaHR0cHMtdG8taHR0cC1p
ZnJhbWUtaW4tbWFpbi1mcmFtZS5odG0KIAogaHR0cC90ZXN0cy9jYWNoZS9zdWJyZXNvdXJjZS1m
YWlsb3Zlci10by1uZXR3b3JrLmh0bWwKIAotIyBNaXNzaW5nIGxheW91dFRlc3RDb250cm9sbGVy
LmV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoKQotIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MzMwOTYKLWh0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3QtaWZyYW1lLWZy
b20tZGlmZmVyZW50LWRvbWFpbi5odG1sCi1pbnNwZWN0b3IvY29va2llLXJlc291cmNlLW1hdGNo
Lmh0bWwKLWluc3BlY3Rvci9lbGVtZW50cy1pbWctdG9vbHRpcC5odG1sCi1pbnNwZWN0b3IvZWxl
bWVudHMtcGFuZWwtc2VsZWN0aW9uLW9uLXJlZnJlc2guaHRtbAotaW5zcGVjdG9yL2luc3BlY3Rl
ZC1vYmplY3RzLW5vdC1vdmVycmlkZW4uaHRtbAotaW5zcGVjdG9yL3RpbWVsaW5lLWV2ZW50LWRp
c3BhdGNoLmh0bWwKLWluc3BlY3Rvci90aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLmh0bWwKLWlu
c3BlY3Rvci9lbGVtZW50cy1wYW5lbC1yZXdyaXRlLWhyZWYuaHRtbAotCiAjIE1pc3NpbmcgbGF5
b3V0VGVzdENvbnRyb2xsZXIuc2V0U21hcnRJbnNlcnREZWxldGVFbmFibGVkKCkKIGVkaXRpbmcv
c2VsZWN0aW9uL2RvdWJsZWNsaWNrLWJlc2lkZS1jci1zcGFuLmh0bWwKIApAQCAtNDg1NCwxNSAr
NDgyOCw2IEBAIGZhc3QvZG9tL1dpbmRvdy9zbG93LXVubG9hZC1oYW5kbGVyLW9ubHktZnJhbWUt
aXMtc3RvcHBlZC5odG1sCiAjIFRoaXMgcG9ydCBkb2Vzbid0IGhhdmUgYSBnbG9iYWwgaGlzdG9y
eSBkZWxlZ2F0ZSB5ZXQKIGh0dHAvdGVzdHMvZ2xvYmFsaGlzdG9yeQogCi0jIFNraXAgaW5zcGVj
dG9yIHRlc3RzCi1pbnNwZWN0b3IvY29uc29sZS1kaXIuaHRtbAotaW5zcGVjdG9yL2NvbnNvbGUt
ZGlyeG1sLmh0bWwKLWluc3BlY3Rvci9jb25zb2xlLWZvcm1hdC5odG1sCi1pbnNwZWN0b3IvY29u
c29sZS1sb2ctYmVmb3JlLWluc3BlY3Rvci1vcGVuLmh0bWwKLWluc3BlY3Rvci9jb25zb2xlLXRl
c3RzLmh0bWwKLWluc3BlY3Rvci9lbGVtZW50cy1wYW5lbC1zdHJ1Y3R1cmUuaHRtbAotaW5zcGVj
dG9yL2V2YWx1YXRlLWluLWZyb250ZW5kLmh0bWwKLQogIyBTa2lwIHhtbGh0dHByZXF1ZXN0IHRl
c3RzIC0gTkVUV09SS19FUlI6IFhNTEh0dHBSZXF1ZXN0IEV4Y2VwdGlvbiAxMDE6IEEgbmV0d29y
ayBlcnJvciBvY2N1cmVkIGluIHN5bmNocm9ub3VzIHJlcXVlc3RzLgogaHR0cC90ZXN0cy94bWxo
dHRwcmVxdWVzdC9hY2Nlc3MtY29udHJvbC1iYXNpYy1hbGxvdy1wcmVmbGlnaHQtY2FjaGUuaHRt
bAogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9hY2Nlc3MtY29udHJvbC1iYXNpYy1nZXQtZmFp
bC1ub24tc2ltcGxlLmh0bWwKQEAgLTQ5OTIsNyArNDk1Nyw2IEBAIGZhc3QvY3NzL25hbWVzcGFj
ZXMvbmFtZXNwYWNlcy1lbXB0eS54bWwKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTMxNjI2CiBmYXN0L2RvbS9qYXZhc2NyaXB0LXVybC1jcmFzaC1mdW5jdGlvbi5o
dG1sCiBmYXN0L2RvbS9sb2NhdGlvbi1uZXctd2luZG93LW5vLWNyYXNoLmh0bWwKLWluc3BlY3Rv
ci9jb25zb2xlLWNsZWFyLmh0bWwKIGh0dHAvdGVzdHMvc2VjdXJpdHkvamF2YXNjcmlwdFVSTC94
c3MtQUxMT1dFRC1mcm9tLWphdmFzY3JpcHQtdXJsLXdpbmRvdy1vcGVuLmh0bWwKIAogIyBUaGlz
IHRlc3QgcmVxdWlyZXMgb2dnIGNvZGVjcwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9xd2Vi
cGFnZS5jcHAgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAppbmRleCBmNjYxOTE4Li4xODVh
MmVlIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAorKysgYi9XZWJLaXQv
cXQvQXBpL3F3ZWJwYWdlLmNwcApAQCAtMTYxLDYgKzE2MSwzOCBAQCBRU3RyaW5nIFFXRUJLSVRf
RVhQT1JUIHF0X3dlYnBhZ2VfZ3JvdXBOYW1lKFFXZWJQYWdlKiBwYWdlKQogICAgIHJldHVybiBw
YWdlLT5oYW5kbGUoKS0+cGFnZS0+Z3JvdXBOYW1lKCk7CiB9CiAKK3ZvaWQgUVdFQktJVF9FWFBP
UlQgcXRfZHJ0X3dlYmluc3BlY3Rvcl9leGVjdXRlU2NyaXB0KFFXZWJQYWdlKiBwYWdlLCBsb25n
IGNhbGxJZCwgY29uc3QgUVN0cmluZyYgc2NyaXB0KQoreworICAgIGlmICghcGFnZS0+aGFuZGxl
KCktPnBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKSkKKyAgICAgICAgcmV0dXJuOworICAgIHBh
Z2UtPmhhbmRsZSgpLT5wYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPmV2YWx1YXRlRm9yVGVz
dEluRnJvbnRlbmQoY2FsbElkLCBzY3JpcHQpOworfQorCit2b2lkIFFXRUJLSVRfRVhQT1JUIHF0
X2RydF93ZWJpbnNwZWN0b3JfY2xvc2UoUVdlYlBhZ2UqIHBhZ2UpCit7CisgICAgaWYgKCFwYWdl
LT5oYW5kbGUoKS0+cGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpKQorICAgICAgICByZXR1cm47
CisgICAgcGFnZS0+aGFuZGxlKCktPnBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+Y2xvc2Uo
KTsKK30KKwordm9pZCBRV0VCS0lUX0VYUE9SVCBxdF9kcnRfd2ViaW5zcGVjdG9yX3Nob3coUVdl
YlBhZ2UqIHBhZ2UpCit7CisgICAgaWYgKCFwYWdlLT5oYW5kbGUoKS0+cGFnZS0+aW5zcGVjdG9y
Q29udHJvbGxlcigpKQorICAgICAgICByZXR1cm47CisgICAgcGFnZS0+aGFuZGxlKCktPnBhZ2Ut
Pmluc3BlY3RvckNvbnRyb2xsZXIoKS0+c2hvdygpOworfQorCit2b2lkIFFXRUJLSVRfRVhQT1JU
IHF0X2RydF9zZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWQoUVdlYlBhZ2UqIHBhZ2UsIGJvb2wg
ZW5hYmxlZCkKK3sKKyAgICBJbnNwZWN0b3JDb250cm9sbGVyKiBjb250cm9sbGVyID0gcGFnZS0+
aGFuZGxlKCktPnBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKTsKKyAgICBpZiAoIWNvbnRyb2xs
ZXIpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoZW5hYmxlZCkKKyAgICAgICAgY29udHJvbGxl
ci0+c3RhcnRUaW1lbGluZVByb2ZpbGVyKCk7CisgICAgZWxzZQorICAgICAgICBjb250cm9sbGVy
LT5zdG9wVGltZWxpbmVQcm9maWxlcigpOworfQorCiBjbGFzcyBRV2ViUGFnZVdpZGdldENsaWVu
dCA6IHB1YmxpYyBRV2ViUGFnZUNsaWVudCB7CiBwdWJsaWM6CiAgICAgUVdlYlBhZ2VXaWRnZXRD
bGllbnQoUVdpZGdldCogdmlldykKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9X
ZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IGUwZDFiMjguLjhjNWZkZWQgMTAwNjQ0Ci0tLSBhL1dl
YktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDUy
IEBACisyMDEwLTAyLTEyICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAcm9iZXJ0aG9nYW4ubmV0Piwg
Sm9jZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4udHVyY290dGVAbm9raWEuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gRFJUOiBTdXBwb3J0
IGV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoKSwgc2V0VGltZWxpbmVQcm9maWxpbmdFbmFibGVkKCku
CisKKyAgICAgICAgU3VwcG9ydCBMYXlvdXRUZXN0Q29udHJvbGxlci5ldmFsdWF0ZUluV2ViSW5z
cGVjdG9yKCksIHNldFRpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZCgpIGluIFF0IERSVC4KKworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzMwOTYKKworICAg
ICAgICBUaGlzIGFsbG93cyB0aGUgZm9sbG93aW5nIHRlc3RzIHRvIHBhc3M6CisKKyAgICAgICAg
aW5zcGVjdG9yL2NvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWwKKyAgICAgICAgaW5zcGVj
dG9yL3N0eWxlcy1pZnJhbWUuaHRtbAorICAgICAgICBpbnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdo
dC1jc3MuaHRtbAorICAgICAgICBpbnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1qYXZhc2NyaXB0
Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLWVudW0tc3RhYmlsaXR5Lmh0bWwKKyAg
ICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLWxheW91dC5odG1sCisgICAgICAgIGluc3BlY3Rvci90
aW1lbGluZS1tYXJrLXRpbWVsaW5lLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLXBh
aW50Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLXBhcnNlLWh0bWwuaHRtbAorICAg
ICAgICBpbnNwZWN0b3IvdGltZWxpbmUtcmVjYWxjdWxhdGUtc3R5bGVzLmh0bWwKKyAgICAgICAg
aW5zcGVjdG9yL3RpbWVsaW5lLXNjcmlwdC10YWctMS5odG1sCisgICAgICAgIGluc3BlY3Rvci90
aW1lbGluZS1zY3JpcHQtdGFnLTIuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtdHJp
dmlhbC5odG1sCisgICAgICAgIGluc3BlY3Rvci9jb29raWUtcmVzb3VyY2UtbWF0Y2guaHRtbAor
ICAgICAgICBpbnNwZWN0b3IvZWxlbWVudHMtaW1nLXRvb2x0aXAuaHRtbAorICAgICAgICBpbnNw
ZWN0b3IvZWxlbWVudHMtcGFuZWwtc2VsZWN0aW9uLW9uLXJlZnJlc2guaHRtbAorICAgICAgICBp
bnNwZWN0b3IvaW5zcGVjdGVkLW9iamVjdHMtbm90LW92ZXJyaWRlbi5odG1sCisgICAgICAgIGlu
c3BlY3Rvci90aW1lbGluZS1ldmVudC1kaXNwYXRjaC5odG1sCisgICAgICAgIGluc3BlY3Rvci90
aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2VsZW1lbnRz
LXBhbmVsLXJld3JpdGUtaHJlZi5odG1sCisgICAgICAgIGluc3BlY3Rvci9jb25zb2xlLWRpci5o
dG1sCisgICAgICAgIGluc3BlY3Rvci9jb25zb2xlLWRpcnhtbC5odG1sCisgICAgICAgIGluc3Bl
Y3Rvci9jb25zb2xlLWZvcm1hdC5odG1sCisgICAgICAgIGluc3BlY3Rvci9jb25zb2xlLXRlc3Rz
Lmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2VsZW1lbnRzLXBhbmVsLXN0cnVjdHVyZS5odG1sCisg
ICAgICAgIGluc3BlY3Rvci9ldmFsdWF0ZS1pbi1mcm9udGVuZC5odG1sCisgICAgICAgIGluc3Bl
Y3Rvci9jb25zb2xlLWNsZWFyLmh0bWwKKworICAgICAgICAqIEFwaS9xd2VicGFnZS5jcHA6Cisg
ICAgICAgIChxdF9kcnRfd2ViaW5zcGVjdG9yX2V4ZWN1dGVTY3JpcHQpOgorICAgICAgICAocXRf
ZHJ0X3dlYmluc3BlY3Rvcl9jbG9zZSk6CisgICAgICAgIChxdF9kcnRfd2ViaW5zcGVjdG9yX3No
b3cpOgorICAgICAgICAocXRfZHJ0X3NldFRpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZCk6CisKKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5jcHA6CisgICAgICAgIChJ
bnNwZWN0b3JDbGllbnRRdDo6Y3JlYXRlUGFnZSkKKwogMjAxMC0wMi0xMiAgRGllZ28gR29uemFs
ZXogIDxkaWVnby5nb256YWxlekBvcGVuYm9zc2Eub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmNwcCBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9y
dC9JbnNwZWN0b3JDbGllbnRRdC5jcHAKaW5kZXggNDkyN2VhOC4uNWYzNDNmZiAxMDA2NDQKLS0t
IGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmNwcAorKysgYi9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50UXQuY3BwCkBAIC04MywxNiAr
ODMsMTkgQEAgdm9pZCBJbnNwZWN0b3JDbGllbnRRdDo6aW5zcGVjdG9yRGVzdHJveWVkKCkKIAog
UGFnZSogSW5zcGVjdG9yQ2xpZW50UXQ6OmNyZWF0ZVBhZ2UoKQogewotICAgIFFXZWJWaWV3KiBp
bnNwZWN0b3JWaWV3ID0gbmV3IFFXZWJWaWV3OwotICAgIEluc3BlY3RvckNsaWVudFdlYlBhZ2Uq
IGluc3BlY3RvclBhZ2UgPSBuZXcgSW5zcGVjdG9yQ2xpZW50V2ViUGFnZShpbnNwZWN0b3JWaWV3
KTsKLSAgICBpbnNwZWN0b3JWaWV3LT5zZXRQYWdlKGluc3BlY3RvclBhZ2UpOwotICAgIG1faW5z
cGVjdG9yVmlldy5zZXQoaW5zcGVjdG9yVmlldyk7CisgICAgUVdlYlZpZXcqIGluc3BlY3RvclZp
ZXcgPSBtX2luc3BlY3RvclZpZXcuZ2V0KCk7CisgICAgaWYgKCFpbnNwZWN0b3JWaWV3KSB7Cisg
ICAgICAgIGluc3BlY3RvclZpZXcgPSBuZXcgUVdlYlZpZXc7CisgICAgICAgIEluc3BlY3RvckNs
aWVudFdlYlBhZ2UqIGluc3BlY3RvclBhZ2UgPSBuZXcgSW5zcGVjdG9yQ2xpZW50V2ViUGFnZShp
bnNwZWN0b3JWaWV3KTsKKyAgICAgICAgaW5zcGVjdG9yVmlldy0+c2V0UGFnZShpbnNwZWN0b3JQ
YWdlKTsKKyAgICAgICAgbV9pbnNwZWN0b3JWaWV3LnNldChpbnNwZWN0b3JWaWV3KTsKKyAgICB9
CiAKLSAgICBpbnNwZWN0b3JQYWdlLT5tYWluRnJhbWUoKS0+bG9hZChRU3RyaW5nOjpmcm9tTGF0
aW4xKCJxcmM6L3dlYmtpdC9pbnNwZWN0b3IvaW5zcGVjdG9yLmh0bWwiKSk7CisgICAgaW5zcGVj
dG9yVmlldy0+cGFnZSgpLT5tYWluRnJhbWUoKS0+bG9hZChRU3RyaW5nOjpmcm9tTGF0aW4xKCJx
cmM6L3dlYmtpdC9pbnNwZWN0b3IvaW5zcGVjdG9yLmh0bWwiKSk7CiAgICAgbV9pbnNwZWN0ZWRX
ZWJQYWdlLT5kLT5pbnNwZWN0b3JGcm9udGVuZCA9IGluc3BlY3RvclZpZXc7CiAgICAgbV9pbnNw
ZWN0ZWRXZWJQYWdlLT5kLT5nZXRPckNyZWF0ZUluc3BlY3RvcigpLT5kLT5zZXRGcm9udGVuZChp
bnNwZWN0b3JWaWV3KTsKIAotICAgIHJldHVybiBtX2luc3BlY3RvclZpZXctPnBhZ2UoKS0+ZC0+
cGFnZTsKKyAgICByZXR1cm4gaW5zcGVjdG9yVmlldy0+cGFnZSgpLT5kLT5wYWdlOwogfQogCiBT
dHJpbmcgSW5zcGVjdG9yQ2xpZW50UXQ6OmxvY2FsaXplZFN0cmluZ3NVUkwoKQpkaWZmIC0tZ2l0
IGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDFk
Y2NlZjQuLjE4MGIxOGYgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9X
ZWJLaXRUb29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1NyBAQAorMjAxMC0wMi0xMiAgUm9iZXJ0
IEhvZ2FuICA8cm9iZXJ0QHJvYmVydGhvZ2FuLm5ldD4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIERSVDogU3VwcG9ydCBldmFsdWF0ZUluV2Vi
SW5zcGVjdG9yKCksIHNldFRpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZCgpLgorCisgICAgICAgIFN1
cHBvcnQgTGF5b3V0VGVzdENvbnRyb2xsZXIuZXZhbHVhdGVJbldlYkluc3BlY3RvcigpLCBzZXRU
aW1lbGluZVByb2ZpbGluZ0VuYWJsZWQoKSBpbiBRdCBEUlQuCisKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMzMDk2CisKKyAgICAgICAgVGhpcyBhbGxv
d3MgdGhlIGZvbGxvd2luZyB0ZXN0cyB0byBwYXNzOgorCisgICAgICAgIGluc3BlY3Rvci9jb25z
b2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1sCisgICAgICAgIGluc3BlY3Rvci9zdHlsZXMtaWZy
YW1lLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQtY3NzLmh0bWwKKyAg
ICAgICAgaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQtamF2YXNjcmlwdC5odG1sCisgICAgICAg
IGluc3BlY3Rvci90aW1lbGluZS1lbnVtLXN0YWJpbGl0eS5odG1sCisgICAgICAgIGluc3BlY3Rv
ci90aW1lbGluZS1sYXlvdXQuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtbWFyay10
aW1lbGluZS5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS1wYWludC5odG1sCisgICAg
ICAgIGluc3BlY3Rvci90aW1lbGluZS1wYXJzZS1odG1sLmh0bWwKKyAgICAgICAgaW5zcGVjdG9y
L3RpbWVsaW5lLXJlY2FsY3VsYXRlLXN0eWxlcy5odG1sCisgICAgICAgIGluc3BlY3Rvci90aW1l
bGluZS1zY3JpcHQtdGFnLTEuaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtc2NyaXB0
LXRhZy0yLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lLXRyaXZpYWwuaHRtbAorICAg
ICAgICBpbnNwZWN0b3IvY29va2llLXJlc291cmNlLW1hdGNoLmh0bWwKKyAgICAgICAgaW5zcGVj
dG9yL2VsZW1lbnRzLWltZy10b29sdGlwLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2VsZW1lbnRz
LXBhbmVsLXNlbGVjdGlvbi1vbi1yZWZyZXNoLmh0bWwKKyAgICAgICAgaW5zcGVjdG9yL2luc3Bl
Y3RlZC1vYmplY3RzLW5vdC1vdmVycmlkZW4uaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxp
bmUtZXZlbnQtZGlzcGF0Y2guaHRtbAorICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUtbmV0d29y
ay1yZXNvdXJjZS5odG1sCisgICAgICAgIGluc3BlY3Rvci9lbGVtZW50cy1wYW5lbC1yZXdyaXRl
LWhyZWYuaHRtbAorICAgICAgICBpbnNwZWN0b3IvY29uc29sZS1kaXIuaHRtbAorICAgICAgICBp
bnNwZWN0b3IvY29uc29sZS1kaXJ4bWwuaHRtbAorICAgICAgICBpbnNwZWN0b3IvY29uc29sZS1m
b3JtYXQuaHRtbAorICAgICAgICBpbnNwZWN0b3IvY29uc29sZS10ZXN0cy5odG1sCisgICAgICAg
IGluc3BlY3Rvci9lbGVtZW50cy1wYW5lbC1zdHJ1Y3R1cmUuaHRtbAorICAgICAgICBpbnNwZWN0
b3IvZXZhbHVhdGUtaW4tZnJvbnRlbmQuaHRtbAorICAgICAgICBpbnNwZWN0b3IvY29uc29sZS1j
bGVhci5odG1sCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkR1bXBSZW5kZXJUcmVlOjpyZXNldFRvQ29uc2lzdGVu
dFN0YXRlQmVmb3JlVGVzdGluZyk6CisgICAgICAgIChXZWJDb3JlOjppc1dlYkluc3BlY3RvclRl
c3QpOgorICAgICAgICAoV2ViQ29yZTo6RHVtcFJlbmRlclRyZWU6Om9wZW4pOgorICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuaDoKKyAgICAgICAgKFdlYkNvcmU6
OkR1bXBSZW5kZXJUcmVlOjpkaXNwbGF5KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9M
YXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVy
OjpjbG9zZVdlYkluc3BlY3Rvcik6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2hv
d1dlYkluc3BlY3Rvcik6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZXZhbHVhdGVJ
bldlYkluc3BlY3Rvcik6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0VGltZWxp
bmVQcm9maWxpbmdFbmFibGVkKToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpkaXNw
bGF5KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0
Lmg6CisKIDIwMTAtMDItMTIgIENoYW5nIFNodSAgPENoYW5nLlNodUBub2tpYS5jb20+CiAKICAg
ICAgICAgTm90IFJldmlld2VkLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9x
dC9EdW1wUmVuZGVyVHJlZVF0LmNwcAppbmRleCBjMTZhNzg2Li4wZTBjM2IwIDEwMDY0NAotLS0g
YS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcAorKysg
Yi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcApAQCAt
NDEyLDEwICs0MTIsMjMgQEAgdm9pZCBEdW1wUmVuZGVyVHJlZTo6cmVzZXRUb0NvbnNpc3RlbnRT
dGF0ZUJlZm9yZVRlc3RpbmcoKQogICAgIHNldGxvY2FsZShMQ19BTEwsICIiKTsKIH0KIAorc3Rh
dGljIGJvb2wgaXNXZWJJbnNwZWN0b3JUZXN0KGNvbnN0IFFVcmwmIHVybCkKK3sKKyAgICBpZiAo
dXJsLnBhdGgoKS5jb250YWlucygiaW5zcGVjdG9yLyIpKQorICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICByZXR1cm4gZmFsc2U7Cit9CisKIHZvaWQgRHVtcFJlbmRlclRyZWU6Om9wZW4oY29uc3Qg
UVVybCYgdXJsKQogewogICAgIHJlc2V0VG9Db25zaXN0ZW50U3RhdGVCZWZvcmVUZXN0aW5nKCk7
CiAKKyAgICBpZiAoaXNXZWJJbnNwZWN0b3JUZXN0KG1fcGFnZS0+bWFpbkZyYW1lKCktPnVybCgp
KSkKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+Y2xvc2VXZWJJbnNwZWN0b3IoKTsK
KworICAgIGlmIChpc1dlYkluc3BlY3RvclRlc3QodXJsKSkKKyAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIoKS0+c2hvd1dlYkluc3BlY3RvcigpOworCiAgICAgLy8gVzNDIFNWRyB0ZXN0cyBl
eHBlY3QgdG8gYmUgNDgweDM2MAogICAgIGJvb2wgaXNXM0NUZXN0ID0gdXJsLnRvU3RyaW5nKCku
Y29udGFpbnMoInN2Zy9XM0MtU1ZHLTEuMSIpOwogICAgIGludCB3aWR0aCA9IGlzVzNDVGVzdCA/
IDQ4MCA6IG1heFZpZXdXaWR0aDsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0
L0R1bXBSZW5kZXJUcmVlUXQuaAppbmRleCAwMGQ3YWU0Li44ZDgwZjg3IDEwMDY0NAotLS0gYS9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmgKKysrIGIvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5oCkBAIC0xNTgsNiAr
MTU4LDcgQEAgcHVibGljOgogICAgIFdlYlBhZ2UoUU9iamVjdCogcGFyZW50LCBEdW1wUmVuZGVy
VHJlZSopOwogICAgIHZpcnR1YWwgfldlYlBhZ2UoKTsKICAgICBRV2ViSW5zcGVjdG9yKiB3ZWJJ
bnNwZWN0b3IoKTsKKyAgICB2b2lkIGNsb3NlV2ViSW5zcGVjdG9yKCk7CiAKICAgICBRV2ViUGFn
ZSAqY3JlYXRlV2luZG93KFFXZWJQYWdlOjpXZWJXaW5kb3dUeXBlKTsKIApkaWZmIC0tZ2l0IGEv
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAg
Yi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNw
cAppbmRleCA1MWMxMTgxLi5hYzEzYWZlIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcAorKysgYi9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcApAQCAtNDEsNiArNDEs
NyBAQCBleHRlcm4gdm9pZCBxdF9kdW1wX2ZyYW1lX2xvYWRlcihib29sIGIpOwogZXh0ZXJuIHZv
aWQgcXRfZHVtcF9yZXNvdXJjZV9sb2FkX2NhbGxiYWNrcyhib29sIGIpOwogZXh0ZXJuIHZvaWQg
cXRfZHJ0X3NldEZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQoUVdlYlBhZ2UqLCBib29sKTsKIGV4
dGVybiB2b2lkIHF0X2RydF9zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZChRV2ViRnJhbWUq
LCBib29sIGVuYWJsZWQpOworZXh0ZXJuIHZvaWQgcXRfZHJ0X3NldFRpbWVsaW5lUHJvZmlsaW5n
RW5hYmxlZChRV2ViUGFnZSosIGJvb2wgZW5hYmxlZCk7CiBleHRlcm4gYm9vbCBxdF9kcnRfcGF1
c2VBbmltYXRpb24oUVdlYkZyYW1lKiwgY29uc3QgUVN0cmluZyYgbmFtZSwgZG91YmxlIHRpbWUs
IGNvbnN0IFFTdHJpbmcmIGVsZW1lbnRJZCk7CiBleHRlcm4gYm9vbCBxdF9kcnRfcGF1c2VUcmFu
c2l0aW9uT2ZQcm9wZXJ0eShRV2ViRnJhbWUqLCBjb25zdCBRU3RyaW5nJiBuYW1lLCBkb3VibGUg
dGltZSwgY29uc3QgUVN0cmluZyYgZWxlbWVudElkKTsKIGV4dGVybiBib29sIHF0X2RydF9wYXVz
ZVNWR0FuaW1hdGlvbihRV2ViRnJhbWUqLCBjb25zdCBRU3RyaW5nJiBhbmltYXRpb25JZCwgZG91
YmxlIHRpbWUsIGNvbnN0IFFTdHJpbmcmIGVsZW1lbnRJZCk7CkBAIC01MSw2ICs1Miw5IEBAIGV4
dGVybiB2b2lkIHF0X2RydF93aGl0ZUxpc3RBY2Nlc3NGcm9tT3JpZ2luKGNvbnN0IFFTdHJpbmcm
IHNvdXJjZU9yaWdpbiwgY29uc3QKIGV4dGVybiBRU3RyaW5nIHF0X2RydF9jb3VudGVyVmFsdWVG
b3JFbGVtZW50QnlJZChRV2ViRnJhbWUqIHFGcmFtZSwgY29uc3QgUVN0cmluZyYgaWQpOwogZXh0
ZXJuIGludCBxdF9kcnRfd29ya2VyVGhyZWFkQ291bnQoKTsKIGV4dGVybiBpbnQgcXRfZHJ0X3Bh
Z2VOdW1iZXJGb3JFbGVtZW50QnlJZChRV2ViRnJhbWUqIHFGcmFtZSwgY29uc3QgUVN0cmluZyYg
aWQsIGZsb2F0IHdpZHRoLCBmbG9hdCBoZWlnaHQpOworZXh0ZXJuIHZvaWQgcXRfZHJ0X3dlYmlu
c3BlY3Rvcl9leGVjdXRlU2NyaXB0KFFXZWJQYWdlKiBwYWdlLCBsb25nIGNhbGxJZCwgY29uc3Qg
UVN0cmluZyYgc2NyaXB0KTsKK2V4dGVybiB2b2lkIHF0X2RydF93ZWJpbnNwZWN0b3Jfc2hvdyhR
V2ViUGFnZSAqcGFnZSk7CitleHRlcm4gdm9pZCBxdF9kcnRfd2ViaW5zcGVjdG9yX2Nsb3NlKFFX
ZWJQYWdlICpwYWdlKTsKIAogTGF5b3V0VGVzdENvbnRyb2xsZXI6OkxheW91dFRlc3RDb250cm9s
bGVyKFdlYkNvcmU6OkR1bXBSZW5kZXJUcmVlKiBkcnQpCiAgICAgOiBRT2JqZWN0KCkKQEAgLTI4
NSwxNSArMjg5LDIyIEBAIFFTdHJpbmcgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmRlY29kZUhvc3RO
YW1lKGNvbnN0IFFTdHJpbmcmIGhvc3QpCiAgICAgcmV0dXJuIGRlY29kZWQ7CiB9CiAKKwordm9p
ZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6Y2xvc2VXZWJJbnNwZWN0b3IoKQoreworICAgIHF0X2Ry
dF93ZWJpbnNwZWN0b3JfY2xvc2UobV9kcnQtPndlYlBhZ2UoKSk7CisgICAgbV9kcnQtPndlYlBh
Z2UoKS0+c2V0dGluZ3MoKS0+c2V0QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6RGV2ZWxvcGVyRXh0
cmFzRW5hYmxlZCwgZmFsc2UpOworfQorCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzaG93
V2ViSW5zcGVjdG9yKCkKIHsKICAgICBtX2RydC0+d2ViUGFnZSgpLT5zZXR0aW5ncygpLT5zZXRB
dHRyaWJ1dGUoUVdlYlNldHRpbmdzOjpEZXZlbG9wZXJFeHRyYXNFbmFibGVkLCB0cnVlKTsKLSAg
ICBtX2RydC0+d2ViUGFnZSgpLT53ZWJJbnNwZWN0b3IoKS0+c2hvdygpOworICAgIHF0X2RydF93
ZWJpbnNwZWN0b3Jfc2hvdyhtX2RydC0+d2ViUGFnZSgpKTsKIH0KIAotdm9pZCBMYXlvdXRUZXN0
Q29udHJvbGxlcjo6aGlkZVdlYkluc3BlY3RvcigpCit2b2lkIExheW91dFRlc3RDb250cm9sbGVy
OjpldmFsdWF0ZUluV2ViSW5zcGVjdG9yKGxvbmcgY2FsbElkLCBjb25zdCBRU3RyaW5nJiBzY3Jp
cHQpCiB7Ci0gICAgbV9kcnQtPndlYlBhZ2UoKS0+d2ViSW5zcGVjdG9yKCktPmhpZGUoKTsKKyAg
ICBxdF9kcnRfd2ViaW5zcGVjdG9yX2V4ZWN1dGVTY3JpcHQobV9kcnQtPndlYlBhZ2UoKSwgY2Fs
bElkLCBzY3JpcHQpOwogfQogCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRGcmFtZVNl
dEZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKQEAgLTMxMiw2ICszMjMsMTEgQEAgdm9p
ZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQoYm9v
bCBlbmFibGUpCiAgICAgcXRfZHJ0X3NldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKG1fdG9w
TG9hZGluZ0ZyYW1lLCBlbmFibGUpOwogfQogCit2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpz
ZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWQoYm9vbCBlbmFibGUpCit7CisgICAgcXRfZHJ0X3Nl
dFRpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZChtX2RydC0+d2ViUGFnZSgpLCBlbmFibGUpOworfQor
CiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRGaXhlZENvbnRlbnRzU2l6ZShpbnQgd2lk
dGgsIGludCBoZWlnaHQpCiB7CiAgICAgbV90b3BMb2FkaW5nRnJhbWUtPnBhZ2UoKS0+c2V0UHJl
ZmVycmVkQ29udGVudHNTaXplKFFTaXplKHdpZHRoLCBoZWlnaHQpKTsKZGlmZiAtLWdpdCBhL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaCBiL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaAppbmRl
eCA2NGNiY2M5Li4xOGQwNjQ4IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oCkBAIC0xMTUsMTEgKzExNSwxMyBAQCBw
dWJsaWMgc2xvdHM6CiAgICAgUVN0cmluZyBkZWNvZGVIb3N0TmFtZShjb25zdCBRU3RyaW5nJiBo
b3N0KTsKICAgICB2b2lkIGR1bXBTZWxlY3Rpb25SZWN0KCkgY29uc3Qge30KICAgICB2b2lkIHNo
b3dXZWJJbnNwZWN0b3IoKTsKLSAgICB2b2lkIGhpZGVXZWJJbnNwZWN0b3IoKTsKKyAgICB2b2lk
IGNsb3NlV2ViSW5zcGVjdG9yKCk7CisgICAgdm9pZCBldmFsdWF0ZUluV2ViSW5zcGVjdG9yKGxv
bmcgY2FsbElkLCBjb25zdCBRU3RyaW5nJiBzY3JpcHQpOwogCiAgICAgdm9pZCBzZXRGcmFtZVNl
dEZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5hYmxlKTsKICAgICB2b2lkIHNldEFsbG93VW5pdmVy
c2FsQWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wgZW5hYmxlKTsKICAgICB2b2lkIHNldEphdmFTY3Jp
cHRQcm9maWxpbmdFbmFibGVkKGJvb2wgZW5hYmxlKTsKKyAgICB2b2lkIHNldFRpbWVsaW5lUHJv
ZmlsaW5nRW5hYmxlZChib29sIGVuYWJsZSk7CiAgICAgdm9pZCBzZXRGaXhlZENvbnRlbnRzU2l6
ZShpbnQgd2lkdGgsIGludCBoZWlnaHQpOwogICAgIHZvaWQgc2V0UHJpdmF0ZUJyb3dzaW5nRW5h
YmxlZChib29sIGVuYWJsZSk7CiAgICAgdm9pZCBzZXRQb3B1cEJsb2NraW5nRW5hYmxlZChib29s
IGVuYWJsZSk7Ci0tIAoxLjYuMy4zCgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>